Skip to content

Leagă linkurile din blog de catalogul acestui magazin

Vitalie requested to merge 6_hyperhub-dead-links into main

Cele 72 de articole au fost importate de pe magazinul original împreună cu adresele de acolo, care nu există aici: 376 de linkuri în 61 din cele 72 de articole, în toate cele trei limbi. Un cititor care dădea click pe produsul despre care tocmai citise ajungea nicăieri, exact în punctul în care interesul era cel mai mare.

Ce s-a schimbat

Cele 28 de adrese moarte au fost extrase din datele reale, iar fiecare înlocuitor a fost verificat că răspunde 200 pe magazinul live. Maparea e cu potriviri exacte, nu cu tipare — un regex peste HTML scris de mână e exact locul unde o rescriere strică pe tăcute o adresă la care nu s-a uitat nimeni.

ce era unde duce acum
/get-hypervolt/, /get-normatec/, /get-venom/, /get-hyperice-x/ colecția corespunzătoare
/get-vyper/, /get-hypersphere/ /products/vyper-3, /products/hypersphere-go
/products/?product-type=X /collections/X
hypervolt-2-pro, hypervolt-2-black, hypervolt-go-2 generația care le-a înlocuit
hyperice-knee, hyperice-x-shoulder, hypersphere, heated-head-attachment produsul actual echivalent
/blog/<articol>/products/<handle>/ /products/<handle>
/blog/treatment/how-to-improve-circulation-in-leg/ articolul cu același subiect de aici

De ce e nevoie și de un script

Repararea fișierelor sursă ar ajuta doar o bază de date nouă: import-hyperhub.ts refuză intenționat să suprascrie un tabel care are deja rânduri, tocmai ca să nu calce peste editările din panou. Așa că aceeași mapare alimentează prisma/fix-hyperhub-links.ts, legat de ambele joburi de seed.

Scriptul nu atinge nimic în afară de valoarea unui href deja știut ca mort — textul rescris de cineva din panou rămâne exact cum a fost lăsat. Rulat pe baza locală: 376 reparate în 61 de articole la prima rulare, 0 la a doua, „72 already clean". Verificat și că imaginea containerului conține ce importă scriptul.

Verificare

Șase teste noi în backend/tests/hyperhub-links.test.ts care păzesc datele, nu doar funcția: că niciun href din articole nu mai e o adresă moartă, că nu mai există nicio formă /get-, ?product-type= sau /blog/, că fiecare înlocuitor duce la un produs, o colecție sau un articol care chiar există în catalog, și că o a doua rulare nu schimbă nimic.

Backend 417 teste în 26 de fișiere, frontend 158 în 19; build-uri și typecheck curate.

Closes #6 (closed)

Merge request reports