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

Χρήση headless

Κάθε δυνατότητα Pro — σαρώσεις, ανακατευθύνσεις, καταγραφή 404 — λειτουργεί headless: ανήκει στη μηχανή και δεν χρειάζεται Filament. Ο πίνακας είναι μόνο περιβάλλον διαχείρισης· αυτές οι εντολές είναι το αντίστοιχό του χωρίς γραφικό περιβάλλον.

Αναφορά εντολών

Ρύθμιση και έλεγχος υγείας

ΕντολήΤι κάνει
seo-pro:installΔημοσιεύει το config/seo-pro.php και τις μεταναστεύσεις Pro, τις εκτελεί και έπειτα εκτυπώνει τα επόμενα βήματα (--no-migrate, --force)
seo:doctorΕφάπαξ έλεγχος υγείας — URL εφαρμογής, πίνακες Core + Pro, στόχοι σάρωσης, χάρτης ιστοτόπου, ουρές ανά εργασία, προαιρετικές δυνατότητες και λειτουργική υγεία, με ακριβή διόρθωση για κάθε προειδοποίηση (--json για παρακολούθηση)

Το seo-pro:install είναι η τεκμηριωμένη διαδρομή εγκατάστασης: οι μεταναστεύσεις Pro διατίθενται μόνο για δημοσίευση (το πακέτο δεν τις φορτώνει ποτέ αυτόματα), επομένως ο installer μετατρέπει ένα απλό composer require σε λειτουργικό σχήμα βάσης. Είναι idempotent — εκτελέστε τον ξανά όποτε χρειάζεται.

Το seo:doctor δεν κάνει δικτυακές κλήσεις και δεν εκτυπώνει ποτέ μυστικές τιμές (ο έλεγχος AI αναφέρει μόνο αν η ρυθμισμένη μεταβλητή κλειδιού είναι ορισμένη). Ελέγχει τις ρυθμίσεις και το πρόσφατο ιστορικό εκτελέσεων — δεν μπορεί να αποδείξει ότι ένα εξωτερικό cron ή ένας worker εκτελείται πραγματικά. Επιστρέφει μη μηδενικό κωδικό μόνο σε κρίσιμη αποτυχία — όταν λείπει απαιτούμενος πίνακας — οπότε ένα τοπικό περιβάλλον ανάπτυξης με προειδοποιήσεις εξακολουθεί να τερματίζει επιτυχώς. Το --json δίνει σε κάθε έλεγχο ένα σταθερό id για αναφορά. Εκτελέστε το αμέσως μετά την εγκατάσταση και στο CI.

Σάρωση

ΕντολήΤι κάνει
seo-pro:scanΒάζει σε ουρά πλήρη σάρωση κάθε καταχωρισμένου στόχου (--sync για άμεση εκτέλεση· πύλη CI --fail-on-error, --fail-on-warning, --report=, --format=json|md|html — απαιτούν --sync)
seo-pro:scan-statusΣύνοψη τελευταίας εκτέλεσης και ανοιχτά ζητήματα, πρώτα τα σοβαρότερα (--limit=20, --severity=critical|warning|notice)
seo-pro:scan-recoverΕπισημαίνει ως αποτυχημένες εκτελέσεις που εγκαταλείφθηκαν από νεκρό worker ουράς
seo-pro:scan-pruneΔιαγράφει ολοκληρωμένες εκτελέσεις (και τα ζητήματά τους) πέρα από το διάστημα διατήρησης

Απενεργοποιημένος από προεπιλογή — ενεργοποιήστε το seo-pro.broken_links.enabled και εκτελέστε τις μεταναστεύσεις για τους δύο πίνακές του (το seo-pro:install τις δημοσιεύει). Η ανίχνευση εκτελείται σε εργασίες ουράς με καθορισμένα όρια· εκτελέστε ξεχωριστό worker για την ουρά της. Δείτε τη Ρύθμιση παραγωγής για προσαρμογές.

ΕντολήΤι κάνει
seo-pro:broken-links-scanΒάζει σε ουρά ανίχνευση με όρια και δυνατότητα συνέχισης (--scope=internal_only|internal_and_external, --url=* για επιπλέον αρχικές URL)
seo-pro:broken-links-statusΣύνοψη τελευταίας ανίχνευσης, ανοιχτά ευρήματα και επιθεωρήσεις ανά τύπο αυτής της εκτέλεσης· πύλη CI (--fail-on-error, --fail-on-warning, --report=, --format=)
seo-pro:broken-links-cancelΑκυρώνει ανίχνευση που εκτελείται ή βρίσκεται σε ουρά ({run?} — προεπιλογή η πιο πρόσφατη ενεργή)
seo-pro:broken-links-recoverΕπισημαίνει ως αποτυχημένες ανιχνεύσεις που εγκαταλείφθηκαν από νεκρό worker (ληγμένη μίσθωση)
seo-pro:broken-links-pruneΕφαρμόζει την πολιτική διατήρησης του ανιχνευτή (παλιές εκτελέσεις και επιλυμένα ευρήματα)

Ανακατευθύνσεις και 404

