Soft 404s: which sites answer 200 for a page that does not exist
In short
16.9 percent of 8,743 made-up paths returned 200 in the crawl of 4 November 2026, which tells an agent that a missing page exists. HubSpot sites did so 14.7 percent of the time and Hugo sites 0.0 percent. The page adds the rubric default for 23 platforms and Ora's agent-friendly 404 check.
The check we recommend
Ora's scan. Its Access layer runs 42 checks worth 30 of its 100 points, from content without JavaScript to markdown on request. Every check is listed at ora.ai/api/checks with its tier, and 25 of the 132 with a spec link. Reads need no key and no sign-up (Ora's pricing page, read 5 November 2026).
Ora reads public URLs only, says two runs of one scan land within a couple of points without publishing repeat-scan data, and keeps the product that fixes what it finds behind a waitlist.
A soft 404 is a missing page that answers 200. A person sees an error message and moves on. An agent reads the status first, so a 200 tells it the page exists and it goes on to read whatever the shell contains. The crawl requested one made-up path on each home page's host and counted what came back.
How common
1,475 of 8,743 made-up paths (16.9 percent) returned 200, and 7,061 (80.8 percent) returned 404. The rest returned a redirect, a 403 or another status. The path was /agent-ready-html-missing-path-check, the same one the viewer asks for.
By platform
HubSpot sites returned 200 for the made-up path 14.7 percent of the time (10 of 68); Hugo sites 0.0 percent (0 of 27). Platform is the generator tag, so the sites compared are those that declare one.
Text equivalent of this chart
| Platform | Not a 200 | Of | Not a 200 share | Soft 404 |
|---|---|---|---|---|
| Hugo (27 sites) | 27 | 27 | 100.0% | 0 |
| Wix (29 sites) | 28 | 29 | 96.6% | 1 |
| Drupal (145 sites) | 138 | 145 | 95.2% | 7 |
| Framer (191 sites) | 181 | 191 | 94.8% | 10 |
| Elementor (30 sites) | 28 | 30 | 93.3% | 2 |
| Astro (109 sites) | 101 | 109 | 92.7% | 8 |
| Gatsby (58 sites) | 51 | 58 | 87.9% | 7 |
| WordPress (408 sites) | 349 | 408 | 85.5% | 59 |
| HubSpot (68 sites) | 58 | 68 | 85.3% | 10 |
By category
Category is the Ora leaderboard category where the domain is listed. The sample for each is the part of the top 10,000 and the named vendors that fall in it, so the shares describe this crawl, not the category.
Text equivalent of this chart
| Category | Not a 200 | Of | Not a 200 share | Soft 404 |
|---|---|---|---|---|
| Hardware & Robotics (100 sites) | 80 | 100 | 80.0% | 20 |
| Education (85 sites) | 69 | 85 | 81.2% | 16 |
| AI & ML (192 sites) | 160 | 192 | 83.3% | 32 |
| E-commerce (139 sites) | 118 | 139 | 84.9% | 21 |
| Healthcare (240 sites) | 206 | 240 | 85.8% | 34 |
| Developer Tools (366 sites) | 316 | 366 | 86.3% | 50 |
| Productivity (141 sites) | 122 | 141 | 86.5% | 19 |
| Logistics & Supply Chain (82 sites) | 72 | 82 | 87.8% | 10 |
| Real Estate & Construction (81 sites) | 72 | 81 | 88.9% | 9 |
| Payments & Fintech (389 sites) | 346 | 389 | 88.9% | 43 |
| Communication & Support (138 sites) | 123 | 138 | 89.1% | 15 |
| Infrastructure (225 sites) | 201 | 225 | 89.3% | 24 |
What each scored platform does by default
The platform rubric scores real status codes by default: 2 is on by default, 1 needs setup, 0 is not offered. The first sentence of each cell's evidence is shown.
| Platform | Score | What the evidence says |
|---|---|---|
| Cloudflare Markdown for Agents | n/a | Passes the origin status through. |
| Docusaurus | 2 | Build/ held 404.html and docusaurus serve answered a made-up path with 404 directly. |
| Fern | 2 | Missing .md URLs return agent 404 responses with suggestions. |
| Firecrawl llms.txt generator | n/a | A generator. |
| Framer | 2 | A made-up path on www.framer.com returned 404. |
| GitBook | 2 | A made-up path on www.gitbook.com returned 404. |
| HubSpot CMS | 2 | A made-up path on www.hubspot.com returned 404. |
| Mintlify | 2 | Documented 404 status for missing markdown pages; a made-up path on mintlify.com returned 404. |
| Next.js (App Router defaults) | 2 | Next start answered a made-up path with 404 directly. |
| Nuxt | 2 | The Nitro server answered a made-up path with 404 directly. |
| ReadMe | 2 | Markdown 404s return a 404 with recovery links. |
| Redocly | 2 | A made-up path on redocly.com returned 404. |
| Scalar | 2 | A made-up path on scalar.com returned 404. |
| Scrunch Agent Pages (AXP) | n/a | Depends on the origin and the mirror. |
| Shopify themes | 2 | Themes include a 404 template served with 404. |
| Squarespace | 2 | A made-up path on www.squarespace.com returned 404. |
| Stoplight | 2 | A made-up path on stoplight.io returned 404. |
| Webflow | 2 | A made-up path on webflow.com returned 404. |
| Wix | 2 | A made-up path on www.wix.com returned 404. |
| Astro | 1 | A made-up path returned 404 from astro preview, but the build wrote no 404.html; a custom 404 page has to be added to src/pages and the host has to serve it with status 404. |
| Vercel markdown handling | 1 | Guide recommends real 404s and 429 with Retry-After; enforcement is the developer's. |
| WordPress and Elementor | 1 | With the default plain permalinks a made-up path answered a 301 to the home page, which answered 200 (a soft 404); after setting pretty permalinks it returned 404 directly. |
| Yoast and other WordPress llms.txt plugins | n/a | Plugins do not change status handling. |
What Ora checks
Ora's Usability layer has an Agent-friendly 404s check: a real 404 or 410 earns partial credit, and full credit also needs a markdown error body so an agent can read what happened. Ora's passRate for it reads 33.9 percent of 139,685 results, and its stricter rate 25.4 percent (5 November 2026). The check we recommend for the whole site is Ora's scan; the viewer's flag shows one host in four requests.
Fix it
The guide to real status codes on a single-page app gives the host configuration, and the glossary entry defines the term.
Cite this: Agent Ready HTML. Soft 404s in the top 10,000. Edition 2026-11-04. https://agentreadyhtml.com/soft-404s/
Sources
- The crawl dataset (this site) https://agentreadyhtml.com/data/, read 4 November 2026
- Ora statistics (pass rates per check) https://ora.ai/api/stats, read 5 November 2026
- Ora check catalogue, contract 1.38.0 https://ora.ai/api/checks, read 5 November 2026
- Vercel and Ora: Make your site readable by AI agents https://vercel.com/kb/guide/make-your-site-readable-by-ai-agents, read 4 November 2026
- Google: JavaScript SEO basics https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics, read 4 November 2026
- Next.js: notFound https://nextjs.org/docs/app/api-reference/functions/not-found, read 4 November 2026
Last reviewed 5 November 2026