Alles wat u wilt weten voordat u installeert.
Een gedetailleerde blik op hoe Dode Links Checker PrestaShop 8 & 9 - Gebroken Links & Ontbrekende Afbeeldingen werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.
Een dode link kost twee keer
Hij kost een eerste keer in SEO: Google volgt de links in uw beschrijvingen, en een productbeschrijving die naar drie 404's wijst stuurt een signaal van verwaarloosde content. Hij kost een tweede keer in conversie, wanneer een klant vanuit een productpagina op de maattabel klikt en op een foutpagina belandt op precies het moment dat hij twijfelde. Het probleem is dat die links niet breken op de dag dat u ze schrijft. Ze breken zes maanden later, wanneer een partner zijn site vernieuwt of een CMS-pagina wordt hernoemd, en niemand merkt het.
Twee aparte problemen, twee detectiemethodes
Een dode link wordt gedetecteerd via een HTTP-verzoek: de module roept de URL aan en leest de retourcode. Een ontbrekend afbeeldingsbestand laat zich zo niet detecteren. Wanneer een productafbeelding in de tabel image staat maar het bestand uit de map img/p is verdwenen, kan het HTTP-verzoek prima een vervangpagina met code 200 teruggeven. De module leest daarom rechtstreeks het bestandssysteem voor elke afbeelding van producten, categorieen, merken, leveranciers en winkels, evenals voor de bijlagen. Het is de enige manier om de afbeeldingen te vinden die als leeg vierkant verschijnen zonder dat er iets in de logs opduikt.
Wat de module in uw catalogus leest
Beschrijvingen en korte beschrijvingen van producten, beschikbaarheidsberichten, beschrijvingen van categorieen en CMS-categorieen, inhoud van CMS-pagina's, beschrijvingen van merken, leveranciers en winkels, en de footerlinkblokken beheerd door ps_linklist. In elk van die velden extraheert hij de a href-links, de img src-afbeeldingen met hun lazy loading-varianten en srcsets, evenals de tags source, video, audio, iframe, embed, object, link en script, en de achtergrondafbeeldingen in inline style. Mailto, tel, losse ankers en data-URI's worden meteen uitgesloten, net als resten van Smarty of shortcodes die soms in een gekopieerde beschrijving rondslingeren.
Hoe de scan een grote catalogus aankan
De scan verloopt in twee fasen. De verzameling doorloopt de content en extraheert de URL's. De verificatie bevraagt ze. Elke fase vordert in blokken van enkele seconden aangestuurd via AJAX vanuit de browser, met een cursor die na elk blok in de database wordt opgeslagen. Niets hangt af van max_execution_time, en het tabblad onderweg sluiten doet het reeds gedane werk niet verloren gaan. Twee optimalisaties doen de rest: de URL's worden gededupliceerd via vingerafdruk voor de duur van de scan, dus een URL die 400 keer voorkomt wordt maar een keer getest, en lokale URL's die naar een statisch bestand op de schijf wijzen worden gevalideerd door het bestandssysteem te lezen, zonder enig netwerkverzoek.
Van resultaat naar correctie
Een op ernst gesorteerde resultatentabel toont elke URL met status, HTTP-code, foutmelding, eventueel redirectdoel en aantal gebruiken. Een regel openen toont de lijst van locaties: het brontype, de naam van het element, het betrokken veld, de taal en de ankertekst. Elke locatie heeft een bewerkknop die de productpagina, de categorie of de CMS-pagina op de juiste plek opent. U kunt ook een losse URL opnieuw controleren na correctie, zonder de volledige scan opnieuw te starten.
Wat de statussen betekenen
Een geldige status dekt de 2xx-antwoorden en de lokale bestanden die op de schijf aanwezig zijn. Een waarschuwing dekt de redirects, de codes 401 en 403, en de 429's van rate limiting: de resource bestaat, maar iets verdient een blik. Een dode status dekt de 404's, 410's, de andere 4xx, de 5xx, de time-outs, de DNS-fouten en de geweigerde verbindingen. De statussen genegeerd en niet getest komen overeen met uw uitsluitingen en met de URL-categorieen die u in de instellingen hebt uitgeschakeld.
Uitsluiten wat niet hoort op te duiken
Veel domeinen antwoorden 403 aan bots zonder dat de link daarom gebroken is, met name achter een applicatiefirewall. De module classificeert die al als waarschuwing in plaats van dode link, maar u kunt verder gaan met een uitsluitingslijst: een patroon per regel, in gewone tekst voor een match op een substring, met wildcards, of als reguliere expressie met een prefix. Een URL kan ook met een klik vanuit de tabel genegeerd worden, waardoor hij uit de resultaten van volgende scans verdwijnt.
Installatie en deinstallatie
Geen externe afhankelijkheden, geen Composer, geen themawijziging. Upload de ZIP via de modulebeheerder en installeer: er worden vier tabellen aangemaakt en een tabblad verschijnt onder Catalogus. De module voegt geen enkele front-hook toe en raakt de weergave van de shop niet, hij werkt alleen vanuit de backoffice. Bij deinstallatie worden de vier tabellen, het tabblad en de configuratie verwijderd.
There are no reviews yet.