Zum Inhalt springen

Verwendung ohne Oberfläche

Pro-Funktionen wie Scans, Weiterleitungen und 404-Protokollierung laufen in der Engine und benötigen kein Filament. Das Panel dient der Verwaltung; die folgenden Befehle bieten den entsprechenden Zugriff ohne Oberfläche.

Befehlsreferenz

Einrichtung und Zustandsprüfung

BefehlAufgabe
seo-pro:installconfig/seo-pro.php und Pro-Migrationen veröffentlichen, ausführen und nächste Schritte anzeigen; Optionen --no-migrate, --force
seo:doctorEinmalige Prüfung von App-URL, Core-/Pro-Tabellen, Scan-Zielen, Sitemap, Queues je Aufgabe, optionalen Funktionen und Betriebszustand mit Korrekturhinweisen; --json für Monitoring

seo-pro:install ist der dokumentierte Einrichtungsweg. Pro-Migrationen werden nur veröffentlicht, nicht automatisch vom Paket geladen. Der Installer ergänzt deshalb composer require um das benötigte Datenbankschema. Er ist idempotent und kann erneut ausgeführt werden.

seo:doctor ruft kein Netzwerk auf und gibt keine geheimen Werte aus. Die KI-Prüfung meldet nur, ob die konfigurierte Schlüsselvariable gesetzt ist. Geprüft werden Konfiguration und letzte Laufhistorie; ein tatsächlich laufender externer Cronjob oder Worker lässt sich damit nicht beweisen. Nur kritische Fehler wie eine fehlende erforderliche Tabelle ergeben einen Exit-Code ungleich null. Warnungen auf einer lokalen Entwicklungsumgebung verhindern keinen erfolgreichen Exit. --json liefert je Prüfung eine stabile id. Führe den Befehl direkt nach der Installation und in CI aus.

Scans

BefehlAufgabe
seo-pro:scanVollständigen Scan aller registrierten Ziele einreihen; --sync führt direkt aus. CI-Prüfoptionen --fail-on-error, --fail-on-warning, --report=, --format=json|md|html benötigen --sync.
seo-pro:scan-statusLetzten Lauf und offene Befunde anzeigen, schwerste zuerst; --limit=20, --severity=critical|warning|notice
seo-pro:scan-recoverDurch ausgefallene Queue-Worker verlassene Läufe als fehlgeschlagen markieren
seo-pro:scan-pruneAbgeschlossene Läufe samt Befunden nach Ablauf der Aufbewahrungsfrist löschen

Standardmäßig ausgeschaltet. Aktiviere seo-pro.broken_links.enabled und migriere die beiden Haupttabellen, deren Migrationen seo-pro:install veröffentlicht. Der Crawl läuft über begrenzte Queue-Jobs; verwende einen eigenen Worker für diese Queue. Einstellungen beschreibt Produktion einrichten.

BefehlAufgabe
seo-pro:broken-links-scanBegrenzten, fortsetzbaren Crawl einreihen; --scope=internal_only|internal_and_external, zusätzliche Start-URLs mit --url=*
seo-pro:broken-links-statusLetzten Crawl, offene Befunde und typisierte Linkprüfungen dieses Laufs anzeigen; CI-Prüfoptionen --fail-on-error, --fail-on-warning, --report=, --format=
seo-pro:broken-links-cancelLaufenden oder eingereihten Crawl abbrechen; {run?} wählt standardmäßig den letzten aktiven Lauf
seo-pro:broken-links-recoverNach Worker-Ausfall verlassene Crawls mit veralteter Lease als fehlgeschlagen markieren
seo-pro:broken-links-pruneAufbewahrungsregeln auf alte Läufe und erledigte Befunde anwenden

Weiterleitungen und 404-Einträge

BefehlAufgabe
seo-pro:redirect-create {source} {target}Weiterleitungsregel erstellen; --code=301, --regex, --no-preserve-query, --note=
seo-pro:404-listProtokollierte 404-Einträge nach Häufigkeit anzeigen; --status=new|ignored|redirected|all, --limit=20
seo-pro:redirects-flush-hitsIm Cache gesammelte Weiterleitungszähler in die Datenbank schreiben, wenn redirects.hits.flush_immediately=false
seo-pro:404-pruneAlte 404-Einträge löschen und die Höchstzahl an Zeilen durchsetzen

Onpage-Checkliste

