H1 SEO Pack

Version 1.0.2-SNAPSHOT · Magnolia 6.4 · Java 21

The H1 SEO Pack gives a Magnolia instance everything a site needs to be found — by search engines, by social networks and by AI assistants — and hands the day-to-day of it to the content team. No third-party plugin, no developer ticket for a title change, no manual step at release time: the metadata is a tab in the dialog the author already uses, and sitemap.xml, robots.txt and llms.txt are generated from the content that is already published.

It ships as one JAR with five independent light modules, so you can adopt them one at a time — the metadata tab without the redirects, the sitemap without llms.txt.

Feature What it solves Light module
Metadata (SEO + GEO) Per-page and per-item title, description, social card, FAQ and structured data — in the same form as the content. h1-seo-metadata
Sitemap An always-current sitemap.xml, including one entry per item of a dynamic collection. h1-seo-sitemap
Robots An author-editable robots.txt with the Sitemap: line injected for the right domain. h1-seo-robots
llms.txt (GEO) An auto-generated llms.txt: the curated site index AI assistants read. h1-seo-llms
Redirects Exact / prefix / regex rules with 301-302, applied on both channels, with CSV bulk import and export. h1-seo-redirect

Why use H1 SEO?

  • Headless and server-rendered from one source. Every feature exposes its data as JSON under /.rest/v1/seo/* for a decoupled front end, and renders the classic artifact (/sitemap.xml, /robots.txt, /llms.txt) from Magnolia. Both channels call the same service, so they cannot disagree.
  • Ready for AI search (GEO). llms.txt is generated with zero new fields: it reuses the summary, the descriptions and the No index decisions the team already made for Google.
  • Multi-brand by design. Put a sitemap, robots or llms page under /{brand} and it covers that subtree only, so each brand gets its own artifacts and its own redirect folder.
  • Multilingual URLs decided once. With more than one language configured, no channel ever publishes an unprefixed path, hreflang and x-default are emitted consistently, and a redirect target always lands on a language — the single exception, the default language's home, is implemented in one place per channel.
  • Redirects that survive a migration. Precedence is computed from the rule (exact > prefix > regex, longest pattern wins) rather than hand-managed, the CSV round-trip is symmetrical, and a bad row does not abort the import.
  • AI-operable. Five MCP tools let an assistant read and write the metadata, inspect the generated sitemap / robots / llms.txt, and create, edit and test a redirect rule against the same matcher the site uses.

Documentation

  • Authors — the [H1] SEO tab field by field, what an empty field falls back to, the sitemap / robots / llms.txt pages, and the Redirects app including the CSV round-trip.
  • Developers · Installation — what the JAR contains, Maven coordinates, deploy, the wiring the module cannot do for you, the permissions the public channels need, and the version deltas.
  • Developers · Configuration — every property, service, query parameter, REST endpoint, virtual URI, CSV column and MCP tool.
  • Troubleshooting — symptom to cause, with the silent failures first.

Requirements

Magnolia 6.4 (built against bundle 6.4.0; DX Core or Community)
Java 21
Magnolia modules core, rest-integration, rest-services (all three declared in the module descriptor)
H1 modules h1-helpers (mandatory, ships with the module) · h1-mcp-api (optional, only for the MCP tools)
Optional integrations h1-sites — supplies the site globals: organization name and type, default social image, logo, social profiles
Magnolia platform APIs used magnolia-rendering, magnolia-templating, magnolia-dam-templating, magnolia-virtual-uri, magnolia-ui-framework, magnolia-ui-contentapp (all provided — supplied by the bundle)