Content only exists after hydration
Most AI crawlers do not execute JavaScript. Content that appears only once the client-side bundle runs does not exist to them — they see an empty shell.
geo/empty-html-shellGoogle ranks your site. AI answer engines decide whether to quote it. WideAngle is a site auditing tool that scores both jobs across 126 rules — 82 for SEO, 44 for Generative Engine Optimization. It tells you which signals stop Google ranking you and which stop ChatGPT, Claude and Perplexity quoting you, then applies the fixes that can be applied safely.
Founding users get three months of Pro, free.
Overall █████████████████░░░ 85 B+ SEO ███████████████████░ 93 A GEO ███████████████░░░░░ 77 C+ GEO categories AI crawler access ████░░░░░░░░ 32 Entity clarity ██████████░░ 81 Machine extractability ██████████░░ 87 Citation authority ████████████ 98 Answer readiness ████████████ 99 × Answer-engine retrieval crawlers can reach the site geo/retrieval-crawlers-allowed site PerplexityBot (Perplexity) is disallowed from the site root. → Allow OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot and Perplexity-User in robots.txt. Block training crawlers separately if that is the policy you want.
OAI-SearchBot or PerplexityBot removes a site from AI answers with no upside.Generative Engine Optimization (GEO) is the practice of making a website readable, trustworthy and quotable by AI answer engines such as ChatGPT, Claude, Perplexity and Google AI Overviews. It shares a foundation with classic SEO — both want crawlable, well-structured pages — but it asks questions SEO never had to. In building WideAngle we found the split is not marginal: 44 of its 126 rules exist only because an answer engine reads a page differently from a search engine, and 18 distinct AI crawlers have to be checked separately in robots.txt. GEO is measured against the llms.txt convention, per-agent robots.txt policy, and schema.org entity markup.
| Discipline | Decides | Audience | Unit of retrieval | Fails when |
|---|---|---|---|---|
| SEO | Whether you rank | Googlebot, Bingbot | The page | Slow, unindexable or duplicated pages |
| GEO | Whether you are quoted | OAI-SearchBot, Claude-SearchBot, PerplexityBot | The passage | Blocked retrieval, JS-only content, unresolvable entity |
WideAngle checks 126 rules split across two scored pillars. Every finding states what is wrong, why it matters, and what to change. The report is a single self-contained HTML file you can send to anyone.
The SEO pillar covers whether Google can crawl, understand and rank the site.
The GEO pillar covers whether ChatGPT, Claude, Perplexity and AI Overviews can read, trust and quote it.
Includes per-agent robots.txt policy across 18 AI crawlers, llms.txt validity and coverage, and server HTML versus post-JavaScript content.
Most AI crawlers do not execute JavaScript. Content that appears only once the client-side bundle runs does not exist to them — they see an empty shell.
geo/empty-html-shellRetrieval crawlers are how answer engines fetch a page in order to cite it. They are a different thing from training crawlers, which a site may legitimately want to block. Blocking retrieval removes the site from AI answers with no upside.
geo/retrieval-crawlers-allowedRetrieval happens at passage level, not page level. A section that does not stand on its own — no answer-first lead, wrong size, context two headings away — never becomes the quoted passage.
geo/answer-first · geo/chunk-sizeWideAngle findings point at the file and the line, not just the URL. It reads your routes, your metadata exports and your config the way your framework does.
The fixes that can be applied safely get applied — as a reviewable pull request against your repo, with the diff and the reasoning attached. You merge it or you don't.
Scheduled crawls turn one audit into a trend line. When a deploy drops your GEO score, WideAngle names the rule that regressed and the commit window that did it.
Each report is one self-contained HTML file, with no external requests and no dashboard login. Hand it to a client, a stakeholder, or the developer who has to do the work.
Across five GEO categories and eight SEO categories, checked on every page of every crawl.
GEO and SEO overlap but are not the same job. Both want crawlable, well-structured pages. Only GEO cares whether retrieval crawlers are allowed, whether content survives without JavaScript, whether sections stand alone when quoted out of context, and whether the brand resolves to a single identifiable entity.
The three most common causes are content that renders only after client-side hydration, since most AI crawlers do not execute JavaScript; a robots.txt that blocks retrieval crawlers alongside training crawlers; and pages whose sections carry no self-contained answer, so no passage is worth quoting.
Blocking training crawlers such as GPTBot, ClaudeBot and CCBot is a legitimate policy choice. Blocking retrieval crawlers is almost never what a site wants, because retrieval crawlers are how answer engines fetch a page in order to cite it. WideAngle reports the two groups separately, as documented in OpenAI's crawler reference, so the decision stays yours.
WideAngle is framework-aware for Next.js, Astro, Nuxt, SvelteKit and Remix, so findings point at the file and the line rather than only the URL. It audits any reachable site over HTTP regardless of framework.
The command-line auditor is free and Apache-2.0 licensed. The hosted platform — scheduled crawls, score history, deploy alerts and pull-request fixes — is in early access; waitlist members get three months of Pro at no cost when it opens.
Classic SEO decides whether Google ranks you. It says nothing about whether an answer engine can parse your page, resolve your entity, or find a passage worth quoting. Those are different questions, and almost no tooling asks them.
Every audit tool on the market was designed for a search results page. Meanwhile the answer is being written above it, from sources chosen by rules nobody is checking.
We learned this the hard way. Running early builds against live sites, the pattern repeated: pages scoring above 90 on classic SEO were scoring under 40 on retrieval access, usually because one line in robots.txt blocked all six retrieval crawlers at once. Testing against an Arabic site surfaced a second class of problem — a readability score computed with English syllable heuristics, producing a confident and meaningless number.
Hosted WideAngle is in early access: scheduled crawls, score history, deploy alerts, and a bot that opens the fix as a pull request. The command-line auditor stays free and open source.
No spam — one email when it opens.