statamic/seo-pro
SEO Pro is a comprehensive SEO addon for Statamic. It adds an intuitive SEO fieldtype for meta titles and descriptions, Open Graph and Twitter Card tags, XML sitemaps, redirects, canonical URLs, and social image support, helping you improve search visibility without leaving the control panel.
deferred/background queue drivers (#686), a multisite fix for entries without URLs (#688), German translations (#682). We would be purchasing someone else's edge-case backlog, not features we couldn't write.deferred or background drivers. That legitimizes a deliberate trade-off: batch scoring off the save path for faster saves, at the cost of stale scores until the queue drains — which changes what an editor can trust in the moment. Pick one and write it down.Adopt when:
composer.json.deferred or background queue drivers and want SEO errors surfaced rather than silently swallowed. Brief stakeholders before deploying: after upgrade, previously invisible errors will appear, and a report spike is a correctness fix, not a regression.Look elsewhere when:
seo field and does not arrive in your API resource in the shape your front end needs. That mapping is an explicit engineering work item in the consuming app, not something the addon does for you.To executives: This is a small, targeted purchase that removes a recurring engineering maintenance line and closes a quality gap on every page we publish. Instead of building and owning sitemap generation, redirect management, 404 tracking, and a content-wide SEO report, we buy a first-party addon that already carries that edge-case backlog — the latest patch alone closed five real defects, including a multisite bug and a queue-related bug where errors were being silently dropped. Cost is a license plus renewal; the alternative is internal build plus permanent maintenance. It also converts SEO from an after-the-fact marketing audit into a publish-time property, which is the change that actually moves organic performance.
To engineering: Statamic auto-discovers the addon; installation is composer require plus a license key in .env and a config publish. There is no service provider to register. Scope is deliberately narrow: import the shipped SEO fieldset into one collection's blueprint, drop the head-rendering tag into the layout, and remove any hand-written <title> or meta description or you ship duplicates. Then verify the loop — publish an entry, check view source, hit /sitemap.xml, confirm a draft is excluded, create one 301 and test it in a private window. That is a fifteen-minute smoke test that surfaces version, license, and cache problems immediately. Real work items to budget: queue-backed report generation, headless Chrome for social previews, redirect handling ordered ahead of the static cache, forcing noindex outside production, and feature tests that assert rendered head tags plus a sitemap snapshot so the next patch bump is a diff rather than a leap of faith. Expect an error-report spike after upgrading past v7.15.1 — #686 means those errors were never recorded before; that is a fix, not a regression.
To the editorial and marketing leads: The fields live in the control panel next to the content, with character counters and a live social preview, and sensible defaults cascade down from site to collection so editors only type where they genuinely need a custom value. The one habit to break: never copy inherited values down into an entry "just in case" — they freeze and stop tracking the cascade. The cost is adoption, not licensing: one walkthrough, one documented routine for triaging the report, and one named owner for the queue. Do that and the marketing-to-editorial round trip on titles and descriptions largely disappears; skip it and the report is shelfware by next quarter.
The honest caveats, stated up front: low public star count and zero listed dependents reflect a privately installed, license-gated addon rather than weak adoption — judge it on patch cadence and issue responsiveness, both of which look healthy. And this does not replace keyword, backlink, or crawl tooling; it makes each page correct at the moment it ships. Those are two different budgets and should stay two different lines.
How can I help you explore Laravel packages today?