GEO best practices for technical and SEO leads
Short answer
AI search can only cite pages it can reach, read and quote. Check indexing, crawler tokens, CDN and firewall rules, snippet controls and server rendering, then confirm verified crawler visits in the logs. Turn the checks into automated tests so a deploy or a CDN default change cannot silently undo them.
This guide is for the person who owns crawlability: a technical SEO, a platform engineer or a web lead. It turns the six-step AI search access audit into a programme you can own. Expect two or three days for the first full pass and a few hours a month afterwards. You need Search Console, Bing Webmaster Tools, CDN or WAF settings, and raw access logs.
The short version
Section titled “The short version”- Confirm key pages are indexed and eligible for snippets in Google and Bing.
- Set robots.txt per crawler token, separating search from training.
- Check that the CDN, WAF and hosting let the same crawlers through.
- Remove unintended snippet limits and AI exclusion settings.
- Make sure the main content is in the server HTML.
- Verify real crawler visits in the logs, including Chinese search engines if that market matters.
- Automate these checks and alert on regressions.
1. Indexing and snippet eligibility
Section titled “1. Indexing and snippet eligibility”Every AI search product here sits on top of a search index. If a page is not indexed, nothing downstream matters.
- Use URL Inspection on a sample of templates, not only the home page (URL Inspection tool).
- Review the Page indexing report for whole templates dropping out (Page indexing report, Diagnose a page not indexed by Google).
- Do the same in Bing Webmaster Tools, where the AI Performance report also lives (Bing AI Performance report).
2. robots.txt per token
Section titled “2. robots.txt per token”Each AI company now runs several bots with different jobs. Your policy should say which purposes you allow, then map each purpose to tokens.
| Purpose | Tokens to review |
|---|---|
| Search indexing | Googlebot, Bingbot, OAI-SearchBot, Claude-SearchBot, PerplexityBot |
| User-triggered fetch | ChatGPT-User, Claude-User, Perplexity-User |
| Training | GPTBot, ClaudeBot, Google-Extended |
| Chinese search | Baiduspider, 360Spider, Sogou web spider, Bytespider |
Full syntax per token: Configure robots.txt for AI crawlers and robots.txt.
3. CDN, WAF and hosting
Section titled “3. CDN, WAF and hosting”robots.txt says what you allow. The edge decides what actually gets through. Bot-management products now ship AI-specific defaults, and those defaults change.
- Export the bot rules, managed rulesets and rate limits that apply to the site.
- For each search token in section 2, confirm it is allowed, not challenged.
- Check firewall logs for
403,429and challenge responses to verified crawler IPs. - Re-check after any CDN plan change, new zone or provider announcement. See HTTP status codes and crawlers.
4. Snippet controls and AI exclusion
Section titled “4. Snippet controls and AI exclusion”Templates, plugins and legal requests add snippet restrictions. They can quietly remove a page from AI answers while it still ranks in classic results.
- Grep HTML and headers for
noindex,nosnippet,max-snippet,data-nosnippetandX-Robots-Tag. - Check Settings › Search generative AI on every Search Console property, including parent domains.
- Keep a list of pages where a restriction is deliberate, with the reason.
Details: Snippet controls for AI Overviews and AI Mode, Search generative AI control.
5. Rendering
Section titled “5. Rendering”Google renders JavaScript, but most AI crawlers do not. Content that appears only after client-side rendering may be invisible to them.
Fetch each template with JavaScript off and diff the main text against the rendered page. Fix by template, not by URL. See JavaScript rendering and AI crawlers and JavaScript sites (Next.js, Vue and others): making sure AI crawlers can read your content.
6. Verify visits in the logs
Section titled “6. Verify visits in the logs”User-agent strings are easy to fake. Count only visits you can verify, by DNS or by published IP ranges.
For the Chinese market, each engine documents its own method.
Build a daily job that tags each log line as verified, unverified or spoofed per token. Method and scripts: Verify AI crawler traffic in server logs. Platform context for China: GEO in China: Doubao, Yuanbao, Qwen, ERNIE, DeepSeek and Kimi.
7. Monitoring and regression
Section titled “7. Monitoring and regression”Most access failures are regressions: a new WAF rule, a template change, a robots.txt edit in a release. The checks above should run on their own. This section is our recommended setup, not platform documentation.
- robots.txt diff: fetch it daily and alert on any change to rules for search tokens.
- Header and meta test: in CI, fail a build that adds
noindexornosnippetto an indexable template. - No-JS content test: in CI, fetch key templates without JavaScript and assert that a known sentence is present.
- Edge test: request key URLs from outside your network with each search user agent and alert on
403,429or a challenge page. A spoofed UA test does not prove real crawlers pass, so pair it with log verification. - Log dashboard: verified visits per token per day, with an alert when a token drops to zero.
- Owner and runbook: name one owner for crawler access, and document who can change CDN bot settings.
What not to do
Section titled “What not to do”- Don’t block search and training crawlers with one rule. It is the most common costly mistake (section 2).
- Don’t trust robots.txt alone. The CDN can override it (section 3).
- Don’t count unverified user agents. They inflate crawler traffic (Verify AI crawler traffic in server logs).
- Don’t block AI bots by IP when robots.txt would do. Anthropic notes IP blocks stop its crawlers from reading robots.txt (Verify AI crawler traffic in server logs).
- Don’t treat a pass as a promise of citations. These are preconditions (Google Search Essentials).
- Don’t build special files for AI to rank. llms.txt is ignored by Google Search (Claim: llms.txt improves AI search visibility).
How you’ll know it’s working
Section titled “How you’ll know it’s working”- All checks green for every key template, recorded with a date (AI search access audit).
- Verified visits from each allowed search token, steady or rising.
- Pages appearing in Search Console’s generative AI report (Generative AI performance report: AI Overviews and AI Mode in Search Console) and Bing’s AI Performance report.
- Citation share in a fixed prompt panel, reported as a trend (Measuring AI visibility by sampling prompts, For marketing leads: measuring GEO and reporting it upward).
Evidence at a glance
Section titled “Evidence at a glance”| Recommendation | Evidence |
|---|---|
| Indexed and snippet-eligible | Official (Google) |
| robots.txt by purpose and token | Official (OpenAI, Anthropic, Google); observed common mistake (DATA17, 2026) |
| CDN and WAF allow search crawlers | Official (Google, Cloudflare) |
| No unintended snippet limits or AI exclusion | Official (Google) |
| Server-rendered main content | Official (Google) and observed (Vercel/MERJ, 2024) |
| Verify crawlers by DNS or IP list | Official (Google, OpenAI, Baidu, 360, Toutiao) |
| Automated regression tests | Hypothesis (our recommended practice) |
Sources
- AI features and your website
- Overview of OpenAI crawlers
- Does Anthropic crawl data from the web, and how can site owners block the crawler?
- 你的公司还在 AI 的答案里吗:企业 GEO 行动指南 · 2026
- Block AI Bots
- Robots meta tag, data-nosnippet, and X-Robots-Tag specifications
- Search generative AI control - Search Console Help
- Understand JavaScript SEO basics
- The rise of the AI crawler (17 Dec 2024)
- Verify requests from Google crawlers and fetchers
- FAQs of Baiduspider
- 360蜘蛛IP
- 头条搜索spider介绍
- AI Performance report (Bing Webmaster Tools help)