Laravel SEO packages compared: Laravel Head, SEOTools, laravel-seo and the rest, by what each renders and which Laravel it needs

Six head packages and three helpers, with the Laravel versions each supports, read from Packagist and their own docs on 22 October 2026.

Published by AI Knows Us · Updated 21 October 2026

The best Laravel SEO package depends on your Laravel version and on where your SEO data lives. On Laravel 13, the first-party laravel/head package now covers titles, meta tags, Open Graph, canonical URLs, robots rules, hreflang alternates and JSON-LD, and it works with Blade, Livewire and Inertia. On Laravel 10 to 12, artesaos/seotools is the long-standing choice for setting tags from controllers, and ralphjsmit/laravel-seo suits sites that want SEO fields stored on each model in the database. Whichever you pick for the head, add spatie/laravel-sitemap for the sitemap, because none of the head packages builds one. Every version number, requirement and download figure below was read from Packagist and from each package's own README or documentation on 22 October 2026.

A package writes tags. It does not decide how your pages render, which matters more. If your front end uses Inertia without server-side rendering, crawlers receive a shell first, so settle that question before you choose. Our Laravel SEO guide covers rendering, redirects, canonicals behind a load balancer and the rest of the settings work.

The Laravel SEO packages side by side

The "Laravel" column is taken from each package's composer requirements on Packagist, not from its marketing. Monthly downloads are Packagist's own count and show how widely a package is installed, not how good it is.

PackageHow you set tagsLaravel versionsLatest releaseMonthly downloads
laravel/headFluent Head facade, route metadata, @head directive13 (needs 13.17 or later), PHP 8.3v0.2.2, 26 Aug 202699,492
artesaos/seotoolsFacades: SEOMeta, OpenGraph, TwitterCard, JsonLd10 to 13, plus Lumen, PHP 8.1v1.4.1, 28 Mar 2026178,277
ralphjsmit/laravel-seoDatabase table plus a HasSEO trait on models11 to 13, PHP 8.21.8.3, 5 Oct 2026106,849
honeystone/laravel-seoseo() helper and @metadata directive10 to 13, PHP 8.22.1.1, 18 Mar 202611,528
archtechx/laravel-seoseo() helper and a Blade component10 to 13, PHP 8.2v0.10.4, 31 Mar 202613,212
butschster/meta-tagsMeta class with placements and packages9 to 13, PHP 8.0v3.3.0, 22 Feb 202624,233

All six are MIT licensed and free to install with Composer.

Laravel Head: the first-party option on Laravel 13

Laravel Head is published by the Laravel team and documented on laravel.com. Its documentation describes a fluent API for the document head: title and meta tags, Open Graph, X cards, canonical URLs, robots directives, performance hints, pagination links, locale alternates, feeds and structured data.

Three things set it apart from the older packages:

  • Metadata on routes. You can attach a title, description or robots rule to a route or a whole route group with withHead(). A group for an admin area can be set to noindex in one line.
  • A clear order of precedence. Page defaults, then route group metadata, then route metadata, then runtime calls, then error pages. A higher layer replaces a lower one field by field, so a runtime title does not wipe out the route's description.
  • Inertia without a client-side Head component. With Inertia 3.5 or later and the serverHead option switched on, the tags are present in the first HTML response, so crawlers and link-preview bots read them without running JavaScript.

Canonical URLs are normalised to https by default. Invalid JSON-LD throws an exception outside production and logs a warning in production, which catches broken schema before it ships. The built-in schema builders are article, blogPosting, product, offer, brand, breadcrumbs, faq, organization, person, webPage and webSite, and any other schema.org type can be built as a custom schema.

The version number is 0.2.2, so read the release notes before each upgrade. If you are on Laravel 13 and starting fresh, this is the package to try first, because it removes a third-party dependency from the most important tags on your site.

use Laravel\Head\Facades\Head; Head::title($post->title) ->description($post->excerpt) ->canonical();

artesaos/seotools: the established choice for older apps

SEOTools has the largest install base of the head packages, with 5,985,030 total downloads on Packagist. You set tags from a controller through separate facades for meta tags, Open Graph, Twitter cards and JSON-LD, then print them in your layout. It supports Laravel 10 through 13 and Lumen, which none of the others list.

It suits an app that already sets SEO values in controllers. Its README states plainly that it does not generate sitemaps and points to spatie/laravel-sitemap instead.

ralphjsmit/laravel-seo: SEO fields stored with your models

This package takes a different approach. It publishes a migration, stores SEO data in its own table, and links it to your models through a HasSEO trait. You can save a title and description per post, or return them from a getDynamicSEOData() method so nothing has to be saved by hand. One call in the layout, seo()->for($post), renders the title, meta tags, Open Graph, Twitter tags, robots tag, alternates, favicon and structured data. Article and BreadcrumbList schema are pre-configured, and FAQPage is supported.

It fits content sites where editors set SEO fields in an admin panel. A companion package, ralphjsmit/laravel-filament-seo, connects it to Filament.

Honeystone, ArchTech and butschster

honeystone/laravel-seo has generators for metadata, X cards, Open Graph and JSON-LD, plus a React component and middleware for Inertia React apps.

archtechx/laravel-seo is deliberately small: title and Open Graph tags by default, Twitter tags as an extension, and a Blade component for the layout. It can call Flipp or Previewify to generate social images.

