Erkennung defekter Links
Die Erkennung defekter Links durchsucht deine Website nach Links, die HTTP-Fehler zurückgeben -- 404 Not Found, 5xx-Serverfehler, Timeouts und andere Ausfälle. Defekte Links frustrieren Besucher, schaden dem SEO-Ranking und deuten auf vernachlässigte Inhalte hin.
Funktionsweise
Wird ein Check für defekte Links ausgelöst, durchsucht Hoppla deine Website. Der Crawler beginnt bei der URL deines Monitors und folgt internen Links, wobei er jede entdeckte Seite auf defekte ausgehende Links prüft. Pro Monitor läuft immer nur ein Crawl gleichzeitig -- ist bereits einer aktiv, wird der Check übersprungen.
Crawl-Ablauf
- Der Crawler startet bei der URL deines Monitors (oder einer Sitemap, siehe unten) und entdeckt Seiten, indem er Links auf derselben Domain folgt.
- Auf jeder Seite werden alle Links (intern und extern) auf HTTP-Fehler geprüft.
- Die Ergebnisse werden zusammengefasst: gecrawlte Seiten, gefundene defekte Links und Antwortzeiten.
Beschränkung auf dieselbe Domain
Der Crawler folgt nur Links zu Seiten auf derselben Domain wie deine Monitor-URL. Externe Links werden auf Erreichbarkeit (Statuscode) geprüft, aber nicht weiter gecrawlt. So wird verhindert, dass der Crawler das halbe Internet durchsucht.
Dateien und Downloads
Links auf Dateien (PDFs, Bilder, Videos, Archive) werden allein über ihren HTTP-Status geprüft. Der Crawler liest die Antwort-Header und beendet die Übertragung, bevor die Datei selbst heruntergeladen wird. Eine große Datei kostet so etwa so viel wie eine Seite und kann nicht mitten im Download in ein Timeout laufen. Seiten, Text und XML werden wie bisher geladen, damit ihren Links gefolgt werden kann.
Ein zweiter Versuch, bevor ein Link als defekt gilt
Ein Link, der während des Crawls nicht abgerufen werden konnte (Timeout, abgebrochene Verbindung oder eine Antwort mit 408, 429 oder 5xx), wird nach dem Crawl noch einmal einzeln angefragt und hat dann bis zu 30 Sekunden Zeit. Antwortet er dann, wird er nicht gemeldet. Schlägt er erneut fehl, wird er mit der neueren Antwort gemeldet. Eine eindeutige Antwort wie 404, 410 oder 403 wird nicht erneut angefragt. Pro Crawl bekommen bis zu 20 Links einen zweiten Versuch.
Cloudflare-WAF-Behandlung
Websites hinter Cloudflares Web Application Firewall (WAF) können den Bot-User-Agent des Crawlers blockieren. Hoppla hat dafür eine automatische Retry-Middleware, die:
- Cloudflare-Blockierungen erkennt (HTTP 403/429 mit Cloudflare-Headern oder Statuscodes 520-530).
- Die Anfrage mit browserähnlichen Headern wiederholt (User-Agent, Accept, Sec-Fetch-Header).
- Bei Erfolg für den Rest des Crawls auf Browser-Header umschaltet.
- Bei erneutem Fehlschlag die URL als WAF-blockiert markiert statt als defekten Link.
WAF-blockierte URLs werden in den Ergebnissen separat ausgewiesen, damit du zwischen tatsächlich defekten Links und Cloudflare-geschützten Seiten unterscheiden kannst.
Konfiguration
| Einstellung | Standard | Bereich | Beschreibung |
|---|---|---|---|
| Max. Seiten | 500 | 10 - 5.000 | Maximale Anzahl der Seiten pro Crawl-Durchlauf. |
| Max. Tiefe | 10 | 1 - 10 | Maximale Linktiefe ab der Start-URL. |
| Parallelität | 2 | 1 - 5 | Anzahl gleichzeitiger HTTP-Anfragen beim Crawl. |
| Anfragen pro Sekunde | 2 | 0,5 - 10 | Ratenbegrenzung, um deinen Server nicht zu überlasten. |
| Seiten-Timeout | 10s | 1 - 30s | Maximale Wartezeit auf die Antwort jeder Seite. |
| robots.txt beachten | Ja | -- | Ob die robots.txt-Anweisungen deiner Website befolgt werden. |
| Mixed Content erkennen | Ja | -- | Ob beim Crawl auch HTTP-Ressourcen auf HTTPS-Seiten erkannt werden. |
| Aus Sitemap starten | Aus | -- | Den Crawl mit den in deiner Sitemap gelisteten URLs starten, statt (oder zusätzlich dazu) den Links von der Startseite zu folgen. |
| Einschluss-/Ausschlussmuster | (keine) | -- | Bestimmte URLs erzwingen, die immer gecrawlt werden, oder URL-Muster ausschließen, die der Crawler überspringen soll (z. B. Facetten-Suchen oder Kalenderseiten). |
| Crawler-User-Agent | HopplaBot/1.0 | -- | Der User-Agent, mit dem sich der Crawler ausweist. Du kannst einen eigenen Wert setzen -- praktisch, um den Crawler in einer Firewall freizuschalten. |
Aufbewahrung der Ergebnisse
Hoppla bewahrt die jüngsten Crawl-Ergebnisse pro Monitor auf und entfernt ältere automatisch.
Ergebnisse
Jedes Ergebnis des Checks für defekte Links enthält:
- Status --
ok, wenn keine defekten Links gefunden wurden;warning, wenn welche erkannt wurden - Gecrawlte Seiten -- Gesamtzahl der vom Crawler besuchten Seiten
- Defekte Links gesamt -- Anzahl der defekten Links über alle Seiten hinweg
- Mixed Content gesamt -- Anzahl der Mixed-Content-Probleme (falls aktiviert)
- WAF-blockiert gesamt -- Anzahl der von Cloudflare WAF blockierten URLs
- Durchschnittliche Antwortzeit -- Durchschnittliche Seitenantwortzeit über alle gecrawlten Seiten
Details zu defekten Links
Für jeden defekten Link (bis zu 100) enthält das Ergebnis:
- Quellseite -- Die Seite, die den defekten Link enthält
- Ziel-URL -- Die URL, die defekt ist
- HTTP-Statuscode -- Der zurückgegebene Fehlercode (404, 500 usw.). Hat ein Link keine HTTP-Antwort geliefert, steht dort, was schiefging: Zeitüberschreitung, DNS-Fehler, Verbindungsfehler oder TLS-Fehler.
CSV-Export
Mit CSV herunterladen im Bericht exportierst du alle defekten Links des letzten Crawls, nicht nur die ersten 100, die angezeigt werden, jeweils mit Status, Grund, der Seite, auf der der Link steht, und dem Linktext. So kannst du die Liste direkt an die Person weitergeben, die die Website pflegt. Bei deutschsprachigen Konten trennt die Datei mit Semikolons, wie es das deutsche Excel erwartet, sonst mit Kommas.
Alarme
Die Erkennung defekter Links ist ein beratender Check -- sie erzeugt Warnungen, aber niemals Vorfälle.
Warnbenachrichtigung
Eine warning.broken_links-Benachrichtigung wird gesendet, wenn der Crawl einen oder mehrere defekte Links findet. Die Benachrichtigung enthält die Anzahl der defekten Links und der gecrawlten Seiten.
Benachrichtigungsereignisse
| Ereignis | Zeitpunkt |
|---|---|
warning.broken_links | Beim Crawl wurden ein oder mehrere defekte Links gefunden |
warning.cleared | Ein nachfolgender Crawl hat keine defekten Links gefunden |
Tipps
- Starte mit einem niedrigen Wert für maximale Seiten (z. B. 100), um einen schnellen Überblick zu bekommen, und erhöhe ihn dann für gründlichere Scans.
- Reduziere Parallelität und Anfragen pro Sekunde, wenn der Crawl deinen Server belastet.
- Senke max. Seiten und max. Tiefe, um zu vermeiden, dass große dynamische oder paginierte Bereiche mit vielen ähnlichen Seiten durchgecrawlt werden.
- Prüf die Anzahl der WAF-Blockierungen -- ist sie hoch, brauchen deine Cloudflare-Regeln vielleicht eine User-Agent-Ausnahme. Der Standard-User-Agent des Crawlers lautet
HopplaBot/1.0 (+https://hoppla.dev/bot). White-Label- und Reseller-Installationen crawlen mit einem eigenen User-Agent -- Allow-List-Regeln sollten daher den exakten Wert verwenden, der in den Crawler-Einstellungen des Monitors angezeigt wird.