Modern SEO Ready
Nexus Docs is built for public documentation that should be easy to crawl, share, index, and maintain.
SEO is generated from the same source of truth as the page: file path, frontmatter, rendered headings, tags, and access rules.
What is generated
| Feature | Source |
|---|---|
| Page title | Frontmatter title plus breadcrumb context |
| Meta description | Frontmatter summary |
| Canonical URL | Route slug and NEXT_PUBLIC_SITE_URL |
| OpenGraph metadata | Title, summary, tags, and generated OG image URL |
| Twitter card metadata | Title, summary, and OG image URL |
| JSON-LD | TechArticle and breadcrumb structured data |
| Sitemap | Public, published, non-hidden docs |
| Tag landing pages | Public docs tags |
| Heading anchors | Rendered headings via rehype-slug and autolink headings |
| Redirects | redirect_from frontmatter plus configured migration redirects |
See MkDocs Headers and Headings for the exact heading, anchor, and table-of-contents rules.
SEO frontmatter example
---
title: "GitLab Automatic Integration"
summary: "Trigger content sync, cache invalidation, and search reindexing from GitLab events."
access_tier: public
product: platform
status: published
owner: maintainer
tags: [gitlab, automation, webhooks]
redirect_from:
- /docs/gitlab.html
- /docs/automation/gitlab
nav_order: 1
---Use summary as a real search result description, not an internal note. Keep it specific and under roughly 160 characters.
Clean URLs
File paths become clean document URLs:
| File | URL |
|---|---|
content/seo.md | /docs/seo |
content/integrations/gitlab.md | /docs/integrations/gitlab |
content/authoring/index.mdx | /docs/authoring |
The app also redirects common migration shapes:
/docs/name.htmlto/docs/name/docs/name.mdto/docs/name/docs/section/indexto/docs/section- trailing slashes to the canonical non-trailing path
Sitemap rules
Only public, published, non-hidden docs are included in the sitemap.
That means:
access_tier: publiccan be indexed.access_tier: client,partner, or private tiers are excluded.status: draftis excluded.nav_hidden: trueis excluded.
This prevents gated pages from being advertised to crawlers.
OpenGraph images
The app exposes /api/og and /api/og?slug=<doc-slug>.
Document pages use that endpoint for social preview images. The generated image includes:
- Documentation brand
- Page title
- Summary
- Product badge when applicable
- Up to four tags
JSON-LD
Document pages render structured data:
TechArticlefor the document itselfBreadcrumbListfor the document path
Search engines can use this to understand page type, topic, ownership, and hierarchy.
Author checklist
Before publishing a page:
- Use a specific
title. - Write a human
summary. - Add useful
tags. - Keep one topic per page.
- Use headings in order.
- Prefer internal links to related docs.
- Add
redirect_fromwhen replacing an old URL. - Keep gated content out of public pages unless it is intentionally represented by a locked block.