Severity: Medium
Labels: seo, frontend, P2
Location:frontend/src/app/ (no robots.ts/sitemap.ts/manifest.ts); frontend/public/ has only icons
Description
There is no robots.(ts|txt) (crawlers get no directives or sitemap pointer), no sitemap.(ts|xml) (the public marketing routes aren't discoverable as a set), and no manifest.(ts|webmanifest) (not installable; no theme_color/icons for add-to-homescreen). OpenNext on Cloudflare serves these App-Router special files fine, so this is purely missing implementation.
Expected vs actual
- Expected: robots + sitemap + manifest present.
- Actual: none.
Suggested fix
Add src/app/robots.ts (allow all, reference sitemap), src/app/sitemap.ts enumerating public routes (/, /about, /careers, /careers/[slug] from JOBS, /privacy, /terms), and src/app/manifest.ts (name/short_name/theme_color/icons).
Acceptance criteria
/robots.txt, /sitemap.xml, /manifest.webmanifest all resolve with correct content.
Severity: Medium
Labels: seo, frontend, P2
Location:
frontend/src/app/(norobots.ts/sitemap.ts/manifest.ts);frontend/public/has only iconsDescription
There is no
robots.(ts|txt)(crawlers get no directives or sitemap pointer), nositemap.(ts|xml)(the public marketing routes aren't discoverable as a set), and nomanifest.(ts|webmanifest)(not installable; notheme_color/icons for add-to-homescreen). OpenNext on Cloudflare serves these App-Router special files fine, so this is purely missing implementation.Expected vs actual
Suggested fix
Add
src/app/robots.ts(allow all, reference sitemap),src/app/sitemap.tsenumerating public routes (/,/about,/careers,/careers/[slug]fromJOBS,/privacy,/terms), andsrc/app/manifest.ts(name/short_name/theme_color/icons).Acceptance criteria
/robots.txt,/sitemap.xml,/manifest.webmanifestall resolve with correct content.