Aktualizacja z fibonoir/laravel-seo v1
Wersja v2.0.0 zmienia nazwę pakietu na rankbeam/laravel-seo i ogranicza go do konkretnych zadań: rozstrzygania metadanych, renderowania, JSON-LD i map witryny. Analizator, skaner, przekierowania, monitor błędów 404 i interfejs administracyjny przeniesiono do osobnych pakietów.
1. Zamień pakiet
composer remove fibonoir/laravel-seo
composer require rankbeam/laravel-seo2. Zaktualizuj przestrzenie nazw
Nazwy klas nie zmieniły się; zmieniła się tylko główna przestrzeń nazw: Fibonoir\LaravelSEO\* → Rankbeam\Seo\*. Wystarczy wyszukiwanie i zamiana w całym projekcie. Alias fasady SEO i dyrektywy Blade @seo pozostają bez zmian.
3. Usuń stare opublikowane pliki
Przed usunięciem plików lub tabel wykonaj kopię opublikowanej konfiguracji i wyeksportuj objęte zmianą dane. Sprawdź, czy możesz je przywrócić. Ten przewodnik nie przenosi historii przekierowań, błędów 404 ani skanów z v1 do innego schematu Pro; opisana poniżej zgodność tabel pakietu podstawowego dotyczy wyłącznie seo_meta i seo_defaults.
Problem bez komunikatu o błędzie
Polecenie seo:install z v1 publikowało w aplikacji pliki, które będą kolidować z pakietem v2 bez ani jednego komunikatu o błędzie.
config/seo.php— jeśli plik opublikowała wersja v1 (lubralphjsmit/laravel-seo, który instalator v1 mógł pozostawić), przesłania on konfigurację pakietu i może wyzerowaćsite_nameoraz każdy szablon{site_name}. Usuń go, a następnie opublikuj ponownie:php artisan vendor:publish --tag=seo-config.- Migracje v1 dla tabel, za które pakiet podstawowy już nie odpowiada:
seo_redirects,seo_404_logs,seo_scan_runs,seo_scan_issues,seo_analytics_cache,seo_internal_links_index. Usuń pliki migracji. Jeśli tabele istnieją na produkcji, usuń je przed instalacjąrankbeam/laravel-seo-pro— Pro odtworzy je z innym schematem. - Opublikowane pliki szablonowe w
app/iresources/jsz integracji v1 z Filament 3 / Livewire / Vue / React — odwołują się do klas, które już nie istnieją.
Dwie tabele pakietu podstawowego (seo_meta, seo_defaults) mają zgodny schemat; aktualizacja zachowuje twoje dane.
4. Usunięte funkcje i ich nowe miejsce
| Funkcja v1 | Gdzie znajduje się teraz |
|---|---|
| Sekcja SEO formularza Filament | rankbeam/laravel-seo-filament (bezpłatna, MIT) |
| Analizator treści (32 reguły) | Ta migracja nie przenosi starego analizatora. Wykrywanie problemów technicznego SEO jest częścią skanera witryny w rankbeam/laravel-seo-pro; liczbowa ocena SEO to funkcja Pro wyliczana na podstawie problemów. |
| Skaner całej witryny | rankbeam/laravel-seo-pro — proces oparty na kolejce + panel |
| Zarządzanie przekierowaniami | rankbeam/laravel-seo-pro — wzmocnione zabezpieczenia (walidacja regex, ochrona przed otwartymi przekierowaniami) |
| Monitor błędów 404 | rankbeam/laravel-seo-pro — z naciskiem na prywatność (domyślnie bez zapisu adresów IP) |
| Analityka GA4, linki wewnętrzne | Lista planowanych prac rankbeam/laravel-seo-pro |
Instalator seo:install | Usunięty — instalacja obejmuje dodanie zależności, publikację konfiguracji i migracje |
5. Zmiany zachowania do sprawdzenia
og:image/twitter:imagezawsze są bezwzględnymi URL-ami. v1 zwracała ręcznie ustawione ścieżki względne bez zmian.- Wyprowadzane adresy kanoniczne usuwają parametry zapytania. Jawnie ustawione adresy kanoniczne są zachowywane dokładnie.
- Automatyczne wykrywanie map witryny ustępuje zarejestrowanym źródłom — nie powstaje już duplikat
sitemap-post.xmlobok zarejestrowanej mapysitemap-posts.xml. - JSON-LD używa kodowania
JSON_HEX_*— jeśli dalej przetwarzasz surową treść skryptu, spodziewaj się sekwencji kodujących znaki takie jak<.
6. Znane pułapki
- Domyślny
DatabaseSeederw Laravel używaWithoutModelEvents, co wyłącza automatyczne tworzenie rekordu przezHasSEOw seederach. - Jeśli domyślny szablon tytułu trasy zawiera już markę, zakończ go skonfigurowanym
title_suffix— mechanizm rozstrzygania nie dopisze wtedy przyrostka ponownie.