First published: 29 June 2026 · Last updated: 29 June 2026
CLASSICAL (Google, Bing)
Page-level indexing
- Crawler fetches page
- Parser extracts text, links, schema
- Indexer stores keywords + signals at page level
- Ranker scores pages for query relevance + authority
- Top 10 pages returned as SERP
vs
AI ENGINES (ChatGPT, Perplexity, Claude)
Chunk-level embedding + retrieval
- Crawler fetches page (own + Bing/Google API)
- Parser chunks content into 200-500 token segments
- Embedder converts chunks to vector representations
- Vector index stores chunks with brand + URL metadata
- Query embeds → similarity search → top chunks → LLM synthesises answer + citations
How Classical Search Engines Index (Brief Recap)
A short refresher on Google and Bing because the AI engine architecture is best understood as a contrast. Classical search engines (Google, Bing) operate on a four-stage pipeline:- Crawl. A bot (Googlebot, Bingbot) fetches the page over HTTP. Discovery happens via sitemaps, internal links, external links, and known URLs. The crawler respects `robots.txt` and crawl-delay directives.
- Parse. The crawler extracts the rendered HTML (with JavaScript execution for Googlebot, partial for Bingbot), identifies text, headings, links, images, structured data.
- Index. The parsed content is stored in a massive inverted index keyed by terms (keywords). Each indexed term maps to a posting list of pages containing it, with metadata (term frequency, position, structural role).
- Rank. At query time, the ranker scores indexed pages against the query using hundreds of signals (keyword match, link authority, freshness, user signals, page experience, E-E-A-T proxies). The top N pages are returned as the SERP.
How AI Search Engines Index
AI search engines operate on a fundamentally different pipeline. The five-stage version:- Crawl. A bot fetches the page. The bot stack varies by engine: GPTBot and OAI-SearchBot for OpenAI, ClaudeBot for Anthropic, PerplexityBot for Perplexity, CCBot for Common Crawl (used by many engines as a base layer), Bytespider for ByteDance, Google-Extended for Google's AI training (separate from Googlebot's classical crawl).
- Parse and chunk. The fetched HTML is parsed and the content is split into semantic chunks. A chunk is typically 200-500 tokens (roughly 150-400 words), bounded by structural breaks (headings, paragraph boundaries, list items). The chunk size is engine-specific but the concept is universal.
- Embed. Each chunk is converted to a vector representation using an embedding model. The embedding captures the semantic meaning of the chunk in a high-dimensional vector space (typically 768, 1024, or 1536 dimensions). Chunks about similar topics produce similar vectors.
- Store. The chunks and their embeddings are stored in a vector database alongside metadata: source URL, brand name, publication date, schema-extracted entities, hierarchical context (which H2 section is the chunk under, which page is it on, which site).
- Retrieve and synthesise. At query time, the user prompt is embedded into the same vector space. A similarity search identifies the top N chunks closest to the prompt. The LLM (GPT-4, Claude, etc.) is given the prompt and the retrieved chunks as context, then generates an answer with the source URLs surfaced as citations.
The Hybrid Reality: AI Engines Use Classical Indexes Too
The above is the pure architecture. The practical reality is hybrid. Most major AI engines combine their own embedding-based index with API access to Google or Bing's classical index for live retrieval. The hybrid pattern by engine:- ChatGPT (with web search): uses Bing's API for live web search results, plus its own training-time corpus and OAI-SearchBot's lightweight index for supplementary context.
- Perplexity: maintains its own index (PerplexityBot) and supplements with both Google and Bing APIs depending on the query.
- Google AI Overviews and AI Mode: uses Google's classical index directly. The "AI" part is the synthesis layer on top of classical retrieval.
- Microsoft Copilot: uses Bing's classical index directly. Same pattern as Google.
- Claude (Anthropic, with web search): uses Brave Search API for live retrieval plus its own training-time corpus.
Chunking: Why Page Structure Matters Differently
The chunking step is the most consequential difference for content strategy. AI engines do not cite pages; they cite chunks. The chunk's quality determines whether it gets retrieved and cited. What makes a good chunk:- Self-contained. A good chunk makes sense in isolation, without requiring context from preceding or following chunks. The fix: write each H2 section as if it could be lifted out and quoted standalone.
- Topically focused. A chunk that covers one specific question or claim is more retrievable than a chunk that mixes multiple topics. The fix: structure long content so each section addresses one specific question.
- Densely factual. Chunks rich in extractable facts (numbers, definitions, named entities, dates, comparisons) are preferred for citation because the LLM can lift them verbatim. The fix: structure content with discrete fact units (lists, tables, callouts, definition statements).
- Schema-tagged when possible. Chunks that are part of a FAQPage, HowTo, or other typed schema get richer metadata in the vector index, improving retrievability. The fix: deploy the schema stack from the AEO content side.
High-quality chunk
- Self-contained (200-500 tokens)
- One topic per chunk
- Topic sentence as opener
- Dense factual content
- Within typed schema (FAQPage, HowTo)
- Clear hierarchical context (H2 + parent page)
Retrieved: high. Cited: high. Citation rank: position 1-2.
Low-quality chunk
- Long paragraph blocks (1000+ tokens)
- Mixed topics per section
- Anaphoric references ("as discussed above")
- Prose-heavy, fact-poor
- No schema context
- Weak hierarchical structure (no H2s)
Retrieved: low. Cited: rare. When cited, paraphrased not quoted.
Embeddings: The Semantic Layer
Embeddings are the technical mechanism that makes semantic retrieval possible. A short tour: An embedding is a numerical representation of a chunk's meaning in a high-dimensional vector space. The model that produces the embedding (an embedding model, such as OpenAI's `text-embedding-3-large` or Cohere's `embed-multilingual-v3`) maps each chunk to a fixed-length vector. The vector captures the semantic meaning: chunks about similar topics produce similar vectors, even if the specific words differ. The practical implication: a chunk about "improving page load speed" and a chunk about "Core Web Vitals optimisation" produce similar embeddings even though they share few keywords. A user prompt about "how to make my website faster" embeds close to both. The retrieval step finds the closest chunks regardless of exact-match keyword presence. This is why pure keyword-density SEO does not transfer cleanly to AEO. The retrieval mechanism is not matching keywords; it is matching semantic meaning. The optimisation goal is not to repeat the keyword 12 times; it is to ensure the chunk's semantic content closely matches the kinds of prompts users will run. The corollary: brand-name presence in chunks matters more than keyword density. AI engines match prompts to chunks by semantic similarity but cite the brand attached to the chunk's source. A chunk that comprehensively answers a query but does not mention the brand name will surface the source URL as the citation; a chunk that mentions the brand name in context will additionally surface the brand prominently in the cited answer text.Per-Engine Indexing Differences
The five major AI engines differ in their indexing details. The summary:Engine
Primary crawler
Live source
Recency window
Citation density
ChatGPT (search mode)
OAI-SearchBot, GPTBot
Bing API
Days to weeks
3-5 sources per response
Perplexity
PerplexityBot, Perplexity-User
Own + Google + Bing APIs
Hours to days
5-10 sources per response (highest)
Google AI Overviews
Googlebot + Google-Extended
Google classical index
Real-time
3-7 sources per response
Microsoft Copilot
Bingbot
Bing classical index
Real-time
3-5 sources per response
Claude (web search)
ClaudeBot
Brave Search API
Days to weeks
2-4 sources per response (lowest)
- For Perplexity: the highest citation density per response means the most opportunities to be cited. Perplexity is the engine to prioritise for AEO measurement because it produces the most signal per query.
- For ChatGPT: dependency on Bing API means Bing rankings matter more than Google rankings for ChatGPT visibility. Bing-specific optimisation (Bing Webmaster Tools verification, Bing-friendly crawl directives) has measurable AEO leverage for ChatGPT.
- For Google AI Overviews: real-time use of the Google classical index means classical SEO is the primary lever. AI Overview citation correlates strongly with traditional ranking on the same query.
- For Copilot: same Bing-dependency as ChatGPT but with stronger Microsoft ecosystem integration (Office, Edge browser). The user base skews enterprise.
- For Claude: lowest citation density per response. Less leverage per query but Claude's user base is heavily technical/developer, making it valuable for B2B SaaS and developer tools verticals.
Recency: How AI Engines Handle Fresh Content
A common misconception is that AI engines index slowly because the underlying LLMs have training cut-offs. The reality in 2026 is that the live-retrieval layer (Bing API, Google index, own crawls) handles freshness independently of the LLM's training cut-off. By engine:- Real-time engines (Google AI Overviews, Microsoft Copilot): content indexed by Googlebot or Bingbot is available within minutes-to-hours of publication.
- Hours-to-days engines (Perplexity): their own crawler operates continuously and re-indexes priority sources frequently.
- Days-to-weeks engines (ChatGPT, Claude): the proprietary crawls are slower; new content takes longer to enter the AI engine's recall set, even if it is in Bing's index.
Diagnosing AI Indexing for a Site
The diagnostic methodology for confirming a site is being indexed effectively by AI engines:- Crawl confirmation. Check server logs for hits from GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot. Frequency and distribution across pages indicate which content is being prioritised.
- Inclusion check. For a sample of pages, run direct prompts that should retrieve the page if indexed. Example: "Give me a summary of [page topic] from [site name]". If the AI engine produces a coherent response that matches the page content and cites the page, the page is retrievable.
- Comparison check. Run the same prompts in incognito for the brand and the top 3 competitors. Note the citation distribution; absence of brand citations against present competitor citations indicates indexing or extractability gaps.
- Chunk-level audit. Sample 5-10 pages, identify the H2 sections, run prompts that target the specific H2 content. If the H2 is well-indexed, the prompt should retrieve the page; if not, the chunk is not surfacing.
- Schema verification. Use the Rich Results Test to confirm schema is rendering. AI engines use schema for chunk metadata; chunks within typed schema (FAQPage, HowTo) have richer retrievability.
- Recency confirmation. Publish a new test article. Track when it first appears as a citation in each engine. The lag identifies the engine-specific recency profile for the site.
A Worked Example: SG B2B Site Indexing Diagnosis
Concrete example. Client: SG B2B SaaS, 240 indexed pages, AI indexing diagnosis run in March 2026. Crawl confirmation (server logs, 30-day window):- Googlebot: 4,200 hits across 240 pages.
- Bingbot: 1,800 hits.
- GPTBot: 380 hits.
- ClaudeBot: 220 hits.
- PerplexityBot: 540 hits.
- OAI-SearchBot: 150 hits.
- ChatGPT: 9 of 15 pages produced coherent retrieval; 6 failed.
- Perplexity: 12 of 15 retrieved.
- Google AI Overviews: 14 of 15 retrieved (mirrors classical Google indexing).
- Copilot: 11 of 15 retrieved.
- 14 of 20 H2 sections were retrievable via targeted prompts.
- 6 failed retrieval, all of them in long paragraph-heavy sections without internal structure.
- ChatGPT inclusion: 13 of 15 (up from 9).
- Chunk retrieval: 19 of 20 (up from 14).
- AI citation rate on tracked-prompt set: 27% (up from 14%).