BefehlAufgabe
seo-pro:checklist {model} {id}Keyword-bezogene Pass/Warn/Fail-Checkliste für ein Modell; --json, --strict, --locale=. Siehe Onpage-Checkliste.

Dieselbe Checkliste steht als SeoPro::checklistFor($model) bereit. Sie unterstützt die redaktionelle Bearbeitung von Keyword-Platzierung, Länge, Bildern und internen Links. Sie ist von der SEO-Bewertung getrennt.

Search Console mit reinem Lesezugriff

BefehlAufgabe
seo-pro:search-consoleSeiten mit offenen Befunden und Suchtraffic, nach Handlungsbedarf priorisiert; standardmäßig --view=attention
seo-pro:search-console --view=pagesFührende Seiten nach Impressionen, Klicks, CTR und Position
seo-pro:search-console --view=queriesFührende Suchanfragen; --days=, --limit=, --json

Dieselben Metriken liefert SeoPro::searchConsole(). Siehe Search Console. Die Funktion ist standardmäßig aus und verwendet ausschließlich Lesezugriff.

KI-Hilfe

BefehlAufgabe
seo-pro:ai-suggest {model} {id}Titel-/Beschreibungsvorschläge als JSON; --field=title|description|all. Siehe KI-Hilfe.
seo-pro:ai-suggest --issue={id}Lesbare Erklärung einer Korrektur für einen Scan-Befund als JSON

Einen 404-Eintrag in einem Schritt bearbeiten

--from-404={path} entspricht der Aktion Create redirect im 404-Monitor. Es erstellt die Regel und markiert den passenden Protokolleintrag als weitergeleitet, mit Verweis auf die neue Regel:

bash
php artisan seo-pro:404-list

#  ID | Path        | Hits | Status | ...
#  1  | /old-pricing | 41  | new

php artisan seo-pro:redirect-create /old-pricing /pricing --from-404=/old-pricing

# Redirect #1 created: /old-pricing → /pricing (301).
# 404 log #1 (/old-pricing) marked redirected.

Der Befehl verwendet dieselben Validatoren wie das Filament-Formular. Ungültige Regex-Muster, überlange Werte und nicht freigegebene externe Ziele werden abgelehnt, bevor etwas geschrieben wird.

php
use Illuminate\Support\Facades\Schedule;

// Only needed when seo-pro.redirects.hits.flush_immediately=false.
Schedule::command('seo-pro:redirects-flush-hits')->everyFiveMinutes();

// Keep the 404 log within retention and the row cap.
Schedule::command('seo-pro:404-prune')->daily();

// Scan cadence: weekly suits most sites; go daily when content
// changes fast. Scans are queued jobs - pair with a queue worker.
Schedule::command('seo-pro:scan')->weekly();

// Housekeeping for the scan pipeline.
Schedule::command('seo-pro:scan-recover')->hourly();
Schedule::command('seo-pro:scan-prune')->daily();

// Broken-link crawler (only when enabled). Run a dedicated worker for
// its queue so a long crawl never starves user-facing jobs.
Schedule::command('seo-pro:broken-links-scan')->weekly();
Schedule::command('seo-pro:broken-links-recover')->hourly();
Schedule::command('seo-pro:broken-links-prune')->daily();

Die Produktionsanleitung nennt für jeden wiederkehrenden Befehl einen empfohlenen Rhythmus. Sie beschreibt außerdem Queue-Aufteilung, Worker-Konfiguration, Wiederholungs- und Wiederherstellungsregeln, Aufbewahrung und die strukturierten Betriebsdaten abgeschlossener Läufe: abgerufene Seiten, geprüfte Links, blockierte URLs, Dauer und Queue-Verzögerung.

Was benötigt die Filament-Oberfläche?

Die Engine für Scan-Pipeline, Befundverwaltung, Weiterleitungsabgleich, 404-Protokollierung, Bereinigung und Wiederherstellung ist mit und ohne Filament dieselbe. Das Panel ergänzt die Ansichten: Dashboard mit Live-Fortschritt und Schweregradstatistik, gefilterte Befundlisten und Seitenmodale, Ignorieren/Wiederöffnen, Weiterleitungsformulare und die 404-Tabelle samt Direktaktion. Zum Ignorieren oder Wiederöffnen von Befunden gibt es derzeit keinen eigenen Befehl. Verwende dafür das Panel oder das Modell SEOScanIssue mit markIgnored() beziehungsweise reopen() in Tinker oder eigenem Code.

rankbeam/laravel-seo steht unter der MIT-Lizenz.