App Router missing a not-found page
Part of Documentation, UX & Accessibility, which counts for 15% of the overall score. When this check fires it deducts 4 points from that category, once per scan, no matter how many places it turns up.
What it detects
The app directory has route segments but no not-found.tsx, so unmatched routes and notFound() calls render the bare default 404 instead of a branded page with navigation back into the app. Heuristic: a not-found in a parent segment covers its children.
Why it matters
The App Router renders not-found.tsx for unmatched routes and for any notFound() call. Without one, users who hit a bad URL or a missing record see the bare default 404 with no branding and no link back into the app, which is a poor experience and looks broken. This is a heuristic: a not-found in a parent segment covers its children.
How to fix it
Add a not-found.tsx at the app root (and in any segment that calls notFound() with segment-specific messaging) that renders a branded 404 with navigation back to key pages. Call notFound() from loaders when a requested record does not exist so this page is used.
The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing
Does your repo trip this check?
Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.
Scan your repo