Hidden Layer · GEO Readiness Playbook
From AI-invisible
to fully transactable.
The step-by-step framework to make your site discoverable, citable, and actionable by AI systems. Four phases. Five readiness levels.
The readiness ladder
Five sequential levels. Each depends on the one below. Most sites are stuck at L0 — blocked before they're even seen.
- FL0 — Invisible — AI crawlers cannot read your site. JavaScript-only content, blocked bots, missing server-render.
- D–CL1 — Discoverable — Crawlers can access you. robots.txt declared. Server-rendered HTML. Basic meta signals present.
- C–BL2 — Included — Structured data complete. Merchant feeds submitted. Products eligible for AI shopping surfaces.
- B–AL3 — Cited — Brand earns LLM mentions. Entity present in training data. Prose answers real buyer questions.
- AL4 — Transactable — Agents can discover, recommend, and complete transactions with your catalogue in real time.
Phase 1 — Quick Wins
Fix crawler access, robots.txt, render gaps, and meta signals. No code required.
Audit and publish robots.txt
AI crawlers rely on robots.txt to know they're allowed. Missing or restrictive rules silently remove you from AI search results — crawlers default to denial on absence.
How to:
- Check your current robots.txt at yourdomain.com/robots.txt — if it returns a 404, you have no file.
- Verify AI bots are not blocked. Ensure GPTBot, ClaudeBot, PerplexityBot are explicitly allowed.
User-agent: * Allow: / User-agent: GPTBot Allow: / User-agent: ClaudeBot Allow: / - Deploy at your domain root: https://yourdomain.com/robots.txt
- Verify: curl -I https://yourdomain.com/robots.txt — expect HTTP/2 200 and text/plain.
Add /llms.txt — the AI-specific robots.txt
The emerging standard for AI-specific directives. Without it, LLMs have no structured way to understand what you want them to use.
How to:
- Create a plain-text file at /llms.txt in your site root.
- Write using the llms.txt spec: title, summary, links to key content pages.
- Validate: curl https://yourdomain.com/llms.txt — should return 200 text/plain.
Audit meta descriptions and Open Graph tags
Agents use meta descriptions as the first signal for page intent. Missing OG tags mean social sharing and link-preview agents get no structured context.
How to:
- Audit top 10 pages: meta description < 160 chars, og:title, og:description, og:image (1200×630px), og:url.
- Use the Open Graph Debugger (developers.facebook.com/tools/debug/) to validate.
Check for JavaScript-only content (the render gap)
AI crawlers do not execute JavaScript. If your core content only renders client-side, LLM crawlers miss it entirely.
How to:
- Test by disabling JavaScript in DevTools and reloading. If core content disappears, AI sees the same blank page.
- If missing: implement SSR (getServerSideProps) or SSG (getStaticProps). Ensure product names, descriptions, prices are in the initial HTML.
Verify canonical URL consistency
A canonical tag pointing to a different domain silently redirects LLM crawl credit away from you.
How to:
- Check: curl -s https://yourdomain.com | grep -i "canonical"
- Verify top 5–10 pages for staging URLs, www vs non-www, HTTP vs HTTPS mismatches.
Phase 2 — Schema & Feeds
Organization schema, FAQPage, Product schema, Merchant Center, RSS.
Add Organization schema with @id + sameAs entity links
The entity anchor LLMs use to resolve all facts about your brand. Without @id linkage, your brand is a string, not an entity.
How to:
- Add JSON-LD in <head>: @type Organization, @id (canonical URL + "#org"), name, url, logo, sameAs (Wikipedia, Wikidata, LinkedIn, Twitter).
- Validate at: search.google.com/test/rich-results
Add FAQPage schema to key landing pages
FAQPage schema is among the highest-impact schema types for LLM citation. Each Q&A is a directly quotable, structured fact AI systems can extract verbatim.
How to:
- Identify the 3–5 questions buyers ask most. Add FAQPage JSON-LD with Question + Answer for each.
- Each answer must be complete and standalone — AI quotes answers verbatim without surrounding context.
Validate Product schema on product pages
Agents shopping on behalf of users need: name, offers (price + availability), image, description. Without Product schema, AI shopping assistants skip to competitors.
How to:
- Add Product schema JSON-LD to every product page. Required: name, offers (price, priceCurrency, availability), image, description.
- Validate every variant (in-stock, out-of-stock, sale) using Google Rich Results Test.
Enable Google Merchant Center Free Listings explicitly
83% of ChatGPT Shopping results come from Google Shopping organic top-40. Free Listings must be explicitly activated — it is not on by default.
How to:
- Merchant Center → Growth → Manage Programs → Free product listings → Get started.
- Check Diagnostics → Item issues. Common blockers: missing price, availability, image, title, link, GTIN.
Publish an RSS / Atom feed
LLM training pipelines frequently ingest RSS feeds. Sites with feeds get faster content-to-LLM propagation between training checkpoints.
How to:
- Create RSS 2.0 at /feed.xml with title, link, description, and <item> per post (pubDate, guid, full description).
- Declare in <head>: <link rel="alternate" type="application/rss+xml" href="/feed.xml" />
Phase 3 — Content & Citation
Earn LLM recommendations with statistics-rich prose, entity presence, and AI referral tracking.
Write conversational content with statistics, comparisons, and cited sources
Princeton/SIGKDD 2024: citing external sources = +115% AI citation rate; statistics = +41%; direct quotations = +28%. Keyword stuffing = −10%.
How to:
- Audit top 5 landing pages: at least 3 cited statistics? At least 1 direct quotation? Explicit comparison tables?
- Add a "Key statistics" section. Format: "[X]% of [audience] [action], according to [Source, Year]." Hyperlink to source.
- Structure prose for AI extraction: short paragraphs, clear topic sentences, named entities. Each sentence should be self-contained.
Build Wikipedia / Wikidata entity presence
Wikipedia is the single strongest predictor of LLM citation accuracy — it is a direct training corpus for every major model.
How to:
- Check: en.wikipedia.org/wiki/YourBrand. If no article, build notability first — 3+ independent reliable secondary sources required.
- Create a Wikidata entry even without a Wikipedia article: wikidata.org → New Item. Add: business type, name, URL, founded date, industry.
- Add Wikidata and Wikipedia URLs to Organization schema sameAs array.
Set up AI referral traffic tracking in GA4
ChatGPT, Perplexity, Claude, Gemini send referral traffic with identifiable hostnames. Without custom channel grouping, AI referral appears as Direct.
How to:
- GA4 → Admin → Data Settings → Channel groups → Create "AI Referrals" group.
- Match hostnames: chat.openai.com, chatgpt.com, perplexity.ai, claude.ai, gemini.google.com, bing.com.
Track LLM cold recall quarterly via Hidden Layer audits
Cold recall measures whether an LLM can accurately describe your brand from training data alone. Improvement = real brand authority in AI systems.
How to:
- Baseline: ask GPT-4, Claude, and Gemini "Describe [YourBrand] and what they offer." Record verbatim.
- Score on accuracy, completeness, sentiment, confidence. Repeat every 90 days.
- Use Hidden Layer's geo_cold_recall audit score at /audit as a consistent benchmark.
Phase 4 — Agentic & Advanced
WebMCP annotations, /.well-known/webmcp manifest, x402 / BuyAction for agent-initiated commerce.
Annotate HTML forms with WebMCP toolname + tooldescription
Make your existing forms agent-discoverable without JavaScript. Hidden Layer audits of 118 domains found 0 sites with any WebMCP annotations.
How to:
- Identify your 2–3 highest-value forms: product search, add-to-cart, contact.
- Add data-toolname and data-tooldescription attributes to each form, describing inputs and outputs.
Publish /.well-known/webmcp tool manifest
The WebMCP discovery endpoint. Browser agents check this path to discover your available tools before probing the DOM.
How to:
- Create /.well-known/webmcp as a JSON file listing your tools: name, description, form action, input schema.
- Serve with Content-Type: application/json. Validate at: webmcp.io/validate (if available).
Evaluate x402 / BuyAction schema for transactable products
x402 and BuyAction schema are the emerging rails for agent-initiated purchases. Early movers gain catalogue positioning before mainstream tooling arrives.
How to:
- Add schema.org/BuyAction to product pages with eligibleRegion, price, and seller.
- Evaluate x402 payment protocol for agent-initiated transactions — see x402.org for spec.
Monitor agent tool completion rate and description clarity quarterly
Agent models improve over time. A tool description that worked 6 months ago may now be ambiguous — quarterly review keeps your tool surface current.
How to:
- Review each annotated form: is the description clear and specific? Does it name inputs, expected output, and any constraints?
- Test with current major AI agents. Update descriptions when behavior drifts from intent.
Glossary — 13 GEO terms
Key concepts used throughout this playbook.
- GEO (Generative Engine Optimisation)
- The practice of making a website discoverable, citable, and transactable by AI-powered search and recommendation systems — the counterpart to traditional SEO for the LLM era.
- AEO (Answer Engine Optimisation)
- A subset of GEO focused specifically on getting your content quoted as a direct answer by AI systems like ChatGPT, Perplexity, or Google AI Overviews.
- LLM / AI crawler
- An automated bot (e.g. GPTBot, ClaudeBot, PerplexityBot) that fetches and indexes web content to train or augment large language models.
- llms.txt
- An emerging open standard that lets site owners declare AI-specific access rules and link to key content for LLM consumption, placed at the root of a domain.
- robots.txt
- A plain-text file at the root of a domain that instructs crawlers which pages they may or may not access; AI crawlers respect it just like traditional search bots.
- Schema.org / structured data
- A shared vocabulary of JSON-LD markup embedded in HTML that tells search engines and AI systems what a page is about — product, FAQ, organisation — in a machine-readable format.
- RAG (Retrieval-Augmented Generation)
- An AI architecture where a model fetches live documents at query time to ground its answer in current facts, rather than relying solely on training-time knowledge.
- Citation
- When an AI system names or quotes your brand, product, or content in a generated answer — the primary success metric of GEO.
- Readiness ladder
- Hidden Layer's five-level framework (L0 Invisible → L4 Transactable) describing the sequential stages of AI readiness.
- Render gap
- The discrepancy between what a browser displays (after executing JavaScript) and what an AI crawler actually sees (server-rendered HTML only).
- Entity
- A uniquely identified real-world concept — a brand, product, or person — that AI systems track across sources using @id anchors and sameAs links.
- WebMCP
- An open protocol that lets browser-based AI agents discover and invoke HTML forms as tools via data-toolname / data-tooldescription attributes and a /.well-known/webmcp manifest.
- Cold recall
- The ability of an LLM to accurately describe your brand from training data alone, without any retrieval or search — measured by Hidden Layer's geo_cold_recall score.