Kostenloser lokaler SEO-Crawler

SpiderHead crawlt eine Website ab einer Start-URL auf Ihrem eigenen Rechner, folgt den Links innerhalb desselben Hosts, respektiert robots.txt und wertet das Ergebnis mit denselben Prüfungen aus, die auch für Screaming-Frog-Exporte gelten.

Was es leistet

Crawl ohne Projekt

In der Desktop-App geben Sie eine URL ein und klicken auf Starten; das Ergebnis können Sie später als Projekt speichern. Im Terminal folgt crawl-site den Links ab der Start-URL und schreibt einen nativen SQLite-Scan, den Sie erneut öffnen, exportieren und offline neu auswerten können. Derselbe Crawl steht einem KI-Agenten über den lokalen MCP-Server als seo_crawl_site zur Verfügung.

  • Standardmäßig derselbe Host; Subdomains sind eine Option (scope.internal)
  • robots.txt wird standardmäßig beachtet
  • Kostenlos und lokal: kein gehostetes Konto und keine Screaming-Frog-Lizenz

Prüfungen, die nicht laufen können, melden das

Ein nativer Crawl erfasst nicht jede Art von Nachweisen. Eine Prüfung, die Daten braucht, die der Crawl nicht erfasst hat, wird mit einem Grund als übersprungen gemeldet, nie als fälschlich unauffällig. Jede Prüfung endet mit einem Befund, ohne Befund gelaufen, übersprungen oder fehlgeschlagen.

  • Vier Ergebnisse pro Prüfung, damit eine Lücke nie verborgen bleibt
  • Linkbasierte Prüfungen, die einen vollständigen Crawl brauchen, werden bei einem Teil-Crawl zurückgehalten

Drei Schritte, ein gespeicherter Scan

  1. Mit einer URL starten

    Geben Sie in der Desktop-App eine Start-URL ein oder führen Sie crawl-site im Terminal aus. Der Crawl folgt den Links auf demselben Host und schreibt einen nativen SQLite-Scan, den Sie erneut öffnen können.

  2. Standardmäßig rücksichtsvoll bleiben

    Etwa zwei Anfragen pro Sekunde und Host, mit adaptiven Verzögerungen. Die URL-Obergrenze legen Sie fest; der Standard ist 200 URLs.

  3. Dieselben Nachweise auditieren

    Der Crawl wird mit demselben Prüfkatalog geprüft wie Screaming-Frog-Exporte. Eine Prüfung, die Daten braucht, die ein nativer Crawl nicht erfassen kann, wird mit Grund als übersprungen markiert, nie als unauffällig.

Prüfungen in dieser Funktion

PrüfungBedeutungSchweregradBeleg
BROKEN_PAGE_4XXDie gecrawlte Seite antwortet mit einem 4xx-StatuscodeCriticalURL und Statuscode
SERVER_ERROR_5XXDie gecrawlte Seite antwortet mit einem 5xx-StatuscodeCriticalURL und Statuscode
NO_RESPONSEKeine Antwort: Timeout, DNS- oder VerbindungsfehlerCriticalURL und Fehlerursache
BROKEN_INTERNAL_LINKEin interner Link zeigt auf eine URL mit 4xx-StatuscodeCriticalQuellseite und Position des Links
REDIRECT_LOOPDie Weiterleitungskette führt zurück zu einer bereits besuchten URLCriticalSchleifenpfad
REDIRECT_CHAINZwei oder mehr Weiterleitungen vor der endgültigen URLImportantJeder Weiterleitungsschritt mit Statuscode
BLOCKED_BY_ROBOTSrobots.txt blockiert die URL, daher hat der Crawl sie nicht abgerufenImportantURL und passende robots.txt-Regel

Ein Befehl

bash
seohead crawl-site --url https://example.com --max-urls 500 --scan-out ./scans/audit.sqlite

Zuerst installieren: Installationsanleitung. Jeder Befehl läuft auch als MCP-Tool für KI-Agenten.

Was Sie brauchen

  • Eine Start-URL (oder eine Liste von URLs mit --urls oder --urls-file)
  • Ein Pfad für die Scan-Datei (--scan-out) oder ein Projektordner
  • Optional: eine Konfigurationsdatei für den Crawler (JSON); crawl-site --config-help listet jede Einstellung auf

Grenzen

  • Der Kern-Crawl liest statisches HTML; das Rendering von JavaScript ist eine optionale Erweiterung
  • Standardmäßig stoppt der Crawl bei 200 URLs; erhöhen Sie --max-urls bewusst (bis 1.000.000)
  • Kein vollständiger Ersatz für Screaming Frog: manche Prüfungen werden übersprungen
  • Folgt Links innerhalb eines Hosts, solange Sie den Umfang nicht erweitern

Fragen

Brauche ich eine Screaming-Frog-Lizenz?
Nein. Der native Crawl läuft lokal und braucht weder ein gehostetes Konto noch eine Screaming-Frog-Lizenz. Vorhandene Screaming-Frog-Exporte lassen sich weiterhin importieren.
Ist es ein vollwertiger Ersatz für Screaming Frog?
Nein, und es beansprucht keine Gleichwertigkeit. Prüfungen, die Nachweise brauchen, die ein nativer Crawl nicht erfasst hat, werden als übersprungen gemeldet. Die Angabe summary.check_coverage zeigt, wie viel vom Prüfkatalog gelaufen ist.
Respektiert es robots.txt?
Ja, standardmäßig. Lässt sich robots.txt gar nicht abrufen, stoppt der Crawl, statt Zugriff anzunehmen (robots.unavailable_means_stop, standardmäßig aktiv). Mit --robots report_only crawlen Sie trotzdem und erhalten eine Liste dessen, was blockiert würde.
Wie viele URLs crawlt es?
Die Standardgrenze liegt bei 200 URLs. Setzen Sie --max-urls auf bis zu 1.000.000 oder auf 0 für kein URL-Limit; auch dann greifen die übrigen Ressourcenschutzmechanismen. Crawls oberhalb der Projektbudgets brauchen --approve-large-crawl.
Kann es Seiten mit JavaScript rendern?
Im Standard-Crawl nicht. Rendering ist optional: Installieren Sie das Zusatzpaket render und einen Playwright-Browser und setzen Sie in der Crawl-Konfiguration rendering.mode auf js. Der Kern-Crawl funktioniert ohne Browser.

Testen Sie es auf Ihrer eigenen Website