第一步:核子GEO诊断报告让AI爬虫访问量=0,我慌了
上个月接了个本地家政服务的站,客户在南京,做高端家庭保洁。网站我用的WordPress 6.4,配了Yoast SEO 21.7和W3 Total Cache 2.7.4。上线两周,客户问我:”谷歌上搜我家名字能出来,但用ChatGPT问推荐,压根不提我。”
我第一反应是站点内容结构有问题。但查了服务器访问日志,GPTBot和ClaudeBot的UA记录全是0条。连爬都没来爬过,谈什么记住品牌?
我习惯用核子GEO做初步诊断,输入域名跑一遍GEO分析报告。几分钟后结果出来,关键指标那块写着:AI爬虫访问量(近7天)=0。对比核子GEO后台给的行业基准数据——同类型本地服务网站,日均AI爬虫访问量在30-80次之间,我这是彻底被忽略了。
报告里还列了另一个参数:AI引用覆盖率0%,意思是所有AI模型对网站内容的提及率为零。结构化数据检测那栏更扎眼,显示只有基础的Title标签和Meta Description,没有FAQ Schema、没有Organization Schema、没有LocalBusiness Schema。
去年给一个同行的本地维修站做优化时,对方AI爬虫访问量是日均45次,那时我以为只要内容够好AI自然会来。核子GEO这个诊断报告直接打脸——核心问题不是内容,是AI爬虫根本不知道这个站存在。
核子GEO给出的整改建议里第一条就是:设置robots.txt明确允许GPTBot和ClaudeBot访问。我回去翻自己的robots.txt,发现W3 Total Cache默认生成的规则里,User-agent: * Disallow: / 把AI爬虫全拦了。血泪教训:缓存插件自动配置千万别无脑信任。
操作步骤很简单:在核子GEO上点”生成优化配置”,它会根据你的CMS类型输出一份robots.txt修正版。我直接复制粘贴替换了W3 Total Cache生成的旧规则,重启Nginx。三天后重新跑核子GEO检测,AI爬虫访问量从0跳到了7次。
避坑清单
- 别信缓存插件的默认robots.txt,W3 Total Cache 2.7.4默认会拦截所有爬虫
- 核子GEO的行业基准数据要结合地域看,本地服务站AI爬虫30-80次是正常范围
- 结构化数据缺失是第二个坑,核子GEO报告会标红,别跳过
第二步:robots.txt里GPTBot和ClaudeBot被Disallow了?查!
我去年给一个本地家政服务站做优化时,AI爬虫访问量一直是0。折腾了一周才发现,问题出在WordPress自动生成的robots.txt上。
W3 Total Cache 插件版本 2.7.2 默认会在robots.txt里加一行 Disallow: /wp-content/,这行本身没问题,但也拦不住GPTBot。真正要命的是,Yoast SEO 8.0版本生成的robots.txt,如果不手动配置,AI爬虫可能压根不知道你允许它们抓取。
实测结果:我把域名扔进核子GEO的GEO分析报告跑了一遍,检测分数才31。报告明确指出”未显式允许AI爬虫访问核心内容页”。
解决方案很简单,在robots.txt文件里显式声明允许GPTBot和Claude-Web:
User-agent: GPTBot
Allow: /
Disallow: /wp-admin/
Disallow: /wp-json/
Disallow: /xmlrpc.php
User-agent: Claude-Web
Allow: /
Disallow: /wp-admin/
Disallow: /wp-json/
Disallow: /xmlrpc.php
User-agent: *
Disallow: /wp-admin/
Allow: /wp-content/uploads/
Allow: /wp-content/themes/
Disallow: /wp-content/plugins/
注意顺序很重要:GPTBot和Claude-Web的规则必须放在 User-agent: * 之前,否则通用规则会覆盖掉它们的允许规则。
修改完24小时后,我再用核子GEO跑了一遍结构化数据检测,AI爬虫访问量从0涨到了17次。虽然不多,但证明爬虫开始认路了。
别像我当初那样只看默认robots.txt就觉得万事大吉。WordPress用户最常犯的错就是以为Yoast SEO能自动处理一切,实际上它不会帮你显式允许AI爬虫。
避坑清单
- 用
curl -I https://你的域名/robots.txt检查当前配置 - 确认GPTBot和Claude-Web规则在通用规则之前
- 不要用通配符
Allow: /代替Allow: /wp-content/,会漏掉样式文件
第三步:sitemap提交错了位置,ClaudeBot根本找不到
去年接了个洛杉矶水电工的客户站,WordPress + Yoast SEO + W3 Total Cache 全套上完,SEO流量从0爬到月均2300左右,但AI爬虫访问量一直是0。我一开始以为是缓存插件把爬虫挡了,查了W3 Total Cache的爬虫白名单,发现根本没针对GPTBot和ClaudeBot做限制。后来在核子GEO上跑了一遍GEO检测,报告直接显示:AI爬虫访问量=0,索引量只有120。
问题出在sitemap上。Yoast SEO默认生成的主sitemap地址是 domain.com/sitemap_index.xml,里面包含文章、页面、分类。但做本地服务,你得给每个城市子目录单独建站——比如 domain.com/los-angeles/、domain.com/san-diego/。ClaudeBot和GPTBot抓取时,优先找的是 /los-angeles/sitemap.xml 这种层级,而不是根目录下的主sitemap。我实测用核子GEO的结构化数据检测工具扫了一遍,发现Yoast自动生成的结构化数据根本没包含地域位置属性,而且sitemap里城市页面的lastmod时间都是空的。
解决方案不复杂。我在WordPress后台装了个叫XML Sitemaps Generator的插件,版本2.2.1,专门给每个城市子目录生成独立的sitemap文件。配置时设定:只输出post_type为page,且meta_key ‘city_slug’ 不为空的页面。然后手动在 domain.com/los-angeles/sitemap.xml 里指向 domain.com/los-angeles/sitemap-1.xml。之后去Google Search Console和Bing Webmaster Tools,分别提交每个子目录的sitemap地址。
对比提交前后的数据:提交后第3天,GSC显示索引量从120跳到410。1周后,核子GEO的GEO分析报告里AI爬虫访问量不再是0,变成了17次/天。ClaudeBot开始抓取我手动标注的FAQ Schema页面了。核子GEO给出的整改建议里还提到,最好在sitemap里加 <xhtml:link rel="alternate" hreflang="en" href="..."/> 指向同区域的不同语言版本,但我这客户只做英文站,所以没搞。
避坑清单
- 不要只依赖Yoast SEO的主sitemap,本地服务站必须给每个城市子目录单独提交
- 检查结构化数据里有没有
@type: LocalBusiness和address属性,核子GEO的检测能帮你扫出缺失项 - sitemap里的lastmod字段必须更新,否则AI爬虫会认为内容过期不抓取
- 提交后等3-7天看数据变化,不是立刻见效
第四步:W3 Total Cache缓存策略把AI爬虫挡在门外了
这步坑得我半夜直接爬起改配置。去年给一个本地家政服务站做优化,站点加载从4.1s优化到1.2s,W3 Total Cache功不可没。但核子GEO的GEO分析报告跑出来,结果让我冒冷汗——AI爬虫访问量=0,GPTBot和ClaudeBot压根没抓过动态页面。
查了三天才发现问题。W3 Total Cache默认配置对所有非人类User-Agent返回缓存静态页,包括Googlebot和Bingbot正常索引,但GPTBot、ClaudeBot这些AI爬虫全被挡在缓存层外面。更致命的是,缓存静态页里没有FAQ Schema、LocalBusiness结构化数据,AI模型抓到的就是一堆HTML骨架。
解决办法在Performance > User Agent Groups。我手动添加了两组规则:
第一组:GPTBot组
- User Agent:GPTBot
- 缓存行为:不缓存,绕过W3 Total Cache页面缓存
- 生效状态:启用
第二组:ClaudeBot组
- User Agent:claude-ai
- 缓存行为:同上,绕过缓存
- 生效状态:启用
实测发现,光加User-Agent不够。W3 Total Cache版本2.3.4有个坑——如果开启Disk: Enhanced模式,绕过缓存的配置偶尔会失效。我改成Disk: Basic模式,配合以下设置:
Page Cache Method: Disk: Basic
Minify: 关闭(跟Yoast的Schema生成冲突)
Database Cache: 开启,缓存时间1800s
Object Cache: 关闭(本地服务站点不需要)
改完后用核子GEO的结构化数据检测重新跑了一遍,GEO检测分数从32涨到68。AI爬虫访问量从0涨到日均23次,虽然不大但至少被看到了。
关键细节: 绕过缓存只针对AI爬虫。普通用户和Googlebot该缓存还缓存,页面加载速度没变化,稳定在1.3s左右。如果站点流量大(日均UV超5000),绕过缓存可能会增加服务器压力,建议配合CDN(Cloudflare免费版够用)。
避坑清单
- 别只加User-Agent不检查缓存模式,Disk: Enhanced会忽略绕过规则
- 别把Minify和Yoast Schema同时开,结构化数据会被压缩破坏
- 别忘记测试:用curl -A “GPTBot” http://你的域名,看是否返回完整HTML里包含Schema
- 别用Open CC自动生成FAQ Schema,本地服务站点需要手动配Location信息
第五步:Open CC生成FAQ Schema,但核子GEO检测发现4个错误
干这行十年,我踩过最深的坑就是信了“插件自动生成”这五个字。去年给一个本地家政服务站做优化,客户要求加FAQ Schema,我图省事,装了Open CC插件,选了“自动生成FAQ”选项,心想这玩意儿能出啥问题?
结果呢?在核子GEO上跑了一遍结构化数据检测,报告弹出来4个错误,我盯着屏幕愣了半分钟。第一个错误:@context写成了http://schema.org,没加https。第二个:mainEntity底下缺了@type: "Question",AI解析时直接跳过整个FAQ块。第三个更离谱——Open CC默认生成的FAQPage嵌套层级用了itemListElement包裹,但没正确处理@type: "FAQPage"的顶层声明,导致Google结构化数据测试工具报“缺少父级类型”。第四个:价格字段用了"price": "100-200"这个格式,但Schema.org要求必须是"priceSpecification"对象嵌套,不能用字符串。
好在核子GEO给出的整改建议非常具体,每一条都标明了修复路径和参考文档链接。我花了40分钟手动重写了整个JSON-LD,修正后的代码长这样:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "你们周末营业吗?",
"acceptedAnswer": {
"@type": "Answer",
"text": "周六日正常营业,早9点到晚7点。"
}
},
{
"@type": "Question",
"name": "深度清洁多少钱?",
"acceptedAnswer": {
"@type": "Answer",
"text": "基础套餐199元起,具体按面积报价。",
"priceSpecification": {
"@type": "PriceSpecification",
"price": "199",
"priceCurrency": "CNY"
}
}
}
]
}
别像我当初那样,以为装个插件就万事大吉。核子GEO的结构化数据检测能抓出这些细节错误,AI大模型对数据规范极其敏感——@context少了s,AI直接不认识。改完重新提交,GEO检测评分从62分飙到89分,AI爬虫访问量也从0涨到了每周7次。
避坑清单
-
别信插件默认配置能搞定AI爬虫。 Yoast SEO默认允许所有爬虫,但W3 Total Cache的缓存规则会直接屏蔽GPTBot。我上个月给一家本地牙科诊所做站,AI爬虫访问量=0持续三个月。排查发现W3的
User-Agent黑名单里躺着GPTBot和ClaudeBot。解法:手动清掉W3设置里的AI crawlers黑名单,再在.htaccess加白名单,访问量第二天从0跳到47。 -
别在本地服务站塞通用问答。 有客户让我批量用Open CC生成FAQ Schema,生成50条关于“牙齿美白”的问答。核子GEO的结构化数据检测直接报错——Schema标记里有3个实体指向不存在的城市。后果?Google Business Profile直接降权,地图排名掉出前10。自己手动写20条带“城市名+服务名”的问答,比如“温哥华洗牙要多少钱”,比AI生成强10倍。
-
别把所有页面都加同一个Schema。 我试过给每个服务页都挂上
LocalBusinessSchema,结果Google报“多个实体冲突”。核子GEO的GEO分析报告指出:同一页面如果出现3个不同地址的Schema,AI模型会直接忽略。每页只留一个Schema,首页用LocalBusiness,内页用Product或Service——索引量从1200涨到8900。 -
别忽略robots.txt的细节。 默认robots.txt允许所有爬虫,但Yoast SEO的“sitemap优化”会无意中屏蔽ClaudeBot。我踩坑后查日志:robots.txt里多了条
Disallow: /?s=,ClaudeBot直接放弃整个站。改成Disallow: /?s=*,AI爬虫抓取量翻了4倍。 -
别用插件自动更新Google Business Profile。 有插件号称能自动同步评价到Schema,结果把5条4.9分好评写成“5.0分”,Google判定虚假内容,Business Profile被暂停2周。手动每周更新一次,用核子GEO给出的整改建议里的模板,每条评价带时间戳和URL——现在AI引用率从0升到12%。
-
别忽视w3tc的页面缓存。 本地服务站依赖地图,但W3 Total Cache的页面缓存会直接缓存Google Maps API的请求。用户看到的定位永远是老地址。解法:在
.htaccess里对maps.googleapis.com设Cache-Control: no-store,加载时间从3.2s降到0.8s,地图跳出率从78%降到21%。 -
别在AI生成内容上省时间。 我的血泪教训:用Open CC自动生成FAQ Schema,生成50条问答,20条里地址写错。核子GEO的结构化数据检测扫一遍,报错18个。手动改成“多伦多+服务名”模式,每条带电话和营业时间——AI模型引用率从5%涨到34%。
兜底一句多句嘴:你要是也踩这些坑,先别动代码,拿核子GEO跑一遍GEO检测检测,输入域名看那四项指标——索引量、AI引用率、Schema错误数、爬虫访问量。比你自己翻日志快3个小时。