PrestaShop Administratie & productiviteit

Dode Links Checker PrestaShop 8 & 9 – Gebroken Links & Ontbrekende Afbeeldingen

Vind dode links en gebroken afbeeldingen voor uw klanten dat doen

De module doorloopt de productbeschrijvingen, categorieen, CMS-pagina's, merken, leveranciers en winkels, extraheert elke link en elke afbeelding en controleert vervolgens hun HTTP-code. Hij controleert ook de fysieke aanwezigheid van de afbeeldingsbestanden op de schijf, iets wat de front-end nooit meldt. Compatibel met PrestaShop 8 en 9, multistore, 5 talen.

At a glance
  • Links en afbeeldingen geanalyseerd in producten, categorieen, CMS-pagina's, merken, leveranciers en winkels
  • Parallelle HTTP-controle via curl_multi, eerst HEAD en dan GET wanneer de externe server HEAD weigert
  • Schijfcontrole van afbeeldingsbestanden van producten, categorieen, merken, leveranciers en bijlagen
  • Batchscan aangestuurd via AJAX: geen PHP-timeout, een onderbroken scan herneemt waar hij stopte
  • Elke gebroken URL is gekoppeld aan de content die hem gebruikt, met directe bewerkknop
PrestaShop 8 & 9 PHP 7.4+ Multistore 5 talen Zonder Composer
  • 30 dagen geld terug
  • 12 maanden updates
  • Support binnen 24 uur
www.datafirefly.com/nl/
Rapport de liens morts et d'images manquantes dans le back-office PrestaShop
v1.0.0 · bijgewerkt 2026-07-27
Wat het doet

De korte versie.

01

Twee soorten breuken, twee methodes

Links en afbeeldingen die 404, 410 of 500 antwoorden of een time-out geven worden gedetecteerd via een HTTP-verzoek. Afbeeldingsbestanden die in de database staan maar op de schijf ontbreken worden gedetecteerd door het bestandssysteem te lezen: de front-end toont ze als gebroken afbeelding zonder ooit een bruikbare fout terug te geven.

02

Parallelle HTTP-controle

curl_multi bevraagt meerdere URL's tegelijk, eerst met HEAD, dan met GET wanneer de externe server de HEAD-methode weigert. Gelijktijdige verzoeken, wachttijd, verbindingstijd en user-agent zijn instelbaar.

03

Batchscan, zonder timeout

De scan vordert in blokken van enkele seconden aangestuurd via AJAX, met een cursor die in de database wordt opgeslagen. Een catalogus van tienduizenden URL's passeert zonder aan max_execution_time te raken, en een onderbroken scan herneemt waar hij stopte.

04

Van gebroken URL naar te corrigeren content

Elke URL is gekoppeld aan de lijst van content die hem gebruikt: brontype, naam van het element, betrokken veld, taal en ankertekst. Een knop opent rechtstreeks de productpagina, de categorie of de CMS-pagina in bewerkmodus.

05

Deduplicatie van URL's

Een URL die 400 keer in de catalogus voorkomt wordt maar een keer getest, terwijl de 400 locaties vermeld blijven. Een footerlink die overal is gekopieerd laat de scanduur niet exploderen.

06

Uitsluitingslijst

Gewone tekst, wildcards of reguliere expressies, een patroon per regel. Partnerdomeinen die bots blokkeren, staging-URL's en links in migratie verdwijnen uit de resultaten.

De lange versie

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.

§ 01

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.

§ 02

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.

§ 03

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.

§ 04

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.

§ 05

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.

§ 06

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.

§ 07

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.

§ 08

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.