app/sitemap.ts lists seven static routes by hand: /, /submit, /about, /agent, /tag, /hall-of-fame and /teams. Several real, public, indexable pages are missing:
| Route |
File |
/stats |
app/(public)/stats/page.tsx |
/search |
app/(public)/search/page.tsx |
/tools |
app/(public)/tools/page.tsx |
/contact |
app/(public)/contact/page.tsx |
/privacy |
app/(public)/privacy/page.tsx |
/terms |
app/(public)/terms/page.tsx |
None of them are disallowed in app/robots.ts, so they are meant to be crawled; they simply were never added when the sitemap was written.
Fix: add entries for each, following the existing object shape (url, lastModified, changeFrequency, priority). Reasonable values by analogy with what is already there: /stats weekly at 0.6, /search monthly at 0.4, /tools monthly at 0.5, and /contact, /privacy, /terms yearly at 0.3.
Two judgement calls to make and mention in the PR:
/search without a query renders an empty results page, so you may decide it does not belong in a sitemap at all. Either choice is fine, just say which and why.
- The static entries are seven near-identical object literals and adding six more makes that worse. Pulling them into a small array of
{ path, changeFrequency, priority } and mapping over it would be a welcome tidy-up, but keep it in the same PR only if it stays readable.
Where to start: app/sitemap.ts. Verify by running npm run dev and fetching http://localhost:3000/sitemap.xml. Then run npx prettier --check ., npm run lint, npx tsc --noEmit and npm run build.
If you would like to take this on, comment here to claim it. Contributors can hold two open claims at a time.
app/sitemap.tslists seven static routes by hand:/,/submit,/about,/agent,/tag,/hall-of-fameand/teams. Several real, public, indexable pages are missing:/statsapp/(public)/stats/page.tsx/searchapp/(public)/search/page.tsx/toolsapp/(public)/tools/page.tsx/contactapp/(public)/contact/page.tsx/privacyapp/(public)/privacy/page.tsx/termsapp/(public)/terms/page.tsxNone of them are disallowed in
app/robots.ts, so they are meant to be crawled; they simply were never added when the sitemap was written.Fix: add entries for each, following the existing object shape (
url,lastModified,changeFrequency,priority). Reasonable values by analogy with what is already there:/statsweekly at 0.6,/searchmonthly at 0.4,/toolsmonthly at 0.5, and/contact,/privacy,/termsyearly at 0.3.Two judgement calls to make and mention in the PR:
/searchwithout a query renders an empty results page, so you may decide it does not belong in a sitemap at all. Either choice is fine, just say which and why.{ path, changeFrequency, priority }and mapping over it would be a welcome tidy-up, but keep it in the same PR only if it stays readable.Where to start:
app/sitemap.ts. Verify by runningnpm run devand fetchinghttp://localhost:3000/sitemap.xml. Then runnpx prettier --check .,npm run lint,npx tsc --noEmitandnpm run build.If you would like to take this on, comment here to claim it. Contributors can hold two open claims at a time.