Problem
/cite/ alias pages for draft records are not marked noindex, and the sitemap includes them.
buildNoindexPredicate in src/lib/noindex.ts covers /id/… record paths and the /reg/work/{key}/ prefix. It does not cover /cite/. src/pages/cite/[...alias].astro writes one HTML redirect page for each alias. That page carries no robots meta tag. The sitemap filter in astro.config.mjs therefore keeps every alias page.
Against the real registry this publishes about 172,800 sitemap entries that point at draft references (86,397 qualified aliases and 86,397 bare aliases).
Why it matters
ADR-0003 (as amended by ADR-0004) requires draft record pages to be noindex, excluded from search, and excluded from the sitemap. The /cite/ gap defeats that rule. It also contradicts robots.txt, which tells crawlers to read /dump/ instead of crawling /id/ or /cite/.
Reproduce
- Run
npm run build:fast.
- Open
dist/sitemap-0.xml.
- Find
/cite/fixture.work/fixture-alternate/1/. The fixture reference behind that alias has status: draft, and its /id/ref/… page is correctly excluded.
Suggested fix
Extend buildNoindexPredicate to return the /cite/ alias paths of draft records, and render the robots meta tag in src/pages/cite/[...alias].astro.
Found during review of #127. Not caused by that PR.
Problem
/cite/alias pages for draft records are not markednoindex, and the sitemap includes them.buildNoindexPredicateinsrc/lib/noindex.tscovers/id/…record paths and the/reg/work/{key}/prefix. It does not cover/cite/.src/pages/cite/[...alias].astrowrites one HTML redirect page for each alias. That page carries norobotsmeta tag. The sitemap filter inastro.config.mjstherefore keeps every alias page.Against the real registry this publishes about 172,800 sitemap entries that point at draft references (86,397 qualified aliases and 86,397 bare aliases).
Why it matters
ADR-0003 (as amended by ADR-0004) requires draft record pages to be
noindex, excluded from search, and excluded from the sitemap. The/cite/gap defeats that rule. It also contradictsrobots.txt, which tells crawlers to read/dump/instead of crawling/id/or/cite/.Reproduce
npm run build:fast.dist/sitemap-0.xml./cite/fixture.work/fixture-alternate/1/. The fixture reference behind that alias hasstatus: draft, and its/id/ref/…page is correctly excluded.Suggested fix
Extend
buildNoindexPredicateto return the/cite/alias paths of draft records, and render therobotsmeta tag insrc/pages/cite/[...alias].astro.Found during review of #127. Not caused by that PR.