Alles, was Sie vor der Installation wissen wollen.
Ein detaillierter Blick darauf, wie Broken-Link-Checker PrestaShop 8 & 9 — Defekte Links & Fehlende Bilder funktioniert, warum wir es so gebaut haben und der Gedanke hinter den Funktionen oben.
Ein defekter Link kostet doppelt
Er kostet zuerst im Ranking: Google folgt den Links in Ihren Beschreibungen, und eine Produktbeschreibung, die auf drei 404er zeigt, sendet das Signal vernachlässigter Inhalte. Er kostet ein zweites Mal bei der Conversion, wenn ein Kunde auf der Produktseite die Größentabelle anklickt und genau in dem Moment auf einer Fehlerseite landet, in dem er noch zögerte. Das Problem ist, dass diese Links nicht an dem Tag brechen, an dem Sie sie schreiben. Sie brechen ein halbes Jahr später, wenn ein Partner seine Website neu baut oder eine CMS-Seite umbenannt wird, und niemand merkt es.
Zwei verschiedene Probleme, zwei Erkennungsmethoden
Ein defekter Link wird per HTTP-Anfrage erkannt: das Modul ruft die URL auf und liest den Statuscode. Eine fehlende Bilddatei lässt sich so nicht finden. Wenn ein Produktbild in der Tabelle image referenziert ist, die Datei aber aus dem Ordner img/p verschwunden ist, kann die HTTP-Anfrage durchaus eine Platzhalterseite mit 200 zurückgeben. Deshalb liest das Modul das Dateisystem direkt aus, für jedes Produkt-, Kategorie-, Marken-, Lieferanten- und Filialbild sowie für die Produktanhänge. Nur so findet man die Bilder, die als leeres Rechteck erscheinen, ohne dass irgendetwas in den Logs auftaucht.
Was das Modul in Ihrem Katalog liest
Produktbeschreibungen und Kurzbeschreibungen, Verfügbarkeitsmeldungen, Beschreibungen von Kategorien und CMS-Kategorien, Inhalt von CMS-Seiten, Beschreibungen von Marken, Lieferanten und Filialen sowie die von ps_linklist verwalteten Footer-Linkblöcke. In jedem dieser Felder extrahiert es a href Links, img src Bilder mit ihren Lazy-Loading-Varianten und srcsets, dazu die Tags source, video, audio, iframe, embed, object, link und script sowie Hintergrundbilder aus Inline-Styles. Mailto, tel, bloße Anker und Data-URIs werden von vornherein aussortiert, ebenso wie Smarty- oder Shortcode-Reste, die manchmal in einer kopierten Beschreibung überleben.
Wie der Scan einen großen Katalog verträgt
Der Scan läuft in zwei Phasen. Die Sammlung durchläuft die Inhalte und extrahiert die URLs. Die Prüfung fragt sie ab. Jede Phase läuft in Abschnitten von wenigen Sekunden, per AJAX aus dem Browser gesteuert, mit einem nach jedem Abschnitt in der Datenbank gespeicherten Cursor. Nichts hängt von max_execution_time ab, und wer den Tab zwischendurch schließt, verliert die bereits geleistete Arbeit nicht. Zwei Optimierungen erledigen den Rest: URLs werden für die Dauer des Scans per Fingerabdruck dedupliziert, eine 400-mal vorkommende URL wird also nur einmal geprüft, und lokale URLs, die auf eine vorhandene statische Datei zeigen, werden über das Dateisystem validiert, ganz ohne Netzwerkanfrage.
Vom Ergebnis zur Korrektur
Eine nach Schwere sortierte Ergebnistabelle listet jede URL mit Status, HTTP-Code, Fehlermeldung, gegebenenfalls Weiterleitungsziel und Anzahl der Verwendungen. Öffnet man eine Zeile, erscheint die Liste der Fundstellen: Quelltyp, Name des Elements, betroffenes Feld, Sprache und Ankertext. Jede Fundstelle hat ihren eigenen Bearbeiten-Button, der das Produkt, die Kategorie oder die CMS-Seite an der richtigen Stelle öffnet. Sie können eine einzelne URL nach der Korrektur auch erneut prüfen, ohne den gesamten Scan neu zu starten.
Was die Status bedeuten
Der Status in Ordnung deckt 2xx-Antworten und lokal vorhandene Dateien ab. Eine Warnung deckt Weiterleitungen, die Codes 401 und 403 sowie 429 bei Ratenbegrenzung ab: die Ressource existiert, aber etwas verdient einen Blick. Der Status defekt deckt 404, 410, weitere 4xx, 5xx, Zeitüberschreitungen, DNS-Fehler und abgelehnte Verbindungen ab. Die Status ignoriert und übersprungen entsprechen Ihren Ausschlüssen und den URL-Kategorien, die Sie in den Einstellungen deaktiviert haben.
Ausschließen, was nicht auftauchen soll
Viele Domains antworten Bots mit 403, ohne dass der Link deswegen defekt wäre, besonders hinter einer Web Application Firewall. Das Modul stuft diese Fälle bereits als Warnung und nicht als defekten Link ein, aber Sie können mit einer Ausschlussliste weitergehen: ein Muster pro Zeile, als einfacher Text für einen Teilstring-Treffer, mit Platzhaltern oder als regulärer Ausdruck mit Präfix. Eine URL lässt sich außerdem mit einem Klick aus der Tabelle in die Ignorierliste setzen, womit sie aus den Ergebnissen der folgenden Scans verschwindet.
Installation und Deinstallation
Keine externen Abhängigkeiten, kein Composer, keine Theme-Änderung. Laden Sie das ZIP über den Modulmanager hoch und installieren Sie: vier Tabellen werden angelegt und ein Reiter erscheint unter Katalog. Das Modul fügt keinen Frontend-Hook hinzu und verändert die Darstellung des Shops nicht, es arbeitet ausschließlich im Backoffice. Bei der Deinstallation werden die vier Tabellen, der Reiter und die Konfiguration entfernt.
Es gibt noch keine Rezensionen.