Ops Lab Playbook: AI Visibility
Last updated: 2026-03-08
1. Purpose and when to use this
Use AI Visibility to understand how AI crawlers interact with your content, measure AI-referral traffic, score your pages for AI discoverability, submit URLs for faster indexing, and verify bot authenticity.
2. Included scenarios
AIV-01Query AI crawler analytics: breakdown of crawler visits by bot name (GPTBot, ClaudeBot, Googlebot, Bingbot, etc.).AIV-02Query AI referrer attribution: traffic attribution from AI sources (ChatGPT, Perplexity, Claude, etc.).AIV-03Export AI visibility data (CSV): downloadable CSV export with ai_crawler dimension columns.AIV-04AI crawler with date range: date-bounded crawler analytics query.AIV-05Score content AI-readiness: evaluate pages on 10 readiness checks and return a weighted 0–100 score.AIV-06Get cached readiness scores: retrieve latest readiness scores from the most recent crawl run.AIV-07Submit URLs to IndexNow: push URLs to Google, Bing, Yandex, and Naver for faster indexing.AIV-08Verify bot authenticity: reverse-DNS + forward-DNS check to confirm a bot is who it claims to be.
3. UI workflow
- Open
https://app.10x.in/apps/ai-visibility. - Pick scenario from dropdown, configure mode (
mockorlive) and optional demo pack. - Fill in the handle and any required parameters (hostname, page data, bot user-agent, source IP).
- Run request and inspect the response.
Readiness score interpretation
The AI-readiness score evaluates 10 checks per page:
| Check | Weight | What it measures |
|---|---|---|
| Structured data (JSON-LD) | 15 | Schema.org markup for AI extraction |
| Meta description | 10 | Description length and presence |
| Open Graph tags | 10 | Social/AI preview metadata |
| Canonical URL | 10 | Deduplication signal for crawlers |
| Single H1 | 5 | Clear content hierarchy |
| Word count (≥300) | 15 | Sufficient content depth |
| Server-side rendering | 15 | Content available without JavaScript execution |
| Robots.txt allows AI | 10 | Not blocking AI crawlers |
| Sitemap | 5 | Discoverability via sitemap |
| Lang attribute | 5 | Language signal for multilingual content |
IndexNow submission
IndexNow notifies search engines of URL changes for faster indexing. The platform handles key generation and provider-specific endpoint formatting.
Supported providers:
- Google:
api.indexnow.org - Bing:
www.bing.com - Yandex:
yandex.com - Naver:
searchadvisor.naver.com
Bot verification
Bot verification uses a two-step DNS process:
- Reverse-DNS: look up the hostname for the source IP.
- Forward-DNS: resolve that hostname back to IP addresses.
- Match check: verify the original IP appears in the forward-DNS results and the hostname matches expected domains for the claimed bot.
Known bot domains:
- GPTBot / ChatGPT-User →
.openai.com - ClaudeBot →
.anthropic.com - Googlebot →
.googlebot.com,.google.com - Bingbot →
.search.msn.com - Applebot →
.apple.com - Meta-ExternalAgent →
.facebook.com,.meta.com
4. API workflow
Query crawler analytics
curl -H "Authorization: Bearer $JWT" \
"https://ai.10x.in/v2/handles/{handle}/analytics?groupBy=ai_crawler&period=30d"
Score readiness
curl -X POST -H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{"pages":[{"url":"https://example.com","hasJsonLd":true,"metaDescriptionLength":155,"hasOgTags":true,"hasCanonical":true,"h1Count":1,"wordCount":850,"renderMode":"ssr","robotsBlocksAi":false,"hasSitemap":true,"hasLangAttr":true}]}' \
"https://ai.10x.in/v2/handles/{handle}/site-intel/{hostname}/readiness-score"
Submit URLs
curl -X POST -H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com/page-1","https://example.com/page-2"],"providers":["google","bing"]}' \
"https://ai.10x.in/v2/handles/{handle}/site-intel/{hostname}/submit-urls"
Verify bot
curl -X POST -H "Authorization: Bearer $JWT" \
-H "Content-Type: application/json" \
-d '{"userAgent":"Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)","sourceIp":"20.15.240.64"}' \
"https://ai.10x.in/v2/handles/{handle}/site-intel/verify-bot"
5. MCP tool access
External agents can use AI Visibility via MCP tools:
ai_visibility_crawler_analytics— query crawler trafficai_visibility_referrer_attribution— query AI referrer sourcesai_visibility_readiness_score— score content readinessai_visibility_submit_urls— submit URLs to IndexNowai_visibility_verify_bot— verify bot authenticity
6. Failure modes and remediation
- Readiness score returns empty: ensure a crawl has completed and the
summary.readinessScoresfield is populated. - Submit-urls returns all
error: verify IndexNow key is configured and target hostname is publicly accessible. - Verify-bot returns
verified=falsefor a known bot: the source IP may be from a CDN or proxy, not the bot's origin network. 400 invalid_json: verify submit/verify request bodies are valid JSON objects.400 userAgent_requiredor400 sourceIp_required: include both fields for bot verification.401 unauthorized: verify JWT or PAT token.403 forbidden: verify handle access and required scope.