Zum Inhalt springen

Upgrade von fibonoir/laravel-seo v1 ​

Mit v2.0.0 heißt das Paket rankbeam/laravel-seo. Der Core konzentriert sich auf Metadatenauflösung, Rendering, JSON-LD und Sitemaps. Analyzer, Scanner, Weiterleitungen, 404-Monitor und Admin-Oberfläche wurden aus dem Core in separate Pakete ausgelagert.

1. Das Paket ersetzen ​

bash
composer remove fibonoir/laravel-seo
composer require rankbeam/laravel-seo

2. Namespaces aktualisieren ​

Die Klassennamen bleiben gleich. Nur der Stamm-Namespace hat sich geändert: Fibonoir\LaravelSEO\* → Rankbeam\Seo\*. Eine projektweite Suchen-und-Ersetzen-Aktion deckt die Umbenennung ab. Der Alias der SEO-Fassade und die Blade-Direktiven @seo bleiben unverändert.

3. Veraltete veröffentlichte Dateien entfernen ​

Sichere vor dem Entfernen von Dateien oder Tabellen die veröffentlichte Konfiguration und exportiere die betroffenen Daten. Prüfe, ob du sie wiederherstellen kannst. Diese Anleitung überträgt keine Weiterleitungs-, 404- oder Scan-Historie aus v1 in das abweichende Pro-Schema. Die unten beschriebene Kompatibilität der Core-Tabellen gilt ausschließlich für seo_meta und seo_defaults.

Konflikte ohne Fehlermeldung

seo:install aus v1 hat Dateien in deiner App veröffentlicht, die mit dem v2-Paket kollidieren können, ohne eine Fehlermeldung auszulösen.

  • config/seo.php: Eine von v1 oder ralphjsmit/laravel-seo veröffentlichte Datei, die der v1-Installer zurückgelassen haben kann, überlagert die Paketkonfiguration. Dadurch können site_name und alle {site_name}-Vorlagen leer werden. Entferne die alte Datei und veröffentliche die Konfiguration neu: php artisan vendor:publish --tag=seo-config.
  • v1-Migrationen für Tabellen, die nicht mehr dem Core gehören: seo_redirects, seo_404_logs, seo_scan_runs, seo_scan_issues, seo_analytics_cache, seo_internal_links_index. Entferne die Migrationsdateien. Existieren diese Tabellen in Produktion, lösche sie nach der oben beschriebenen Sicherung vor der Installation von rankbeam/laravel-seo-pro. Pro erstellt sie mit einem anderen Schema neu.
  • Veröffentlichte Vorlagen unter app/ und resources/js aus dem Filament-3-/Livewire-/Vue-/React-Ablauf von v1 verweisen auf Klassen, die nicht mehr existieren.

Die beiden Core-Tabellen seo_meta und seo_defaults sind schemakompatibel; ihre Daten bleiben beim Upgrade erhalten.

4. Entfernte Funktionen und ihr neuer Ort ​

Funktion in v1Neuer Ort
Filament-SEO-Formularbereichrankbeam/laravel-seo-filament, kostenlos unter MIT
Inhaltsanalyse mit 32 RegelnDer alte Analyzer wird durch diese Migration nicht übernommen. Technische SEO-Probleme erkennt der Website-Scanner in rankbeam/laravel-seo-pro; die numerische SEO-Bewertung ist eine aus Problemen berechnete Pro-Funktion.
Website-weiter Scannerrankbeam/laravel-seo-pro: Queue-Pipeline und Dashboard
Weiterleitungsverwaltungrankbeam/laravel-seo-pro mit Regex-Prüfung und Schutz vor offenen Weiterleitungen
404-Monitorrankbeam/laravel-seo-pro, standardmäßig ohne Speicherung von IP-Adressen
GA4-Analysen und interne LinksBacklog von rankbeam/laravel-seo-pro
Installer seo:installEntfallen; Installation über require, Veröffentlichung der Konfiguration und Migration

5. Geändertes Verhalten prüfen ​

  • og:image und twitter:image sind immer absolute URLs. v1 gab manuell gesetzte relative Pfade unverändert aus.
  • Abgeleitete Canonicals verlieren den Query-String. Explizite Canonicals bleiben unverändert.
  • Die automatische Sitemap-Erkennung gibt registrierten Quellen Vorrang. Neben einer registrierten sitemap-posts.xml entsteht keine zusätzliche sitemap-post.xml mehr.
  • JSON-LD wird mit JSON_HEX_* maskiert. Wenn du rohe Script-Ausgabe nachbearbeitest, berücksichtige die Maskierung von Zeichen wie <.

6. Bekannte Stolperstellen ​

  • Laravels gewöhnlicher DatabaseSeeder verwendet WithoutModelEvents. Dadurch ist der automatische Erstellungs-Hook von HasSEO in Seedern ausgeschaltet.
  • Enthält eine Titelvorlage für Routen-Standardwerte bereits deine Marke, beende sie mit dem konfigurierten title_suffix. Der Resolver hängt es dann nicht erneut an.

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