Skip to content

refactor(docs): move docs to /products and /realms URL namespace with 301s - #26

Merged
coopbri merged 1 commit into
masterfrom
refactor/products-realms-url-namespace
Aug 19, 2026
Merged

refactor(docs): move docs to /products and /realms URL namespace with 301s#26
coopbri merged 1 commit into
masterfrom
refactor/products-realms-url-namespace

Conversation

@coopbri

@coopbri coopbri commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Moves every product's docs from realm-nested paths (/armory/aether) and bare-root paths (/lens) to a single stable /products/<id> namespace, with realm hubs at /realms/<id>. Realm stops being a URL segment and becomes a data attribute driven by the omni-api catalog, so re-categorizing a product no longer breaks its URL.

Changes

  • git mv all product / realm-hub content into products/ and realms/; rewrite internal MDX links to canonical targets (0 legacy links remain in content/docs)
  • Committed, public-only redirect map (103 entries) powering 301s in the router splat loader via resolveRedirect
  • Sidebar realm grouping re-driven from the vendored catalog instead of path inference
  • realms.json docsUrl/realms/<id>; legacy /core/vortex retargeted to /products/vortex
  • Added sitemap, robots.txt, and <link rel="canonical"> for the moved URLs

Privacy

Private/unlaunched product pages stay untracked and are scrubbed from every shippable generated file (redirect map, productRealms, root meta.json). Verified no private slug leaks.

Verification

  • vitest 19/19, tsc --noEmit clean, biome (error-level) clean, knip clean
  • bun run build succeeds
  • Dev smoke test: canonical routes 200, realm hubs 200, ecosystem 200, real legacy paths 301

Follow-up (not in this PR)

Cloudflare Bulk Redirects import (scripts/migration/data/cloudflare-redirects.csv) as durable edge-level backstop for inbound links.

… 301s

Move every product's docs from realm-nested paths (/armory/aether) and
bare-root paths (/lens) to a single stable /products/<id> namespace, and
realm hubs to /realms/<id>. Realm stops being a URL segment and becomes a
data attribute driven by the omni-api catalog.

- git mv all product/realm-hub content into products/ and realms/
- rewrite internal MDX links to canonical targets
- add a committed, public-only redirect map (103 entries) powering 301s in
  the router splat loader via resolveRedirect
- re-drive sidebar realm grouping from the vendored catalog, not path
- point realms.json docsUrl at /realms/<id>; retarget legacy /core/vortex
- add sitemap + robots + canonical tags for the moved URLs

Private/unlaunched product pages stay untracked and are scrubbed from all
shippable generated files (redirect map, productRealms, root meta.json).
@coopbri
coopbri merged commit cca7f9a into master Aug 19, 2026
2 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 19, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant