AI Index + Access Layer Skill

AI Index + Access Layer Skill — geo-skills: your site URL into the geo orchestrator, scored across 6 weighted categories into a GEO Score and a… (from the TheSmokeDev/geo-skills README)

Illustration · not a resultFrom the TheSmokeDev/geo-skills README — shows the whole collection, not only this skill.source ↗

Index and access layer audit for AI search -- the hard prerequisites.

by TheSmokeDev·MIT license·★ 27 Stars on the repo·GitHub ↗

Use now

Files of AI Index + Access Layer Skill

TheSmokeDev/main1 file shown
SKILL.md
Show the full text133 lines

AI Index + Access Layer Skill

Purpose

This skill audits the hard technical prerequisites for AI citation: being in the right index, being crawlable by AI agents, allowing content previews, and serving content in raw HTML. None of the content-level GEO work in this pack matters if these gates are closed. Run this audit FIRST, before skills/geo-citability/, skills/geo-fanout/, or any content strategy work.

Core Insight

ChatGPT's retrieval pipeline runs on the Bing index, not Google's: 87% of ChatGPT citations match Bing top results, and Google appears nowhere in the pipeline (SubscribePR analysis, Jul 2026). A site can rank #1 on Google and be completely invisible to ChatGPT if Bing has not indexed it. Bing Webmaster Tools verification + sitemap submission + IndexNow is therefore the ChatGPT entry ticket -- and it also unlocks Bing WMT's AI Performance / Copilot citation data, one of the few first-party AI-visibility datasets available.

Beyond indexation, three access gates silently kill AI visibility:

  1. Crawler blocks -- robots.txt or CDN/WAF rules blocking OAI-SearchBot, GPTBot, ChatGPT-User, PerplexityBot, or ClaudeBot. ~27% of B2B sites accidentally block AI agents at the CDN level (⚠️ industry estimate -- verify before quoting publicly).
  2. Preview restrictions -- legacy nosnippet or restrictive max-snippet directives suppress AI citations. Scored 9.2/10 as a citation factor (Zyppy meta-analysis of 54 studies via DigitalApplied, Jun 2026).
  3. JavaScript-only content -- ChatGPT-User reportedly performs no JavaScript rendering (⚠️ single source, SubscribePR Jul 2026). Content that only exists after client-side rendering is invisible to it.

Audit Checklist (Execute in Order)

Gate 1: Bing Indexation (ChatGPT Entry Ticket)
  1. Check whether the site is verified in Bing Webmaster Tools. If not, that is the #1 finding -- verification + sitemap submission is the entry ticket.
  2. Run site:example.com on Bing (WebFetch https://www.bing.com/search?q=site:example.com) and compare the indexed-page count against the sitemap count. A large gap = indexation problem.
  3. Spot-check 5-10 money pages: is each one indexed on Bing?
  4. Check whether IndexNow is implemented:
    • Look for an IndexNow key file at [domain]/[key].txt.
    • Check whether the CMS/build pipeline pings https://api.indexnow.org/indexnow (or the Bing equivalent) on publish/update.
    • If absent, recommend IndexNow integration -- it pushes new URLs to Bing (and other participating engines) at publish time instead of waiting for crawl.
  5. Once verified, note that Bing WMT's AI Performance (Copilot) report becomes available -- first-party data on how often the site is cited in Copilot answers. This feeds skills/geo-measurement/.
Gate 2: AI Crawler Access (robots.txt + CDN)

Full crawler-by-crawler procedure lives in skills/geo-crawlers/. The minimum viable checks for this audit:

  1. Fetch [domain]/robots.txt and check for blocks on: OAI-SearchBot, GPTBot, ChatGPT-User, PerplexityBot, ClaudeBot -- plus wildcard (User-agent: *) disallow rules that catch them.
  2. Check the CDN/WAF layer (Cloudflare, Akamai, etc.) -- robots.txt can be clean while the CDN blocks AI agents at the edge. ~27% of B2B sites have this problem accidentally (⚠️ industry estimate). Look for: managed bot-fight rules, AI-bot blocking toggles, WAF rules matching AI user-agents.
  3. For each blocked Tier-1 crawler, record the exact rule and location (robots.txt line vs CDN config).
Gate 3: Preview Control (nosnippet / max-snippet)
  1. Fetch 5-10 key pages and check <meta name="robots"> tags and X-Robots-Tag HTTP headers for:
    • nosnippet -- suppresses the text preview AI engines quote from. Remove unless there is a specific legal reason.
    • max-snippet: [low number] or max-snippet: 0 -- a restrictive cap truncates what AI can extract. Remove or raise (e.g., max-snippet: -1 for unlimited).
    • noindex on pages that should be cited -- sometimes inherited from staging or legacy SEO configs.
  2. Also check for noai/noimageai tags (non-standard but some AI systems honor them).
  3. Template-level check: grep the site's templates/theme for these directives -- one template rule can suppress the whole site. Factor weight: 9.2/10 (Zyppy via DigitalApplied, Jun 2026).
Gate 4: Server-Rendered HTML
  1. Fetch a key page with a plain HTTP client (curl/Bash) -- no JavaScript execution.
  2. Check whether the key citable content (headings, answer paragraphs, data tables, prices) exists in the raw HTML response.
  3. If the raw HTML is an empty shell (<div id="root"> + script tags), flag it: ChatGPT-User reportedly does no JS rendering (⚠️ single source), and other AI crawlers have limited rendering (see skills/geo-crawlers/ Step 5).
  4. Recommend SSR/SSG or pre-rendering for content pages. App-like interactive pages matter less; content pages must render server-side.
Gate 5: Google Side (AIO / AI Mode / Gemini)
  1. Confirm the site is indexed on Google (site: query, Search Console coverage) -- Gemini grounding and AIO retrieval use Google's index.
  2. Confirm no Google-Extended or Googlebot blocks that would limit AI-surface eligibility (see skills/geo-crawlers/ for the nuance: Google-Extended controls training/AIO improvement, Googlebot controls indexing).
  3. Note: llms.txt is NOT a substitute for any of this -- Google officially confirmed no machine-readable files are needed for generative AI search (Search Central, May 2026), and Zyppy scores llms.txt 2.0/10, lowest of 23 factors. Do not report llms.txt as an access fix.

Scoring

Gate Weight Pass Criteria
Bing indexation + IndexNow 35% Verified in Bing WMT, money pages indexed, IndexNow live
AI crawler access 30% All five Tier-1 AI crawlers allowed at robots.txt AND CDN level
Preview control 20% No nosnippet / restrictive max-snippet / stray noindex on citable pages
Server-rendered HTML 15% Key content present in raw HTML of all sampled pages

Index + Access Score = weighted sum, 0-100. Any Gate 1 or Gate 2 failure caps the score at 40 -- a site that is not indexed or not crawlable cannot be cited regardless of everything else.


Output Format

Generate a file called GEO-INDEX-ACCESS-AUDIT.md:

# AI Index + Access Audit: [Domain]

**Analysis Date:** [Date]
**Index + Access Score:** [X]/100
**Verdict:** [Ready / Blocked at Gate N]

---

## Gate Results

| Gate | Status | Findings |
|---|---|---|
| 1. Bing indexation + IndexNow | [Pass/Fail] | [WMT verified? indexed pages vs sitemap, IndexNow present?] |
| 2. AI crawler access | [Pass/Fail] | [Blocked crawlers + exact rule location: robots.txt line or CDN rule] |
| 3. Preview control | [Pass/Fail] | [nosnippet / max-snippet / noindex findings + template locations] |
| 4. Server-rendered HTML | [Pass/Fail] | [Sampled pages; which key content is missing from raw HTML] |
| 5. Google side | [Pass/Fail] | [Index coverage, Google-Extended status] |

## Fixes in Priority Order

1. [e.g., "Verify in Bing Webmaster Tools + submit sitemap + deploy IndexNow key" -- ChatGPT entry ticket]
2. [e.g., "Remove `User-agent: GPTBot / Disallow: /` at robots.txt line 12"]
3. [e.g., "Remove `nosnippet` from the base template -- suppresses AI citation previews sitewide"]
4. [e.g., "Move article body from client-rendered React into SSR output"]

## Unlocked Data Sources

- [ ] Bing WMT AI Performance (Copilot) report -- feeds geo-measurement panels
- [ ] Bing WMT keyword data -- feeds geo-fanout sub-query mapping

  • skills/geo-crawlers/ -- the full 14-crawler reference, tiering, and robots.txt recommendation matrix. This skill runs the minimum viable subset; run geo-crawlers for the complete access map.
  • skills/geo-fanout/ -- once indexed, sub-query coverage determines what the engines retrieve.
  • skills/geo-citability/ -- content-level optimization; only worth doing after all five gates pass.
  • skills/geo-measurement/ -- Bing WMT's AI Performance data unlocked here feeds the measurement panels.
1---
2name: geo-ai-index-access
3description: Index and access layer audit for AI search -- the hard prerequisites. Verifies Bing indexation (the ChatGPT entry ticket), audits robots.txt and CDN-level AI-crawler access, removes legacy nosnippet/max-snippet preview restrictions, and confirms key content is server-rendered. Use before any content-level GEO work, or when a site is invisible to ChatGPT despite good content.
4allowed-tools:
5 - Read
6 - Grep
7 - Glob
8 - Bash
9 - WebFetch
10 - Write
11---
12 
13# AI Index + Access Layer Skill
14 
15## Purpose
16 
17This skill audits the hard technical prerequisites for AI citation: being in the right index, being crawlable by AI agents, allowing content previews, and serving content in raw HTML. None of the content-level GEO work in this pack matters if these gates are closed. Run this audit FIRST, before `skills/geo-citability/`, `skills/geo-fanout/`, or any content strategy work.
18 
19## Core Insight
20 
21ChatGPT's retrieval pipeline runs on the **Bing index, not Google's**: 87% of ChatGPT citations match Bing top results, and Google appears nowhere in the pipeline (SubscribePR analysis, Jul 2026). A site can rank #1 on Google and be completely invisible to ChatGPT if Bing has not indexed it. Bing Webmaster Tools verification + sitemap submission + IndexNow is therefore the ChatGPT entry ticket -- and it also unlocks Bing WMT's AI Performance / Copilot citation data, one of the few first-party AI-visibility datasets available.
22 
23Beyond indexation, three access gates silently kill AI visibility:
24 
251. **Crawler blocks** -- robots.txt or CDN/WAF rules blocking OAI-SearchBot, GPTBot, ChatGPT-User, PerplexityBot, or ClaudeBot. ~27% of B2B sites accidentally block AI agents at the CDN level (⚠️ industry estimate -- verify before quoting publicly).
262. **Preview restrictions** -- legacy `nosnippet` or restrictive `max-snippet` directives suppress AI citations. Scored 9.2/10 as a citation factor (Zyppy meta-analysis of 54 studies via DigitalApplied, Jun 2026).
273. **JavaScript-only content** -- ChatGPT-User reportedly performs no JavaScript rendering (⚠️ single source, SubscribePR Jul 2026). Content that only exists after client-side rendering is invisible to it.
28 
29---
30 
31## Audit Checklist (Execute in Order)
32 
33### Gate 1: Bing Indexation (ChatGPT Entry Ticket)
34 
351. Check whether the site is verified in Bing Webmaster Tools. If not, that is the #1 finding -- verification + sitemap submission is the entry ticket.
362. Run `site:example.com` on Bing (WebFetch `https://www.bing.com/search?q=site:example.com`) and compare the indexed-page count against the sitemap count. A large gap = indexation problem.
373. Spot-check 5-10 money pages: is each one indexed on Bing?
384. Check whether IndexNow is implemented:
39 - Look for an IndexNow key file at `[domain]/[key].txt`.
40 - Check whether the CMS/build pipeline pings `https://api.indexnow.org/indexnow` (or the Bing equivalent) on publish/update.
41 - If absent, recommend IndexNow integration -- it pushes new URLs to Bing (and other participating engines) at publish time instead of waiting for crawl.
425. Once verified, note that Bing WMT's **AI Performance (Copilot) report** becomes available -- first-party data on how often the site is cited in Copilot answers. This feeds `skills/geo-measurement/`.
43 
44### Gate 2: AI Crawler Access (robots.txt + CDN)
45 
46Full crawler-by-crawler procedure lives in `skills/geo-crawlers/`. The minimum viable checks for this audit:
47 
481. Fetch `[domain]/robots.txt` and check for blocks on: `OAI-SearchBot`, `GPTBot`, `ChatGPT-User`, `PerplexityBot`, `ClaudeBot` -- plus wildcard (`User-agent: *`) disallow rules that catch them.
492. Check the CDN/WAF layer (Cloudflare, Akamai, etc.) -- robots.txt can be clean while the CDN blocks AI agents at the edge. ~27% of B2B sites have this problem accidentally (⚠️ industry estimate). Look for: managed bot-fight rules, AI-bot blocking toggles, WAF rules matching AI user-agents.
503. For each blocked Tier-1 crawler, record the exact rule and location (robots.txt line vs CDN config).
51 
52### Gate 3: Preview Control (nosnippet / max-snippet)
53 
541. Fetch 5-10 key pages and check `<meta name="robots">` tags and `X-Robots-Tag` HTTP headers for:
55 - `nosnippet` -- suppresses the text preview AI engines quote from. Remove unless there is a specific legal reason.
56 - `max-snippet: [low number]` or `max-snippet: 0` -- a restrictive cap truncates what AI can extract. Remove or raise (e.g., `max-snippet: -1` for unlimited).
57 - `noindex` on pages that should be cited -- sometimes inherited from staging or legacy SEO configs.
582. Also check for `noai`/`noimageai` tags (non-standard but some AI systems honor them).
593. Template-level check: grep the site's templates/theme for these directives -- one template rule can suppress the whole site. Factor weight: 9.2/10 (Zyppy via DigitalApplied, Jun 2026).
60 
61### Gate 4: Server-Rendered HTML
62 
631. Fetch a key page with a plain HTTP client (curl/Bash) -- no JavaScript execution.
642. Check whether the key citable content (headings, answer paragraphs, data tables, prices) exists in the raw HTML response.
653. If the raw HTML is an empty shell (`<div id="root">` + script tags), flag it: ChatGPT-User reportedly does no JS rendering (⚠️ single source), and other AI crawlers have limited rendering (see `skills/geo-crawlers/` Step 5).
664. Recommend SSR/SSG or pre-rendering for content pages. App-like interactive pages matter less; content pages must render server-side.
67 
68### Gate 5: Google Side (AIO / AI Mode / Gemini)
69 
701. Confirm the site is indexed on Google (`site:` query, Search Console coverage) -- Gemini grounding and AIO retrieval use Google's index.
712. Confirm no `Google-Extended` or `Googlebot` blocks that would limit AI-surface eligibility (see `skills/geo-crawlers/` for the nuance: Google-Extended controls training/AIO improvement, Googlebot controls indexing).
723. Note: llms.txt is NOT a substitute for any of this -- Google officially confirmed no machine-readable files are needed for generative AI search (Search Central, May 2026), and Zyppy scores llms.txt 2.0/10, lowest of 23 factors. Do not report llms.txt as an access fix.
73 
74---
75 
76## Scoring
77 
78| Gate | Weight | Pass Criteria |
79|---|---|---|
80| Bing indexation + IndexNow | 35% | Verified in Bing WMT, money pages indexed, IndexNow live |
81| AI crawler access | 30% | All five Tier-1 AI crawlers allowed at robots.txt AND CDN level |
82| Preview control | 20% | No nosnippet / restrictive max-snippet / stray noindex on citable pages |
83| Server-rendered HTML | 15% | Key content present in raw HTML of all sampled pages |
84 
85Index + Access Score = weighted sum, 0-100. **Any Gate 1 or Gate 2 failure caps the score at 40** -- a site that is not indexed or not crawlable cannot be cited regardless of everything else.
86 
87---
88 
89## Output Format
90 
91Generate a file called `GEO-INDEX-ACCESS-AUDIT.md`:
92 
93```markdown
94# AI Index + Access Audit: [Domain]
95 
96**Analysis Date:** [Date]
97**Index + Access Score:** [X]/100
98**Verdict:** [Ready / Blocked at Gate N]
99 
100---
101 
102## Gate Results
103 
104| Gate | Status | Findings |
105|---|---|---|
106| 1. Bing indexation + IndexNow | [Pass/Fail] | [WMT verified? indexed pages vs sitemap, IndexNow present?] |
107| 2. AI crawler access | [Pass/Fail] | [Blocked crawlers + exact rule location: robots.txt line or CDN rule] |
108| 3. Preview control | [Pass/Fail] | [nosnippet / max-snippet / noindex findings + template locations] |
109| 4. Server-rendered HTML | [Pass/Fail] | [Sampled pages; which key content is missing from raw HTML] |
110| 5. Google side | [Pass/Fail] | [Index coverage, Google-Extended status] |
111 
112## Fixes in Priority Order
113 
1141. [e.g., "Verify in Bing Webmaster Tools + submit sitemap + deploy IndexNow key" -- ChatGPT entry ticket]
1152. [e.g., "Remove `User-agent: GPTBot / Disallow: /` at robots.txt line 12"]
1163. [e.g., "Remove `nosnippet` from the base template -- suppresses AI citation previews sitewide"]
1174. [e.g., "Move article body from client-rendered React into SSR output"]
118 
119## Unlocked Data Sources
120 
121- [ ] Bing WMT AI Performance (Copilot) report -- feeds geo-measurement panels
122- [ ] Bing WMT keyword data -- feeds geo-fanout sub-query mapping
123```
124 
125---
126 
127## Related Skills
128 
129- `skills/geo-crawlers/` -- the full 14-crawler reference, tiering, and robots.txt recommendation matrix. This skill runs the minimum viable subset; run geo-crawlers for the complete access map.
130- `skills/geo-fanout/` -- once indexed, sub-query coverage determines what the engines retrieve.
131- `skills/geo-citability/` -- content-level optimization; only worth doing after all five gates pass.
132- `skills/geo-measurement/` -- Bing WMT's AI Performance data unlocked here feeds the measurement panels.
133 

Discussion

Alternatives

Agentic Browsing ReadinessAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).Marketing · MITBacklink Profile AnalysisBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.Marketing · MIT/setup-cmsConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report. · MITBacklink checkBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".Marketing · MIT