diff --git a/apps/site/src/app/specification/[[...slug]]/page.tsx b/apps/site/src/app/specification/[[...slug]]/page.tsx index b8583436b..aa4308b32 100644 --- a/apps/site/src/app/specification/[[...slug]]/page.tsx +++ b/apps/site/src/app/specification/[[...slug]]/page.tsx @@ -146,7 +146,7 @@ export async function generateMetadata({ params }: DocsPageProps): Promise page.path === `${slug}.md`); + const isMaintainerDoc = MAINTAINER_DOC_SLUGS.some((maintainerSlug) => page.path === `${maintainerSlug}.md`); const canonicalUrl = isRootSlug ? "/specification" : page.url; return { diff --git a/apps/site/src/lib/docs-source.ts b/apps/site/src/lib/docs-source.ts index 1460f5b0a..b05c86790 100644 --- a/apps/site/src/lib/docs-source.ts +++ b/apps/site/src/lib/docs-source.ts @@ -56,9 +56,6 @@ export function getSpecNavTree(): PageTree.Root { const byUrl = itemsByUrl(full); return { ...full, - children: [ - { $id: "spec-rail-primary", name: "Specification", type: "separator" }, - ...pick(byUrl, PRIMARY_SLUGS), - ], + children: [{ $id: "spec-rail-primary", name: "Specification", type: "separator" }, ...pick(byUrl, PRIMARY_SLUGS)], }; } diff --git a/apps/site/src/lib/sitemap-entries.ts b/apps/site/src/lib/sitemap-entries.ts index e73ef242d..c39f13928 100644 --- a/apps/site/src/lib/sitemap-entries.ts +++ b/apps/site/src/lib/sitemap-entries.ts @@ -28,10 +28,7 @@ export interface DocPageRef { // and their own noindex all keep out. Derived from MAINTAINER_DOC_SLUGS // rather than repeated, so the rail and the sitemap cannot disagree about // what is unlisted. -const NON_CANONICAL_DOC_PATHS = new Set([ - "README.md", - ...MAINTAINER_DOC_SLUGS.map((slug) => `${slug}.md`), -]); +const NON_CANONICAL_DOC_PATHS = new Set(["README.md", ...MAINTAINER_DOC_SLUGS.map((slug) => `${slug}.md`)]); // SEO/GEO standard MUST #4.3: a sitemap must contain only canonical, // indexable URLs, and `lastmod` must represent the last substantive change to