ΕντολήΤι κάνει
seo-pro:redirect-create {source} {target}Δημιουργεί κανόνα ανακατεύθυνσης (--code=301, --regex, --no-preserve-query, --note=)
seo-pro:404-listΚαταγεγραμμένα 404, πρώτα όσα έχουν τις περισσότερες επισκέψεις (--status=new|ignored|redirected|all, --limit=20)
seo-pro:redirects-flush-hitsΓράφει στη βάση τους μετρητές επισκέψεων ανακατεύθυνσης που συγκεντρώθηκαν στην cache, όταν redirects.hits.flush_immediately=false
seo-pro:404-pruneΔιαγράφει παρωχημένες εγγραφές 404 και επιβάλλει το όριο πλήθους εγγραφών

Κατάλογος ελέγχου σελίδας

ΕντολήΤι κάνει
seo-pro:checklist {model} {id}Κατάλογος pass/warn/fail με συνεκτίμηση λέξεων-κλειδιών για ένα μοντέλο (--json, --strict, --locale=) — δείτε τον Κατάλογο ελέγχου σελίδας

Ο ίδιος κατάλογος είναι διαθέσιμος ως SeoPro::checklistFor($model). Είναι ο κύκλος συντακτικού ελέγχου (θέση λέξεων-κλειδιών, μήκος, εικόνες, εσωτερικοί σύνδεσμοι), όχι η βαθμολογία SEO.

Search Console (μόνο ανάγνωση)

ΕντολήΤι κάνει
seo-pro:search-consoleΣελίδες με ανοιχτά ζητήματα και επισκεψιμότητα αναζήτησης, πρώτα όσες χρειάζονται παρέμβαση και έχουν τις περισσότερες εμφανίσεις (--view=attention, η προεπιλογή)
seo-pro:search-console --view=pagesΚορυφαίες σελίδες βάσει εμφανίσεων/κλικ/CTR/θέσης
seo-pro:search-console --view=queriesΚορυφαία ερωτήματα (--days=, --limit=, --json)

Οι ίδιες μετρήσεις είναι διαθέσιμες ως SeoPro::searchConsole() — δείτε το Search Console. Απενεργοποιημένο από προεπιλογή· αυστηρά μόνο για ανάγνωση.

Βοήθεια AI

ΕντολήΤι κάνει
seo-pro:ai-suggest {model} {id}Προτάσεις τίτλου/περιγραφής ως JSON (--field=title|description|all) — δείτε τη Βοήθεια AI
seo-pro:ai-suggest --issue={id}Εξήγηση διόρθωσης ενός ζητήματος σάρωσης σε απλή γλώσσα, ως JSON

Επίλυση ενός 404 σε ένα βήμα

Το --from-404={path} είναι η headless έκδοση της ενέργειας Δημιουργία ανακατεύθυνσης με ένα κλικ από την παρακολούθηση 404: δημιουργεί τον κανόνα και επισημαίνει την αντίστοιχη καταγεγραμμένη εγγραφή ως ανακατευθυνόμενη, συνδέοντάς τη με τον νέο κανόνα:

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.

Η εντολή εκτελεί τους ίδιους ελέγχους εγκυρότητας με τη φόρμα Filament — μη έγκυρα μοτίβα regex, υπερμεγέθεις τιμές και εξωτερικοί στόχοι εκτός λίστας επιτρεπόμενων απορρίπτονται πριν γραφτεί οτιδήποτε.

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();

Κάθε επαναλαμβανόμενη εντολή παραπάνω έχει συνιστώμενη συχνότητα στον οδηγό Ρύθμισης παραγωγής, μαζί με την τοπολογία ουρών, τις ρυθμίσεις workers, την πολιτική επανάληψης/ανάκαμψης, τη διατήρηση και τη δομημένη τηλεμετρία που παράγει κάθε ολοκληρωμένη εκτέλεση (ανακτημένες σελίδες, ελεγμένοι σύνδεσμοι, αποκλεισμένες URL, διάρκεια, καθυστέρηση ουράς).

Τι χρειάζεται το περιβάλλον Filament;

Καμία λειτουργία. Ολόκληρη η μηχανή — ροή σάρωσης, παρακολούθηση ζητημάτων, αντιστοίχιση ανακατευθύνσεων, καταγραφή 404, εκκαθάριση, ανάκαμψη — είναι ίδια με ή χωρίς Filament. Ο πίνακας προσθέτει τις προβολές: πίνακα ελέγχου με ζωντανή πρόοδο σάρωσης και στατιστικά σοβαρότητας, περιήγηση στα ζητήματα με φίλτρα και διαλόγους ανά σελίδα, κουμπιά «Παράβλεψη»/«Άνοιγμα ξανά», φόρμες CRUD ανακατευθύνσεων και τον πίνακα 404 με την ενέργεια ενός κλικ. Η παράβλεψη ή το εκ νέου άνοιγμα ζητήματος δεν έχει προς το παρόν ειδική εντολή — κάντε την από τον πίνακα ή μέσω του μοντέλου SEOScanIssue (markIgnored() / reopen()) στο tinker ή στον δικό σας κώδικα.

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