GEO

Technical GEO Agency | AI Crawler Access & Schema

AI crawlers don't run your site the way a browser does. GPTBot, ClaudeBot, Google-Extended and PerplexityBot fetch raw HTML.

Schedule a Call

What a model can read,
and what it can’t

AI crawlers don’t run your site the way a browser does. GPTBot,
ClaudeBot, Google-Extended and PerplexityBot fetch raw HTML. Most of
them do not execute JavaScript. If your product details, pricing or key
facts are injected client-side, a common pattern in React and Vue
builds, a browser sees them fine and these bots see an empty shell.
Google’s own crawler for Search still renders JavaScript for ranking
purposes; Google-Extended, the separate crawler that feeds AI Overviews
and Gemini training, follows the same fetch behaviour as the others and
is not guaranteed the same rendering budget. The safest assumption is
that nothing client-side-only gets read by any AI system. We check
what’s actually in the response HTML, not what’s on screen.

What’s included

  • Robots policy audit. We check what your robots.txt
    allows and blocks for GPTBot, ClaudeBot, Google-Extended, PerplexityBot,
    Applebot-Extended and the others, against what you actually intend, sites block AI crawlers by accident more often than on purpose.
  • Rendering audit. We fetch your key pages the way a
    bot does (raw HTML, no JavaScript) and compare that to what a browser
    shows, so you know exactly what’s invisible to retrieval.
  • Structured data that’s real. Organization, Article
    and BreadcrumbList markup, validated against schema.org and Google’s own
    guidance, kept accurate as content changes. We do not sell FAQPage,
    HowTo, Product, Offer, Review or AggregateRating schema. Google has
    restricted or removed rich-result eligibility for most of these, and
    stacking unused schema types adds risk without benefit.
  • Content chunking and heading structure. Passages
    retrieval systems can lift on their own, one idea per section, a
    heading that states the question, a self-contained answer underneath,
    rather than a single wall of text a model has to guess where to
    cut.
  • Entity consistency. The same name, description and
    key facts stated the same way across your site, your Organization
    schema, your review-platform profiles and any third-party listings, so
    nothing contradicts what a model has already learned about you
    elsewhere.
  • Speed and canonical hygiene. Slow pages get fetched
    less often and less fully; duplicate or conflicting canonical tags split
    whatever authority a page has. Both are unglamorous, both matter to
    whether a model bothers to fully retrieve a page.

The JSON-LD we actually ship

Every page we build for GEO carries three schema types, no more:
Organization (or ProfessionalService) for
entity identity, Article for editorial content, and
BreadcrumbList for site structure. Each validates clean
against schema.org’s own vocabulary and is generated from the page’s
real content, not hand-typed once and left to drift. If a client asks
for FAQPage or HowTo markup, we explain why we don’t add it: it doesn’t
influence AI citation, and Google has already pulled back on its
search-result eligibility for most sites, so it’s a compliance surface
with no upside.

Query fan-out

A single question to ChatGPT, Gemini or AI Overviews often triggers
several retrieval passes behind the scenes, the system breaks “best X
for Y” into narrower sub-queries and merges what it finds. So a page
needs to answer more than its headline question. We structure content so
each section can independently satisfy one sub-query (pricing on its
own, scope on its own, comparison on its own) rather than betting
everything on one exact phrase.

Does llms.txt do anything?

Short answer: not for Google. In June 2026 Google confirmed it does
not use llms.txt as a ranking or retrieval input, its systems read your
actual page content, not a separate file summarising it. Other AI
systems have shown no consistent public commitment to reading it either,
and it is not a W3C or schema.org standard, just a convention some sites
have adopted. We don’t add llms.txt to client sites and we don’t sell it
as a service. If a page isn’t being retrieved, the fix is almost always
in the page itself (crawler access, rendering, or content structure) not a text file sitting next to it.

Proof

Official London
Theatre
reached 85% AI search visibility and the #1 recommended
source position in its category. That’s a whole-account GEO result, not
a technical-layer-only claim. Entity work, content and technical access
all fed it together, and we won’t pretend otherwise here. What we can
say for the technical layer specifically: our schema and crawler-access
audit follows the same process on every account, GEO or SEO. The fastest
way to see where your own site stands is the free check below, not a
client number that isn’t your site.

