GEO Pilot: we optimise your site for AI search in 30 days, $999.See what is included →

Service

Technical GEO that lets AI crawlers reach and read your site

If an AI crawler cannot reach a page, or cannot read it, nothing else you do will matter. We check and fix crawler access, robots rules, structured data and llms.txt.

Technical fixes are Week 2 of the $999 GEO Pilot. Crawler facts below are as of October 2026.

04
Authority

Mentions and sources beyond your site.

03
Content

Answer ready pages and FAQs.

02
Structure

Schema, entities and clean markup.

01
Access

Crawlers can fetch and read.

Checked firstCrawler access, robots.txt, firewall and CDN rules
ImplementedSitemap, canonicals, structured data, llms.txt if useful
PlatformsWordPress, WooCommerce, Shopify, custom, headless

Most technical problems are invisible to a person browsing your site. A page can look perfect and still be blocked from a crawler by a firewall rule, hidden behind a script, or contradicted by a canonical tag. Engines do not email you about it. They quietly use someone else.

Below we explain the crawlers you will meet, what the official documentation says about each, how to set robots.txt for AI crawlers, what schema and llms.txt do and do not do, and how we deliver the work. It sits inside our wider generative engine optimization services.

The crawlers

The AI crawlers that matter, and what each one is for

Not all AI bots do the same job. The big providers now separate training, search indexing and live user requests into different user agents. That lets you make different choices for each. The details below come from each provider's own documentation, read in October 2026. They change, so confirm before you edit production rules.

OpenAI documents three. OAI-SearchBot is used to surface sites in ChatGPT's search features. GPTBot crawls content that may be used to train OpenAI's generative models. ChatGPT-User handles certain user actions in ChatGPT and Custom GPTs, for example when a user asks a question that makes it visit a page. OpenAI says each setting is independent, so you can allow OAI-SearchBot and disallow GPTBot. It also says robots.txt changes can take about 24 hours to take effect for search, and that for ChatGPT-User, because actions are user initiated, robots.txt rules may not apply.

Anthropic documents three. ClaudeBot collects content that may be used for model training. Claude-User visits pages when a Claude user asks a question that needs web access. Claude-SearchBot indexes content to improve search results. Anthropic says its bots honor standard robots.txt directives and that it supports the non standard crawl delay extension. It says it does not publish IP ranges at present and advises against blocking by IP.

Google is different. Google AI Overviews and AI Mode use Google Search. Google's documentation says a page needs to be indexed and eligible to show a snippet to be a supporting link, and that there are no additional technical requirements. Googlebot rules therefore control access. Google-Extended is a separate robots.txt token that controls whether content is used for Gemini training and grounding in some products. Google states it does not affect inclusion in Google Search and is not a ranking signal.

Perplexity documents PerplexityBot, which crawls and indexes content for its search engine and which you can allow or disallow in robots.txt. Microsoft Copilot relies on Bing's index, so Bingbot access and Bing indexing matter. For Bing's answer features, Microsoft documented in September 2023 that the NOCACHE and NOARCHIVE robots directives control how content is used in its chat answers. Check Microsoft's current guidance for any updates.

Keep a list of the exact user agent names you allow, and the date you checked the vendor docs. It saves hours when something breaks.

Crawler purposes

Training

Business choice

  • GPTBot
  • ClaudeBot
  • Google-Extended token

Search

Surface your pages

  • OAI-SearchBot
  • Claude-SearchBot
  • PerplexityBot
  • Googlebot
  • Bingbot

User actions

Live requests

  • ChatGPT-User
  • Claude-User
Grouped from each provider's documentation as read in October 2026. Confirm before editing production rules.

Compare

AI crawler reference table (as of October 2026)

CrawlerOperatorPurpose per official docsYour control
OAI-SearchBotOpenAISurfaces sites in ChatGPT search featuresrobots.txt. Changes can take about 24 hours for search
GPTBotOpenAICrawls content that may be used to train generative modelsrobots.txt, independent of OAI-SearchBot
ChatGPT-UserOpenAICertain user initiated actions in ChatGPT and Custom GPTsOpenAI says robots.txt rules may not apply
ClaudeBotAnthropicCollects content that may be used for trainingrobots.txt, crawl delay supported
Claude-UserAnthropicFetches pages when a Claude user asks a question needing web accessrobots.txt
Claude-SearchBotAnthropicIndexes content to improve search result qualityrobots.txt
PerplexityBotPerplexityCrawls and indexes content for Perplexity searchrobots.txt
Google-ExtendedGoogleToken controlling use for Gemini training and groundingrobots.txt token. Does not affect Search inclusion
GooglebotGoogleCrawls for Google Search, which feeds AI Overviews and AI Moderobots.txt and snippet controls
BingbotMicrosoftCrawls for Bing, which Copilot answers rely onrobots.txt and robots meta directives

