Überspringen und Hauptinhalt zeigen

Von unseren Depsters June 24, 2019

Octopus: ein Crawler für defekte Weblinks und mehr

Image

Das Internet ist ein dynamisches Medium: Neue Webseiten entstehen im Sekundentakt, bestehende Webseiten verändern sich, ziehen um oder werden gelöscht. Das führt schnell zur Ungültigkeit initial gesetzter Links. Unseren Analysen zufolge beinhaltet eine durchschnittliche E-Commerce-Website ungefähr 10 bis 20 defekte Verknüpfungen – intern wie extern.

Die „Gesundheit“ der Links spielt eine wichtige Rolle für die Suchmaschinenoptimierung und Benutzerfreundlichkeit einer Website. Nicht erreichbare Links und fehlerhafte Redirects bemängelt Google dementsprechend in der Search Console.

Potenzielle Kunden brechen Kaufvorgänge ab, weil relevante Produktlinks ins Leere führen. Der Leitspruch jedes einzelnen Webseiten-Betreibers sollte also lauten: Broken Links müssen lokalisiert und beseitigt werden – idealerweise kombiniert mit einem permanenten und zuverlässigen Monitoring aller Verlinkungen.

Octopus – entwickelt für Entwickler

Applikationen zur Identifizierung von broken Links finden sich sowohl auf dem Softwaremarkt als auch im Open-Source-Segment. Mit Octopus hat Dept speziell für Entwickler ein Kommandozeilen-Tool entwickelt, das Webseiten nach Links durchsucht und deren Erreichbarkeit überprüft. Der wesentliche Vorteil der schlanken Octopus-App ist die Möglichkeit, das Tool in Continuous-Integration-Prozesse einzubinden. Zeitlich gesteuerte, automatisierte Ausführungen via Crontab sind ebenfalls umsetzbar.

Octopus ist ein Node.js-Package und startet ohne Installation mit nur einem Befehl. Hierfür genügt der nachfolgende Einzeiler mit gewünschter Start-Domain:

npx @deptagency/octopus www.deptagency.com

Nach Eingabe des Kommandos startet Octopus mit dem Crawl-Vorgang. Die aktuell gescannte Webseite erscheint fortlaufend im Live-Ticker. Fehlerhafte Links protokolliert die Applikation in Form einer übersichtlichen Tabelle, angereichert um hilfreiche Informationen wie Fundort und Statusmessage:

⚠️ https://www.deptagency.com/en-gb/case/justdiggit/
APPEARS ON: https://www.deptagency.com/en-gb/careers/
STATUS MSG: NOT FOUND (404)
⚠️ https://www.linkedin.com/company/deptagency/
APPEARS ON: https://www.deptagency.com/partners/
STATUS MSG: REQUEST DENIED (999)

Tipp: Zusätzlich zur aktuell gecrawlten Webseitenadresse zeigt der Live-Ticker die Antwortzeit an und gibt somit auch Auskunft über die Rendering-Performance einzelner Webseiten.

Zahlreiche Optionen

Zur Steuerung der Linkanalyse verfügt Octopus über zahlreiche Optionen, die dem initialen Kommandozeilenbefehl hinzugefügt werden können. So kann das Tool beispielsweise Webseiten überspringen, die bestimmte Suchparameter beinhalten. Links mit Referenzierung auf externe Quellen lassen sich vom Crawling ebenfalls ausschließen. Sollen einzelne Links ignoriert werden, kennzeichnet man sie im Markup mit dem Attribut “rel=nofollow”:

npx @deptagency/octopus www.deptagency.com --ignore-nofollow

Vorhandene Bilder werden mit dem Parameter “–include-images” dem Crawling-Prozess hinzufügt und auf ihre Erreichbarkeit geprüft.

Auf Wunsch kommuniziert Octopus die Ergebnisse des Checks im Slack-Channel, was den Zugang zum Protokoll für Projektverantwortliche erleichtert. Die Option “–silent” schaltet den Live-Ticker aus, wenn er nicht benötigt wird, insbesondere bei CI- bzw. Crontab-Ausführungen.

Alle verfügbaren Octopus-Optionen in der Übersicht: https://github.com/deptagency/octopus

Fazit

Octopus macht seinem Namen alle Ehre: Das Tool durchsucht ein Projekt parallel nach Links, filtert diese anhand vorab ausgewählter Parameter und überprüft ihre Gültigkeit. Richtig konfiguriert und einmalig automatisiert ist Octopus ein verlässliches Tool zur Qualitätssicherung von Webseiten.

Fragen? Wir sind hier, um zu helfen!

Hoppla!

Wenn Sie dies lesen, können Sie das Formular, das hier sein sollte, leider nicht sehen. Sie haben wahrscheinlich einen Werbeblocker installiert. Schalten Sie den Werbeblocker aus, um das Formular zu sehen. Es funktioniert trotzdem nicht? Öffnen Sie diese Seite in einem anderen Browser oder setzen Sie sich mit uns in Verbindung: [email protected]