The Magento SEO suite built headless-first and AI-native.
Meta templates, JSON-LD, hreflang, Open Graph, robots.txt — every feature also exposed via GraphQL for VelaFront, PWA Studio, and Hyvä Checkout. Plus a Claude-powered meta generator and audit grids that stop crawl-budget bleed.
Everything Magento core left out — meta, schema, social, robots.
Meta title & description templates
Variables like {{product.name}} | {{store.frontend_name}}, with a global title suffix. Native entity-level overrides always win. Pluggable variable namespaces.
JSON-LD structured data
Product (offers, aggregateRating, brand, GTIN/MPN), Breadcrumb, Organization, WebSite + SearchAction. Pool-based — register custom schemas with one DI entry.
Open Graph & Twitter Cards
og:* and twitter:* meta tags driven by the same template engine. Image fallback to product / category image.
Claude-powered meta at scale. Bulk, in-context, or fully automated.
Bulk AI generator
bin/magento seosuite:meta:generate -e product. Two-block cacheable prompt design hits ~90% prompt-cache discount across a batch run.
In-context Generate button
One click on the product / category / CMS edit form opens a modal with the suggestion. No DB write until the editor saves.
Cron auto-generate
Every 30 minutes, scans for entities with no meta and queues suggestions until the per-run budget is reached. Optional auto-approve for hands-off ops.
Detect, persist, and one-click fix Magento's biggest SEO bleeds.
Index Budget Audit
Five auditors: out-of-stock-but-indexable, disabled-but-rewritten, layered-nav explosion, canonical config, CMS missing meta. Per-row Apply Fix on auto-fixable codes.
Hreflang validator + auto-matcher
Crawls the multi-store catalog, reports missing reciprocal pairs / locale collisions / x-default issues. Auto-matches by SKU or url_key.
Out-of-Stock Rules Engine
Tracks days-OOS per product per store; after threshold applies noindex (auto-reverts on restock), 301 to category, or disable.
Same backend, three storefront flavours.
Luma
Drops into head.additional via standard layout XML. No JS dependencies, no Knockout — pure server-rendered HTML.
Hyvä
Same layout XML as Luma — Hyvä's head.additional container picks it up unchanged. Zero compatibility shim required.
VelaFront / Next.js
seo: SeoMetadata field on ProductInterface, CategoryInterface, CmsPage. Single GraphQL query returns title, description, robots, canonical, OG tags, and JSON-LD.
Five minutes to running.
Composer install, setup:upgrade, and one toggle per feature. Defaults are sane — nothing fires until you flip its switch.