Blocking a training bot does not block a search bot, and the reverse is also true. Decide each one separately. Our post on AI crawlers and robots.txt: what to allow covers the trade offs.

robots.txt

robots.txt for AI crawlers: how we set it

The right rule depends on what you want from each engine. There is no universal setting.

A common sensible starting point for a business that wants to be found is to allow the search and user facing bots, and then decide on training bots as a separate business choice. Some owners block training crawlers for content or licensing reasons while allowing search crawlers, and that is a legitimate position. We set out the options and you decide.

A rule is written per user agent, for example a User-agent line naming OAI-SearchBot followed by Allow or Disallow lines. A broad Disallow under the wildcard user agent can block AI search bots by accident, which is one of the most common problems we find. So we read the whole file, including old lines from plugins and previous developers. Our AI Crawler Robots.txt Generator helps you draft rules, and the AI Crawler Access Checker tests the result.

  • One rule per crawler, matched to a business decision
  • No accidental wildcard block on key folders
  • robots.txt kept at the root of each subdomain
  • Rules retested after the vendor's stated delay
1Baseline

Record what AI engines say today.

2Fix

Open access and repair the foundation.

3Rewrite

Make priority pages answer ready.

4Verify

Test again and report.

robots.txt starting point

Search and user bots

  • Allow them if you want to be found
  • Rules are written per user agent
  • Retest after the stated delay

Training bots

  • A separate business choice
  • Some owners block them for licensing reasons
  • Blocking one does not block a search bot
Example summary of the approach on this page. There is no universal setting.

Beyond robots.txt

Other reasons a crawler never reaches your page

A permissive robots.txt is only the first gate. These are the others.

Firewall and bot protection

Security tools sometimes challenge or block unfamiliar bots even when robots.txt allows them. We test real requests, not just the file.

CDN and hosting rules

Rate limits, geo blocks and managed bot settings can cut off crawlers. Anthropic notes that it does not publish IP ranges, so allowlisting by IP is not a reliable method for every bot.

Rendering

If key text only appears after heavy scripts run, a simple crawler may see an empty page. See GEO for JavaScript and headless sites.

Canonicals and duplicates

Wrong canonical tags and parameter duplicates point engines at the wrong URL or split signals.

Sitemaps

A clean XML sitemap with accurate dates helps discovery. Dead URLs and redirects weaken it.

Speed and errors

Slow responses, soft errors and long redirect chains make pages harder to fetch reliably.

Gates before your text
robots.txtThe first gate, and only the first
Firewall and bot protectionCan challenge bots even when robots.txt allows them
CDN and hosting rulesRate limits, geo blocks, managed bot settings
RenderingText that appears only after scripts may be missed
Canonicals and duplicatesCan point engines at the wrong URL
Example order, drawn from the reasons listed in this section.

Structured data

Schema for AI search: useful, but not magic

Structured data is machine readable labelling that sits alongside your visible content, usually as JSON LD using the schema.org vocabulary. It tells a system that a page describes an Organization, a Service, a Product, a Person or a set of questions and answers. That helps with entity clarity, which means making it unmistakable who you are and what you offer.

Be careful with claims. Google's documentation for AI features says no special schema is required to appear in AI Overviews or AI Mode. We do not tell clients that schema forces a citation. We use it because it removes ambiguity, supports rich results where Google offers them, and gives every engine one consistent set of facts.

The rule we follow is simple: markup must match what a visitor can see. Organization details, service descriptions, product data, authors and FAQs are all fair game when they are on the page. Markup for content that is not visible is a risk and a waste. See schema markup for AI search for the longer explanation, and the FAQ Schema Generator for a quick start.

  • Organization with name, URL, logo and same as profile links
  • Service or Product markup on the matching pages
  • FAQ markup only where the FAQ is visible
  • Validated, then rechecked after template changes

llms.txt

llms.txt: what it is and when we add one

llms.txt is a proposed convention: a plain text or Markdown file at the root of your site that lists your key pages with short descriptions, written for language models. It is a community proposal, not an official standard of any search engine.

Google's AI features documentation says you do not need new machine readable files or AI text files to appear in AI Overviews and AI Mode. We have not seen the other providers above document that they rely on llms.txt for citations. So we do not sell it as a ranking lever.

We add one when it is cheap and helpful. It can be a useful, tidy map of your best pages for tools and agents that do read it, and it forces you to decide which pages matter. If a client prefers not to publish one, nothing important is lost. The llms.txt Generator creates a draft, and llms.txt: do you need one? gives our full view.

Treat llms.txt as housekeeping with a small upside, not as a strategy.

How we deliver

