- How do I install archtechx/laravel-seo in a Laravel application?
- Install it with Composer using composer require archtechx/laravel-seo. The package ships a publishable config file and registers its own routes for sitemap.xml and robots.txt, so you run the vendor:publish command to customize the configuration. There are no service provider registrations to add manually thanks to Laravel package auto-discovery. After publishing, set your defaults in the config and start attaching SEO data to your models.
- Which Laravel and PHP versions does archtechx/laravel-seo support?
- Recent releases target modern Laravel applications, with Laravel 10, 11 and 12 supported today and Laravel 13 support added in v0.10.4. The minimum PHP version should be confirmed against the composer.json of the specific tagged release before you pin it. Because the package is pre-1.0, the supported framework matrix can change between minor releases. Always read the changelog and composer constraints rather than relying on the README alone.
- How do I set page titles, meta descriptions, canonical URLs and robots directives?
- The package exposes a fluent API, typically used through the HasSEO trait on Eloquent models, so you can define a title, description, canonical URL and robots directive in one readable chain. You can also configure sensible fallbacks such as a site-wide title suffix and default description. Rendering happens in your Blade layout through the package's tag output, which keeps views free of conditional meta tag logic. Canonical and robots values can be overridden per page when you need to noindex something specific.
- Does archtechx/laravel-seo support Open Graph and Twitter card tags?
- Yes, Open Graph and Twitter card metadata are first-class features of the package. You define the title, description and image once and the package renders both the og: and twitter: variants. This saves you from duplicating the same values across two sets of tags. The generated markup is plain HTML in the document head, so it works with Blade, Livewire and Inertia front ends as long as rendering is server-side.
- Does the package generate Open Graph images, and is Intervention Image required?
- The package can generate Open Graph images, which is why Intervention Image appears in its dependency tree. Intervention Image v3 support was added in v0.10.4, and that release may offer dual support for v2 or require v3, so check composer.json before pinning. The main risk here is a dependency conflict if your host application is still locked to Intervention v2. If you do not need generated OG images, confirm whether the feature can be disabled so you can defer that decision entirely.
- How do the sitemap.xml and robots.txt routes work?
- The package registers routes that serve sitemap.xml and robots.txt directly from your application, so you do not need a separate static file or cron job. Sitemap entries are typically produced from your Eloquent models, which means new content appears automatically. Because these routes are public and search-engine-facing, misconfiguration is a real SEO risk rather than an application error. Test the output in staging and check for excluded or stale URLs before going live.
- Does archtechx/laravel-seo support multiple locales or translated SEO metadata?
- The package is deliberately narrow in scope and is not built as a multi-locale schema or hreflang generation engine. Basic per-page overrides let you set different titles and descriptions for localized routes, but generating full localized sitemaps or alternate-language link graphs is outside its core purpose. If your application is heavily multi-locale, expect to write your own logic around the package or look at more specialized tooling. Teams with CMS-driven SEO pipelines in another service should also evaluate carefully before adopting.
- Is it safe to upgrade between 0.10.x releases if the package is pre-1.0?
- Treat every 0.10.x bump as a potential breaking change, because semantic versioning guarantees do not apply below 1.0. Read the changelog, diff the tag and inspect composer.json to see whether Laravel or Intervention Image constraints changed. In particular, verify whether a release adds dual support or drops older versions, since that decides whether the upgrade is forced or optional. Pinning to a fixed minor version in production is the safer approach until a stable 1.0 exists.
- How does archtechx/laravel-seo compare to other Laravel SEO packages?
- This package is intentionally lightweight and opinionated, focusing on rendering meta tags, Open Graph and Twitter data, canonicals, robots directives, sitemaps and OG images. It does not attempt content strategy, schema.org modeling or analytics, so it stays easy to reason about and cheap to integrate. Alternatives may bundle structured data helpers or CMS integrations, at the cost of more surface area. If you want a narrow layer that handles presentation and delivery, this one fits standard Laravel monoliths well.
- Can I test the generated SEO tags in my Laravel test suite?
- Yes, you can assert against the rendered HTML in feature tests using Laravel's standard response assertions. Assert that the expected title, description, canonical link and og: tags appear in the head for a given route. This is worth doing for sitemap and robots output too, since those routes are user-visible to search engines and easy to break during refactors. Keep a small set of tests covering your defaults and per-page overrides rather than testing every tag.