- How do I install laravel-seo-scanner in a Laravel application?
- Install it with Composer using composer require vormkracht10/laravel-seo-scanner. Laravel's package auto-discovery registers the service provider, after which you publish the package config file and run its published migrations. Then point it at your routes, make sure a queue connection and worker are available, and run the scan Artisan command.
- Which Laravel and PHP versions does laravel-seo-scanner support?
- The package targets PHP 8.x applications and follows standard Laravel conventions: service provider auto-discovery, publishable config and the native queue system, so it slots into a conventional stack rather than requiring a parallel one. Exact version constraints are defined in the package's composer.json, so check those before installing on an older Laravel release. It ships on a semver-consistent 5.x line that treats minor releases as drop-in upgrades.
- How do I scan my Laravel routes for SEO issues?
- Run the package's Artisan scan command and it works through your configured routes, checking each page for SEO problems. Results are aggregated into a report that flags issues with titles, meta descriptions, headings, images and internal links so you can fix them quickly. Which checks run is controlled by the published config file, so you can tailor the audit to your site.
- Does laravel-seo-scanner need a queue worker to run?
- Yes. Scans are chunked into queued jobs, checks are executed per page, and results are aggregated afterwards, so you need a running queue worker on your configured connection such as Redis, SQS or the database driver. Without a worker the jobs simply sit in the queue and the scan never completes. Treat it as a scheduled asynchronous audit pipeline rather than a synchronous request-time feature.
- What SEO checks does laravel-seo-scanner perform?
- It inspects page titles, meta descriptions, heading structure, image alt attributes and internal links, among other checks, and reports what is missing or malformed. Each check is configurable, so you can enable, disable or adjust the rules to match your site's requirements. The output is a clear report of issues per page rather than a pass or fail score alone.
- Can laravel-seo-scanner scan JavaScript-rendered single page applications?
- Yes. SPA rendering support lets the scanner optionally render JavaScript before parsing instead of only fetching and parsing static HTML, which matters for client-rendered routes. That mode requires a headless browser runtime available to your queue workers, so it is a real deployment consideration rather than just a config toggle. There is a safe fallback: if rendering is unavailable or fails, the scan degrades to static HTML parsing instead of hard-failing.
- What happens if a single page fails during an SEO scan?
- Failure isolation means one malformed or unreachable page no longer aborts the entire scan; the failing check is skipped or recorded and the remaining pages continue to be processed. This reliability fix landed in v5.22.0, so make sure you are on that release or later. Pair it with log or event monitoring so isolated check failures stay visible for alerting rather than being silently swallowed.
- How do I schedule SEO scans in production and how long do they take?
- Schedule the scan command with Laravel's scheduler, for example nightly, and ensure enough queue workers are available for the chunked jobs. Be aware that throttle-aware retries mean throttled chunks now retry rather than exhausting attempts and failing fast, so scans can take longer under rate limiting. SPA mode adds headless render time and worker memory pressure, so isolate it on a dedicated worker pool if you scan at volume.
- Is laravel-seo-scanner v5.22.0 a safe upgrade from v5.21.x?
- It is a minor, semver-consistent release with no advertised breaking changes to configuration or published migrations. The recommended path is to upgrade, run an existing scan against a staging target to confirm parity, then pilot any new SPA mode on a single known route with the fallback configured. Keep your published config file in version control so you can diff it against the package defaults after upgrading.
- How is laravel-seo-scanner different from packages that generate SEO meta tags?
- Meta tag packages help you output titles, descriptions and Open Graph tags at render time, whereas laravel-seo-scanner audits your actual routes and reports where those elements are missing or incorrect. The two complement each other: one emits the tags, the other catches regressions across pages such as missing descriptions, weak heading structure or images without alt text. The scanner's value is the audit report and the scheduled regression check, not tag generation.