Technical GEO inside the 30 day Pilot

  1. 1

    Week 1: Find the blockers

    We check AI crawler access, review robots.txt, firewall and CDN behaviour, and run a technical and entity audit alongside the baseline test of up to 20 buyer prompts across five engines.

  2. 2

    Week 2: Implement the fixes

    We change crawler access and robots rules, sitemap, canonicals and structured data, and add llms.txt if useful. We work in an admin login, a staging site or a Git repo, and you approve changes before they go live.

  3. 3

    Week 3: Support the rewrites

    Technical fixes make sure up to 10 rewritten priority pages are crawlable, marked up and consistent.

  4. 4

    Week 4: Verify and hand over

    We recheck access, retest the same prompts, and hand over a report with before and after results and a 90 day roadmap.

Quick audit

How do you check whether AI crawlers can reach your website?

  1. 1

    Read your robots.txt

    Open yourdomain.com/robots.txt. Look for a blanket Disallow for all user agents, and for rules that name AI crawlers. Note anything inherited from a plugin or a hosting default.

  2. 2

    Test with the free checker

    The AI Crawler Access Checker shows which named crawlers your rules allow or block.

  3. 3

    Request a page as a crawler would

    From a terminal, send a request with a crawler style user agent and read the status code. A 200 means served. A 403 or a challenge page means a firewall is stopping it, even if robots.txt allows it.

  4. 4

    View the raw HTML

    Use view source, not the browser inspector. If your main text is missing from the source, a crawler that does not run scripts will not see it.

  5. 5

    Check the sitemap

    Confirm it lists your important canonical pages, returns 200, and is declared in robots.txt.

  6. 6

    Check for noindex and snippet controls

    Look for robots meta tags and X-Robots-Tag headers on key pages. A noindex or a nosnippet directive can remove a page from search based answers.

  7. 7

    Write down what you found

    List each blocker, the page or rule, the owner and the fix. That list is the start of the work.

Compare

Which robots.txt policy fits which kind of business?

Business situationTypical policyReason
Wants to be named in AI answers, comfortable with training useAllow search and training botsMaximum reach, simplest rules
Wants to be named in AI answers, not comfortable with training useAllow search and user bots, disallow training botsKeeps presence in AI search while limiting training collection. Whether this lowers visibility varies by engine
Premium or paywalled contentAllow public marketing pages, restrict gated pathsProtect paid material, keep the pages that win customers open
Publisher with licensing concernsDecide per bot with legal inputThe choice is commercial and legal, not only technical
Not sureStart from the generator and testUse the robots.txt generator, then review with the checker

Policy is a business decision. We implement the choice you make and document it. We do not decide your training policy for you.

Rendering

Why does JavaScript rendering matter for AI search?

Some crawlers run scripts and some do not. Even those that do may run them later or less completely than a browser. If your service descriptions, prices, reviews or FAQs appear only after client side scripts run, a crawler that fetches raw HTML may see an empty shell. This is common on single page apps and on some headless builds.

The fix is not to abandon your framework. It is to make sure the content that matters is in the HTML the server returns. Server side rendering, static generation, or prerendering of key pages usually does this. For a Shopify or WordPress site, the common cause is a page builder or a plugin that loads blocks late, or tabs and accordions that fetch their content on click. Our post on GEO for JavaScript and headless sites covers the options.

The test is quick. Compare the raw source with the rendered page for your top ten pages. Whatever text is in one and not the other is at risk.

  • Main answer text present in view source
  • Prices, specs and FAQs not injected after load
  • Internal links are real anchor links, not click handlers
  • Lazy loaded content not required to understand the page

Compare

Which structured data types fit which kind of page?

Page typeSchema types to considerWhat must match the visible page
Home or AboutOrganization, WebSiteLegal or trading name, logo, contact details, social profiles you actually run
Service pageService, plus Organization linkService name, area served, a description that appears in the text
Product pageProduct with OfferName, price, currency, availability. See ecommerce GEO
Local pageLocalBusiness or a more specific subtypeAddress, phone, hours as shown on the page. See local GEO
Article or guideArticle with author and datesHeadline, author, published and modified dates shown on the page
FAQ blockFAQPageQuestions and answers exactly as visible. Generate with the FAQ Schema Generator

Validate with the Schema.org validator and Google's Rich Results Test. Passing a validator means the syntax is right, not that an engine will use it.

Platforms

Platform specific places we look first

The same checks, different likely culprits.

WordPress

SEO plugin settings that noindex pages, robots.txt edited by plugins, caching plugins that serve stale markup, and theme blocks that load text late. See GEO for WordPress.

Shopify

Theme level schema duplicates, app injected markup that conflicts, and limited direct control over robots.txt, which uses a template. See GEO for Shopify.

WooCommerce

Product schema from plugins disagreeing with visible price, variation handling, and filtered URLs creating duplicates. See GEO for WooCommerce.

Custom and headless

Client side rendering, missing canonical logic, and environment specific robots rules left on after launch. See GEO for custom websites.

