Μετάβαση στο περιεχόμενο

Αναβάθμιση από το fibonoir/laravel-seo v1

Η v2.0.0 μετονομάζει το πακέτο σε rankbeam/laravel-seo και το περιορίζει σε έναν εστιασμένο πυρήνα: επίλυση μεταδεδομένων, απόδοση, JSON-LD και χάρτες ιστοτόπου. Ο αναλυτής, η σάρωση, οι ανακατευθύνσεις, η παρακολούθηση 404 και το περιβάλλον διαχείρισης μεταφέρθηκαν σε ξεχωριστά πακέτα.

1. Αντικαταστήστε το πακέτο

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

2. Ενημερώστε τα namespaces

Τα ονόματα κλάσεων δεν αλλάζουν· μετακινήθηκε μόνο το ριζικό namespace: Fibonoir\LaravelSEO\*Rankbeam\Seo\*. Αρκεί εύρεση και αντικατάσταση σε όλο το έργο. Το ψευδώνυμο facade SEO και οι οδηγίες Blade @seo παραμένουν ίδια.

3. Διαγράψτε παλιά δημοσιευμένα αρχεία

Πριν αφαιρέσετε αρχεία ή πίνακες, κρατήστε αντίγραφο ασφαλείας των δημοσιευμένων ρυθμίσεων και εξαγάγετε τα επηρεαζόμενα δεδομένα. Επαληθεύστε ότι μπορείτε να τα επαναφέρετε. Αυτός ο οδηγός δεν μεταφέρει το ιστορικό ανακατευθύνσεων, 404 ή σαρώσεων της v1 στο διαφορετικό σχήμα του Pro· η συμβατότητα των πινάκων του πυρήνα παρακάτω αφορά μόνο τα seo_meta και seo_defaults.

Αυτό προκαλεί προβλήματα χωρίς προειδοποίηση

Το seo:install της v1 δημοσίευε αρχεία στην εφαρμογή σας που θα συγκρούονται με το πακέτο v2 χωρίς να εμφανίζεται ούτε ένα μήνυμα σφάλματος.

  • config/seo.php — αν το δικό σας δημοσιεύτηκε από τη v1 (ή από το ralphjsmit/laravel-seo, που μπορούσε να αφήσει πίσω του το εργαλείο εγκατάστασης της v1), υπερισχύει των ρυθμίσεων του πακέτου και μπορεί να μηδενίσει το site_name και κάθε πρότυπο {site_name}. Διαγράψτε το και δημοσιεύστε ξανά: php artisan vendor:publish --tag=seo-config.
  • Μεταναστεύσεις της v1 για πίνακες που δεν ανήκουν πλέον στον πυρήνα: seo_redirects, seo_404_logs, seo_scan_runs, seo_scan_issues, seo_analytics_cache, seo_internal_links_index. Αφαιρέστε τα αρχεία μεταναστεύσεων. Αν οι πίνακες υπάρχουν στην παραγωγή, διαγράψτε τους πριν εγκαταστήσετε το rankbeam/laravel-seo-pro — το Pro τους δημιουργεί ξανά με διαφορετικό σχήμα.
  • Δημοσιευμένα stubs στα app/ και resources/js από τη ροή Filament 3 / Livewire / Vue / React της v1 — αναφέρονται σε κλάσεις που δεν υπάρχουν πλέον.

Οι δύο πίνακες του πυρήνα (seo_meta, seo_defaults) έχουν συμβατό σχήμα· τα δεδομένα σας διατηρούνται κατά την αναβάθμιση.

4. Λειτουργίες που αφαιρέθηκαν και πού μεταφέρθηκαν

Λειτουργία v1Πού βρίσκεται τώρα
Ενότητα φόρμας SEO στο Filamentrankbeam/laravel-seo-filament (δωρεάν, MIT)
Αναλυτής περιεχομένου (32 κανόνες)Ο παλιός αναλυτής δεν μεταφέρεται με αυτή τη μετάβαση. Η ανίχνευση ζητημάτων τεχνικού SEO βρίσκεται στη σάρωση ιστοτόπου του rankbeam/laravel-seo-pro· η αριθμητική βαθμολογία SEO είναι λειτουργία Pro (προκύπτει από ζητήματα).
Σάρωση ολόκληρου του ιστοτόπουrankbeam/laravel-seo-pro — διαδικασία μέσω ουράς + πίνακας ελέγχου
Διαχείριση ανακατευθύνσεωνrankbeam/laravel-seo-pro — ενισχυμένη προστασία (επικύρωση regex, δικλίδες κατά ανοιχτών ανακατευθύνσεων)
Παρακολούθηση 404rankbeam/laravel-seo-pro — προτεραιότητα στο απόρρητο (δεν αποθηκεύονται IP από προεπιλογή)
Αναλυτικά GA4, εσωτερικοί σύνδεσμοιΜελλοντικές εργασίες του rankbeam/laravel-seo-pro
Εργαλείο εγκατάστασης seo:installΚαταργήθηκε — η εγκατάσταση γίνεται με require, δημοσίευση ρυθμίσεων και μεταναστεύσεις

5. Αλλαγές συμπεριφοράς προς έλεγχο

  • Τα og:image / twitter:image είναι πάντα απόλυτες URL. Η v1 απέδιδε αυτούσιες τις σχετικές διαδρομές που είχαν οριστεί χειροκίνητα.
  • Οι παραγόμενες κανονικές URL αφαιρούν τη συμβολοσειρά ερωτήματος. Οι ρητά ορισμένες κανονικές URL διατηρούνται αυτούσιες.
  • Η αυτόματη ανακάλυψη χαρτών ιστοτόπου δίνει προτεραιότητα στις καταχωρισμένες πηγές — δεν υπάρχει πλέον διπλότυπο sitemap-post.xml δίπλα σε καταχωρισμένο sitemap-posts.xml.
  • Το JSON-LD χρησιμοποιεί διαφυγή JSON_HEX_* — αν επεξεργάζεστε εκ των υστέρων την ακατέργαστη έξοδο script, αναμένετε ακολουθίες διαφυγής τύπου <.

6. Γνωστές παγίδες

  • Το προεπιλεγμένο DatabaseSeeder του Laravel χρησιμοποιεί WithoutModelEvents, που απενεργοποιεί το hook αυτόματης δημιουργίας του HasSEO στους seeders.
  • Αν ένα πρότυπο τίτλου προεπιλογής διαδρομής περιέχει ήδη την επωνυμία σας, ολοκληρώστε το πρότυπο με το ρυθμισμένο title_suffix — τότε ο resolver παραλείπει την εκ νέου προσθήκη του.

Το rankbeam/laravel-seo διανέμεται με άδεια MIT.