Free schema and crawler
check

Run our schema and crawler-access
checker
against your own domain. It checks your robots.txt against
the major AI crawlers, pulls your live JSON-LD and flags what’s missing
or invalid, and shows you the raw HTML a bot actually receives on your
key pages, free, no call required.

What it costs

Technical GEO runs on a GEO retainer, from £1,250 a month ex VAT. There is no minimum term and either side can give 60 days’ notice at any point. The work scales with what is already broken. A site with clean schema and open crawler access needs a light audit. A JavaScript heavy build with blocked bots and no structured data needs real engineering time. The GEO pricing page sets out the tiers. Book a call and we will scope it against your site.

(template-rendered, not written here; see Related links below for
the three to configure)

The Work

GEO campaigns we have run

Latest GEO Insights

Stay ahead with our expert content

Frequently asked questions

By putting the fix in the template rather than on the page. Structured data, canonical tags and meta output should be generated by the codebase, so a release cannot quietly drop them. We write the change as a ticket in the form your team already works from, review the implementation, then re-check the affected templates after each deploy. Where regressions are frequent we set up an automated check that flags a missing schema block or canonical within a day rather than at the next crawl.

Less than people expect. The high value items are unglamorous. One organisation entity stated consistently, correct canonical tags, crawler access that is not accidentally blocking half the assistants, and headings that let a passage be lifted on its own. None of that changes how the site looks. We do not recommend stacking schema types you get nothing from, and we will not ask you to rebuild a design that is working. If we cannot justify a change against a specific problem, we will not propose it.

Some can render JavaScript and some cannot, and it varies by engine. We do not assume. We fetch your pages the way each crawler does and compare that against what a browser shows, then list what is missing. Content that appears only after a user interaction, or that depends on a client side call, is very often absent. Where that is happening the fix is server side rendering or pre rendering the key content, which is a developer task. We write the ticket and verify it afterwards.

No. Googlebot crawls for Search. Google-Extended is a separate control governing whether your content is used for Gemini and related generative products. Blocking Google-Extended does not remove you from Search. Blocking Googlebot removes you from both. Most sites should leave both open. Blocking Google-Extended is defensible if you have a specific licensing position, but it should be a decision someone took deliberately rather than a line inherited from a robots.txt template. We check which of those it is.

We can usually tell you what changed and when, which is a more useful thing than apportioning blame. The technical audit compares your current templates, robots directives, canonical behaviour and structured data against archived versions and against your own release history. That produces dated evidence rather than an assertion. Sometimes the answer is that nothing was broken and the cause sits elsewhere. We would rather report that than build a recovery plan on a story that suits us.

Yes, for anything requiring a live fetch.
GPTBot is OpenAI’s crawler for training and retrieval; if you disallow
it, OpenAI’s systems won’t be able to read your pages directly, though a
page could still be described secondhand via another source that
mentions you.

No.
Googlebot crawls for Search rankings. Google-Extended is a separate
crawler you can allow or block independently. It feeds AI Overviews and
Gemini training data. Blocking one doesn’t block the other.

No. There’s no evidence structured FAQ markup influences whether an AI
system cites you, and Google has already scaled back its own rich-result
eligibility for most FAQPage schema in search. We don’t add it.

Only if the content is server-rendered or pre-rendered into
the initial HTML response. If it’s injected client-side after the page
loads, most AI crawlers won’t see it, because they don’t execute
JavaScript the way a browser does. This is usually the single biggest
fix on a JavaScript-heavy site.

No, not
for Google. Google has said directly it doesn’t use it. We don’t
recommend building or maintaining one.

The AI visibility audit
tells you whether and how often you’re being cited today, across a set
of real buying prompts. This page is about the technical reasons a model
can or can’t read your site at all in the first place, a prerequisite,
not a substitute.

Crawler-access and rendering fixes can change what a
bot sees within days of the next crawl. Whether that shows up as more
citations depends on everything else on the page too (entity clarity,
content quality, third-party corroboration) which is a slower, ongoing
process, not a one-off fix.

GET IN TOUCH

Ready to grow your brand? Get in touch with our team to discuss how we can help you achieve your goals.