CDN and firewall

Bot protection that challenges unknown crawlers. Fix by allowing named crawlers by verified method, not by turning protection off.

Hosting and speed

Slow or erroring responses cause crawlers to give up. We look at server errors and timeouts in logs where you can share them.

Canonicals and duplicates

How do canonicals, redirects and duplicate URLs affect AI visibility?

If the same page exists at several URLs, engines have to guess which to trust, and your signals split. Common causes are tracking parameters, trailing slash variants, http and https versions, www and non www, and filtered product listings. A canonical tag tells crawlers the preferred URL. Redirects send old addresses to current ones.

We check that each important page has one preferred URL, that canonicals point to live, indexable pages, and that redirect chains are short. We also check that the sitemap lists canonical URLs only. These fixes are unglamorous and they matter, because every cited link should resolve cleanly to the page you want people to land on.

One more check is language and region. If you publish in Arabic and English, each version needs its own URL and clear hreflang relationships. Our post on GEO for multilingual sites explains the setup.

Verification

How do we verify each technical fix actually worked?

A change is not done when it is published. It is done when it is verified. For crawler rules we retest with the checker and a direct request. For schema we run validators and compare to the rendered page. For sitemaps we confirm submission in Google Search Console and Bing Webmaster Tools. For rendering we compare source and rendered text again.

We then keep a change log: what changed, where, when, who approved it, and how to roll it back. If something breaks, you can undo it. That log is part of the Pilot handover, so your developer or any future provider sees exactly what was done and why.

Recrawling takes time. OpenAI says robots.txt changes can take about 24 hours for search. Other engines vary, and we do not claim a fixed timeline. The week 4 retest records what has changed by then and what is still pending.

The problem

Limits and honest cautions

Allowing a crawler does not buy a citation

Access is a requirement, not a reward. Engines still choose which sources to use.

Vendor behaviour changes

Bot names, purposes and policies get updated. Our facts are dated October 2026. Recheck official documentation before big changes.

Some requests ignore robots.txt

OpenAI states robots.txt rules may not apply to ChatGPT-User, since actions are user initiated. Blocking those needs other controls and a business reason.

Hidden costs of blocking

Blocking a search bot can remove you from that engine's answers. Blocking a training bot may have no immediate visible effect. Know which you are doing.

FAQ

Questions people ask

What is technical GEO?

It is the technical side of generative engine optimization: making sure AI crawlers can reach your pages, that the content is readable in the HTML, and that structured data and signals are consistent. It prepares the ground for content and authority work.

Should I allow GPTBot and ClaudeBot?

That is a business decision. They are described by OpenAI and Anthropic as training related crawlers, separate from the search and user facing bots. You can allow search bots like OAI-SearchBot and Claude-SearchBot and still disallow the training ones.

Will blocking GPTBot remove me from ChatGPT?

According to OpenAI's documentation each crawler setting is independent. OAI-SearchBot is the one tied to ChatGPT search. Disallowing GPTBot signals you do not want your content used for model training. It is not the same as opting out of search.

Do I need llms.txt?

Usually no, and it is not a ranking factor we promise. Google says you do not need AI text files for its AI features. We add one when it is cheap to maintain and gives a clear map of your key pages.

Is Google-Extended needed for AI Overviews?

No. Google says Google-Extended does not affect inclusion in Google Search. AI Overviews and AI Mode depend on Google Search eligibility, meaning pages that are indexed and can show a snippet.

Does schema markup make AI engines cite me?

No. Google states no special schema is required for its AI features. Schema helps make your entity and page facts unambiguous, which is useful, but it is not a guarantee of anything.

Can you do this on Shopify or WordPress?

Yes. We work on WordPress, WooCommerce, Shopify, custom code and headless sites. Some platforms limit robots.txt or header edits, and we work within that or tell you what is possible.

How long do robots.txt changes take to show up?

OpenAI says about 24 hours for its search crawler. Other vendors do not give a fixed time. We recheck access during Week 4 and report what we find.

How do I know if my firewall is blocking AI crawlers?

Robots.txt may allow a crawler while your firewall or CDN still blocks it. Request a page with the crawler's user agent and check for a 403 or a challenge page. Server logs and your CDN's bot reports also show blocked requests. A blocked request is invisible in analytics, which is why this problem lasts so long.

What is the most common technical GEO problem?

Content that crawlers cannot reach or cannot read. That means blocked bots, pages that need scripts to show their text, noindex tags left from a launch, and canonicals that point to the wrong place. They are boring and fixable, and fixing them comes before any content work.

Start your GEO Pilot

Tell us your website and the five questions your buyers ask. We reply within one working day with a clear next step.

  • Fixed $999, one time
  • We implement the work for you
  • Any platform, delivered in 30 days

Takes 20 seconds. No card, no sales script.

Step 2 of 2 Where should we send it?