AI visibility · Next.js (App Router)
What is llms.txt and do I need one in Next.js (App Router)
It is a short markdown file describing what your product is and pointing at the pages worth reading, written for models rather than crawlers. Adoption is early and support is not universal, so this is an edge rather than a requirement — but it costs ten minutes.
The fix for Next.js (App Router)
13x detects your framework from the response and hands you this version rather than the generic one — below 50% confidence it hedges and gives you the generic one instead.
Put a static file at public/llms.txt — files in public/ are served from the root, so it becomes /llms.txt.
If you want it generated from the same config as the rest of your metadata, use a route handler instead:
// app/llms.txt/route.ts
export function GET() {
const body = `# example.com
> One sentence saying what this is and who it is for.
## Key pages
- [Pricing](https://example.com/pricing)
`;
return new Response(body, {
headers: { "content-type": "text/plain; charset=utf-8" },
});
}On a different stack? The general version of this fix explains what 13x checks and why it matters, without assuming a framework.
Check your Next.js (App Router) site
113 deterministic checks against your live URL, in about 30 seconds. Framework detected from the response, so every fix comes back in the form your stack actually uses.
No signup. Results in 30 seconds.