Broken Links auf Drupal-Site finden - kein Problem mit Link-Checker

Broken Links auf Drupal-Site finden - kein Problem mit Link-Checker

Drupal besitzt von Haus aus keine Möglichkeit, interne oder externe Links zu verwalten. D.h. es gibt keine automatisierte Prüfung, ob diese Links noch gülitg sind. Dabei kann es schnell passieren, dass ein Link zerbricht. Sei es, dass eine Seite gelöscht, verschoben oder durch einen andere ersetzt wird. Zumindest bei internen Links besteht dann noch die Chance, dass man die Links manuell ändert – sofern man sich noch an alle Verlinkungen erinnern kann. Bei externen Links bekommt man derartige Änderungen aber gar nicht erst mit.

Schön wäre es daher, wenn es wenigstens eine regelmäßig Überprüfung aller Links gäbe und man anschließend alle gebrochenen Links aufgezeigt bekommt. Ob man diese dann ändert oder ganz entfernt ist dann jedem selbst überlassen. 

Diese Funktione kann man mit dem Drupal-Modul Link Checker nachrüsten. Dieses prüft während eines Cron-Laufs in einstellbaren Intervallen (von täglich bis monatlich) alle internen und externen Links und listet gebrochene Links in einer Tabelle auf. Dabei wird bei jedem Link noch der Apache-Fehlercode mit angegeben: z.B. 301 für "moved permantly" oder 404 für "not found". So kann man erkennen, ob die verlinkte Seite nicht mehr existiert oder nur an eine andere Position verschoben wurde und per redirect der alte Link umgeleitet wurde. Ist letzteres der Fall kann man auf die Änderung des Links verzichten, bzw. diese dem Link-Checker-Modul überlassen. Dieses kann die verschobenen Links automatisch korrigieren. Es empfiehlt sich, diese Korrektur nicht gleich nach dem ersten Test durchführen zu lassen, sondern drei Prüfungen abzuwarten – die gewünschte Anzahl stellt man einfach in der Modulkonfiguration ein. Bei 404-Fehlern sollte man versuchen, den Link manuell zu korrigieren, auf eine gültige Seite der Zieldomain verlinken oder ihn ganz entfernen. Bei Websites mit sehr vielen Links braucht man etwas Geduld, bis Link Checker alle Links überprüft hat, denn bei jedem durch cron.php angestoßenen Durchlauf wird nur eine begrenzte Zahl Links gecheckt, um die Performance der Webseite nicht zu beeinträchtigen.