butschster/meta-tags manages meta tags together with CSS and JavaScript tags, using placements and reusable Open Graph and Twitter Card "packages".

The helpers every Laravel site still needs

The head packages do not write sitemaps or audit pages. These three are often installed beside them.

  • spatie/laravel-sitemap builds a sitemap by crawling your site, from URLs you add with a last-modified date, or both. Version 8.2.0 (24 June 2026) needs Laravel 12 or 13 and PHP 8.4. It is the most installed package in this list at 1,112,596 downloads a month. On older Laravel versions, install an earlier major version.
  • spatie/laravel-robots-middleware adds a robots header of "all" or "none" through middleware, which is useful for keeping a staging site out of search.
  • backstage/laravel-seo-scanner, published earlier as vormkracht10/laravel-seo-scanner, crawls your routes and runs checks on meta tags, headings, images, broken links, response time and security headers, and can save scans to the database. It needs Laravel 12 or 13.

Read a scanner's results as a checklist, not as a ranking score. Some of its checks are house rules chosen by its authors, such as content of at least 2,100 characters and a share of sentences with transition words. Google's helpful content guidance asks whether you are writing to a word count because you heard Google prefers one, and answers: "No, we don't."

Two tags worth knowing about before you configure them

FAQ schema. Laravel Head and ralphjsmit/laravel-seo both build FAQPage markup. Google's Search Central changelog says the FAQ rich result stopped appearing in Google Search from 7 May 2026, and its documentation was removed in June 2026. The markup is still valid schema.org, but do not add it expecting a rich result in Google.

llms.txt. The scanner checks for an llms.txt file. Google added a note on 15 June 2026 that these files are not needed for Google Search and do not affect visibility or rankings either way, while saying it is fine to keep one for other services that use it.

Which package to choose

  • Laravel 13, new project: laravel/head plus spatie/laravel-sitemap.
  • Laravel 10 to 12, tags set in controllers: artesaos/seotools.
  • Editors manage SEO per page in an admin panel: ralphjsmit/laravel-seo, with the Filament add-on if you use Filament.
  • Inertia with React on Laravel 12 or older: honeystone/laravel-seo, which ships an Inertia React component.
  • You only need a title, a description and social cards: archtechx/laravel-seo, or a few lines in your Blade layout with no package at all.

Whatever you install, check the result the way a crawler sees it: request a page with curl and confirm the title, description, canonical and JSON-LD are in the raw HTML.

Questions about Laravel SEO packages

Is there an official Laravel SEO package?

Yes. Laravel Head (laravel/head) is published by the Laravel team and documented at laravel.com. It requires Laravel 13.17 or later and PHP 8.3, and its latest release on 22 October 2026 was v0.2.2.

Which Laravel SEO package is the most used?

By total downloads on Packagist, artesaos/seotools leads the head packages at almost 6 million. spatie/laravel-sitemap is installed far more widely, but it only builds sitemaps.

Do I need a package for SEO in Laravel?

No. A title, meta description and canonical tag can be written straight into a Blade layout with yields or sections. A package helps once you have many page types, structured data or an Inertia front end.

Does a Laravel SEO package generate a sitemap?

None of the six head packages above lists sitemap generation. Use spatie/laravel-sitemap, or a route that returns XML built from your models.

Can I use these packages with Inertia?

Laravel Head puts Inertia tags in the first response with the serverHead option on Inertia 3.5 or later. Honeystone ships a React component for Inertia.

When the question is asked to an assistant instead of a search box

Ask ChatGPT or Claude "which Laravel SEO package should I use" and the answer names packages from the pages the assistant reads. The app you build meets the same test: a buyer asks an assistant for a tool like yours, and it names some products and leaves others out. Clean tags help it read your pages, but they do not decide whether you get named. That second question is what AI Knows Us measures, assistant by assistant.

Read next

Simon-Kucher pricing strategy, what the firm publishes about its own method and what a Singapore buyer should ask before briefing itThe firm publishes its approach, its scale and four named service lines, and publishes no fee, so the useful work before any call is reading what it claims and deciding which decision you are buying.International pricing strategies for a Singapore company, and the corridor that stops one market undercutting anotherA converted home price is the one answer that is almost always wrong, so set a price per market and keep the gaps narrower than the cost of moving a unit between them.Premium pricing strategy for a Singapore business, and the fence that makes the higher number holdCharging permanently more than the credible alternatives works when the buyer can name what the extra money buys, and the published Singapore writing ladder shows exactly how that is built.Red Antler publishes no price, so here is what its own site does publish and how to cost the same scope from SingaporeRead on 29 October 2026, three pages of redantler.com carry a complete deliverable list, three business stages and not one figure about what any of it costs.Hiring a full service content agency, the five stages a retainer has to cover and the two handoffs where the money leaksMost content retainers buy production and quietly leave strategy and distribution with you, so price the stages rather than the word count.Hiring a branding agency for a Singapore financial services firm, and the three registers to search before you fall in love with a nameIdentity work for a licensed firm starts with a clearance search rather than a mood board, and two of the three registers are free to read in a browser today.

Or browse the whole archive.

See what AI says about you.

The first scan is free, it needs no account, and it asks the questions your buyers ask.

Free. No card. We ask 5 real buyer questions on 2 AI apps.

Already sure you want this? Start free. No card needed, and the free plan stays free. Pay only when you want the work done. Or talk to a person if you have a question first. Or read how we fix what it finds.