Research

Next.js AI readiness statistics

In October 2026, we could only tell which sites run on Next.js where our scanner could read the page, so this page covers those sites and says nothing about how many turned our scanner away.

Updated 20:07 UTC · October 2026

Based on the sites Bot Appétit has scanned: ones people chose to scan, plus lists we scan for research. Not a random sample of the web.

All sites on the State of the Web

How Next.js sites land

  • Chef's kiss 34%
  • Cleans the plate 47%
  • Needs seasoning 10%
  • Undercooked 7%
  • Sent back to the kitchen 0%
Share of Next.js sites in each verdict tier
VerdictShare of sites
Chef's kiss34%
Cleans the plate47%
Needs seasoning10%
Undercooked7%
Sent back to the kitchen0%

Based on the sites Bot Appétit has scanned: ones people chose to scan, plus lists we scan for research. Not a random sample of the web.

Better or worse

Not enough history yet.

Based on the sites Bot Appétit has scanned: ones people chose to scan, plus lists we scan for research. Not a random sample of the web.

AI access

  • robots.txt disallows some AI crawlers 13%
  • robots.txt disallows major AI crawlers 2%
How Next.js sites treat AI crawlers
What we foundShare of sites
robots.txt disallows some AI crawlers13%
robots.txt disallows major AI crawlers2%

Based on the sites Bot Appétit has scanned: ones people chose to scan, plus lists we scan for research. Not a random sample of the web.

What Next.js sites get right and wrong

Passed more often than on the average site: “Buttons, links and fields have names” (75%, against 53% of all sites); “Core security headers are set” (41%, against 19% of all sites); “Semantic HTML landmarks” (73%, against 58% of all sites). Least often passed: “Text-and-data-mining reservation (TDMRep)” (0%); “Licensing terms for AI (RSL)” (0%); “AI discovery via DNS” (0%).

Every check, Next.js against all sites

Share of sites that pass each check. The Gap column is the difference in percentage points; a dash means not enough sites yet.

Next.js sites against all sites: share passing each check
CheckNext.js sitesAll sitesGap (points)
Served over a secure HTTPS connection100%99%+1%
HTTP redirects to HTTPS90%87%+3%
No mixed (insecure) content98%98%Level
Core security headers are set41%19%+22%
Not flagged for malware or phishing100%100%Level
No server version leakage64%84%−20%
security.txt is published23%9%+14%
Reached without a redirect chain98%98%Level
Caching or validation headers are set99%88%+11%
The site settles on one host (www vs non-www)79%75%+4%
robots.txt is present and not over-blocking94%88%+6%
Not accidentally set to noindex98%98%Level
This page declares its canonical URL74%72%+2%
Mobile viewport is set90%87%+3%
Has a title tag99%>99%−1%
Title fits a search snippet60%54%+6%
Has a meta description82%73%+9%
Description fits a search snippet64%70%−6%
The page has an H175%71%+4%
Logical heading order71%61%+10%
Topic is consistent across title, H1 and description64%55%+9%
Images have descriptive alt text96%87%+9%
Your page's HTML isn't oversized97%98%−1%
Open Graph tags for sharing60%53%+7%
Twitter/X card tags80%72%+8%
XML sitemap is present and referenced86%72%+14%
Missing pages return a real 40483%85%−2%
Images are optimised44%31%+13%
Language and charset declared99%93%+6%
hreflang for language variants—98%—
Analytics is installed47%60%−13%
Search Console / Bing verification87%74%+13%
A favicon is set100%96%+4%
No meta-refresh redirect100%>99%Level
Your content survives without JavaScript94%93%+1%
Your answer is in the HTML93%92%+1%
Buttons, links and fields have names75%53%+22%
Semantic HTML landmarks73%58%+15%
Content is scannable in self-contained chunks89%89%Level
Claims come with figures, quotes or sources31%43%−12%
Section headings are phrased as questions29%29%Level
Author / publisher is clear65%57%+8%
A machine-readable published / updated date19%26%−7%
llms.txt is present and valid43%31%+12%
Clean content for agents (Markdown)16%7%+9%
Structured data is present69%64%+5%
Structured data is valid98%98%Level
FAQ / Q&A schema—52%—
Organization schema with sameAs33%31%+2%
Right schema type for the page93%89%+4%
Schema facts also appear in the page text63%57%+6%
Breadcrumb structured data—30%—
AI crawlers aren't blocked85%85%Level
Automated visitors can reach your pages100%100%Level
Engines are allowed to quote the page94%98%−4%
Your page arrives quickly95%89%+6%
AI bot rules are explicit and intentional28%20%+8%
Content usage preferences declared12%7%+5%
Resource-discovery Link headers11%4%+7%
No broken links91%84%+7%
Links don't point at redirects90%83%+7%
Descriptive anchor text99%99%Level
Sensible internal/external link mix97%95%+2%
Links are real links100%89%+11%
Largest Contentful Paint (LCP)———
Cumulative Layout Shift (CLS)———
Interaction to Next Paint (INP)———
Page weight and render-blocking———
MCP Server Card5%3%+2%
AI catalog4%2%+2%
A2A Agent Card4%1%+3%
WebMCP tools in the page1%1%Level
AI usage preferences (Content-Usage)1%<1%+1%
Licensing terms for AI (RSL)0%<1%Level
Text-and-data-mining reservation (TDMRep)0%<1%Level
Markdown version linked from the page9%4%+5%
Content signals agree everywhere———
Agent Skills index5%2%+3%
API catalog4%2%+2%
OAuth authorization-server metadata7%8%−1%
OAuth protected-resource metadata5%6%−1%
OpenID Connect discovery5%5%Level
Web Bot Auth (operates a signed bot)1%<1%+1%
Universal Commerce Protocol manifest———
Auth.md agent registration2%1%+1%
AI discovery via DNS0%<1%Level

Based on the sites Bot Appétit has scanned: ones people chose to scan, plus lists we scan for research. Not a random sample of the web.

See how your site compares

A free scan checks all of this on your page in seconds, with no signup.

Scan your site free

Want it handled? We do that too. No pitch, just a plain-English chat.

Book a call