SEO & GEO Toolkit¶
Die SEO & GEO Toolkit-Extension prüft die eigenen Websites regelmäßig auf klassische SEO-Signale und auf Generative Engine Optimization (GEO) — Auffindbarkeit und Zitierbarkeit durch KI-Antwortmaschinen wie ChatGPT, Perplexity oder Google AI Overviews. Sie wird als Opt-in-Extension über den Marktplatz installiert und greift auf externe Websites ausschließlich per gesichertem HTTP(S)-Abruf zu — nie auf interne Panel- oder Serverdaten.
Installation & Freigabe¶
- Extension aktivieren (Marktplatz).
- Panel-API-Key (optional, für den 24h-Fleet-Scan) — der Admin hinterlegt unter Extensions → SEO & GEO Toolkit → Einstellungen einen Panel-API-Key eines Admin-Accounts (Einstellungen → API-Zugriff). Ohne diesen Key laufen On-Demand-Scans weiterhin normal, der automatische 24h-Lauf über die gesamte Kundenflotte bleibt aber aus.
- Paket-Permission — im Paket legt der Admin mit SEO & GEO Toolkit erlauben (
perm_seo_geo_toolkit) fest, welche Kunden das Toolkit sehen. Für Admin-Accounts ist es immer sichtbar, unabhängig vom Paket.
Check-Katalog¶
Jeder Scan ruft die Startseite, robots.txt, sitemap.xml und llms.txt der Website ab und wertet sie gegen einen festen Katalog aus. Jeder Befund kommt mit Schweregrad (kritisch/Warnung/Hinweis), Beleg und Korrekturvorschlag.
SEO-Checks: Erreichbarkeit der Startseite, Title-Tag (Vorhandensein + Länge), Meta-Description (Vorhandensein + Länge), H1 (genau eine), Canonical-Tag, HTTPS-Erzwingung, robots.txt (Vorhandensein, komplette Sperrung), sitemap.xml, Alt-Texte auf Bildern, Open-Graph-Tags, Mobile-Viewport-Meta-Tag.
GEO-Checks (Generative Engine Optimization): Crawl-Zugriff für bekannte KI-Bots (GPTBot, ClaudeBot, Google-Extended, PerplexityBot, anthropic-ai) in robots.txt, FAQ-/HowTo-Strukturdaten (JSON-LD) als zitierfähiges Format, lückenlose Überschriften-Hierarchie, Organization-/Person-Strukturdaten für die Autor-/Betreiber-Zuordnung, llms.txt als optionaler kuratierter Einstiegspunkt für KI-Crawler, Konsistenz von hreflang-Angaben.
Ranking- & Backlink-Daten (DataForSEO, optional)¶
Jeder Kunde kann unter SEO & GEO Toolkit → DataForSEO-Key einen eigenen DataForSEO-Key hinterlegen (Format login:passwort). Der Key wird AES-256-GCM-verschlüsselt in der eigenen SQLite-Datenbank der Extension gespeichert und niemals im Klartext in einer API-Antwort zurückgegeben — die Oberfläche zeigt nur, ob ein Key konfiguriert ist.
Ohne Key bleibt der Ranking-/Backlink-Teil inaktiv — der Rest der Extension (SEO- und GEO-Checks) funktioniert unabhängig davon weiter.
Scan-Rhythmus¶
- 24h-Ticker — alle Websites werden automatisch einmal täglich neu geprüft (Voraussetzung: Panel-API-Key konfiguriert, siehe oben).
- On-Demand-Rescan — über den Button Jetzt scannen auf der Website-Liste, mit einer Abklingzeit von 5 Minuten pro Website gegen versehentliches Mehrfachklicken.
Sicherheitsmodell¶
- SSRF-Schutz — jeder Abruf einer Kundendomain läuft über einen eigenen HTTP-Client, der die Verbindung beim tatsächlich aufgelösten Ziel blockiert, wenn es in einen privaten, internen oder Loopback-Adressbereich fällt (RFC1918, Loopback, Link-Local inkl. Cloud-Metadaten-Endpunkt 169.254.169.254, IPv6-Gegenstücke, NAT64/6to4-eingebettete Adressen). Die Prüfung sitzt im
net.Dialer-Callback, also nach der DNS-Auflösung — das schützt auch gegen DNS-Rebinding. - Jede Autorisierungsentscheidung verifiziert sich gegen die echte Panel-API, nie gegen lokal dekodierte JWT-Claims allein.
extractScopeliest Rolle/Kunden-ID nur aus dem Token-Payload, ohne Signatur zu prüfen — das reicht nicht, weil dieselbe Extension zusätzlich über den bewusst unauthentifizierten Webhook-Proxy (/api/v1/ext-webhook/seo-geo-toolkit/*, für GitHub/GitLab-artige Zustellung gedacht) erreichbar ist.requirePermissionruft deshalb bei jedem Request zuerst/api/v1/my/permissionsauf der echten Panel-API auf — die verifiziert die Signatur — und verlässt sich erst danach auf die lokal dekodierten Claims. - Der DataForSEO-Key (global nicht vorhanden, nur pro Kunde) liegt verschlüsselt in der eigenen SQLite-Datenbank der Extension.
- Die Paket-Permission wird von der Extension selbst serverseitig geprüft (der generische Extension-Proxy prüft sie nicht).
- Die Website-Liste kommt ausschließlich über die vorhandene Panel-Sites-API — die Extension hat keinen eigenen Zugriff auf die Sites-Tabelle.
Noch nicht enthalten¶
- Weitere Suchmaschinen-APIs neben DataForSEO.
- Mehrseitige Scans — aktuell wird nur die Startseite jeder Website geprüft, nicht die gesamte Seitenstruktur.