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.txtis 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,robotsorllmspage 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,
hreflangandx-defaultare 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.txtpages, 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) |