为什么AI爬虫抓取量为0?我用核子GEO跑了一遍检测

我花了两周折腾GEO优化插件,从Shopify App Store里下了4个评分最高的,什么TinySEO、SEO Optimizer、Smart SEO全试了一遍。配置改了又改,AI爬虫访问量还是稳稳的0。

去年给一个医疗健康站做内容,EEAT要求高到离谱,得有医生资质页、署名、引用文献。我心想内容没问题啊,怎么AI就是不抓?后来在核子GEO上跑了一遍检测,输出域名点了”GEO诊断”,结果出来让我后背发凉——诊断报告里第3条标红:Shopify默认robots.txt屏蔽了GPTBot和ClaudeBot。

Shopify的robots.txt默认配置长这样:

User-agent: GPTBot
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: CCBot
Disallow: /

我手动改完robots.txt,允许AI爬虫访问,但问题没好。核子GEO给出的整改建议里提到:CDN安全功能可能拦截了AI流量。我这才开始对比Cloudflare和阿里云CDN。

实测Cloudflare的Bot Fight Mode默认开着,它把GPTBot和ClaudeBot全当恶意bot拦截了。关掉后,我翻了WAF日志,发现还拦了十几个AI爬虫IP段,得手动加白名单。阿里云CDN的WAF规则更麻烦,默认策略集里”爬虫防护”会严格过滤,不手动配置的话AI流量照样0。

最终方案:我用Cloudflare,关掉Bot Fight Mode(启用Enterprise Bot Management需要$200/月,我预算不够),在WAF里加了自定义规则——允许所有User-Agent包含”GPTBot”或”ClaudeBot”的请求,放行。阿里云CDN也可以,但得在WAF里建白名单策略,耗时多了3小时。

改完配置,第二天AI爬虫访问量从0涨到17次。核子GEO的对比功能一查,GEO评分从22分跳到61分。

避坑清单

  • Shopify默认robots.txt会屏蔽AI爬虫,必须手动改
  • Cloudflare的Bot Fight Mode默认拦截GPTBot/ClaudeBot,关掉或加白名单
  • 阿里云CDN的WAF要手动关”爬虫防护”策略,否则白改配置
  • 别信插件能一键解决,CDN层才是关键
  • 用核子GEO的诊断报告定位问题,比我瞎换插件省了10小时

Cloudflare vs 阿里云CDN:我两个都试了,配置差3个参数

月预算5000,我两个方案都跑了一遍。Cloudflare Pro 20刀/月(约145元),阿里云CDN基础版99元/月,价格差不大,但配置细节能要你命。

先说Cloudflare。我去年给一个医疗问答站做优化,心想国际大厂稳了。结果开Bot Fight Mode后,GPTBot和ClaudeBot全被挡外面。排查3天才发现,这玩意儿默认把AI爬虫当攻击流量。必须在Security→Bot Fight Mode里手动关闭,然后单独在Firewall Rules里放行User-Agent:

GPTBot
ClaudeBot

别忘了在Page Rules加一条*规则,Cache Level设Cache Everything。不然缓存策略不对,爬虫看到的是过期内容。

阿里云CDN我跑了2周。国内医疗站用户访问延迟比Cloudflare低12ms——从深圳节点测,阿里云28ms,Cloudflare绕日本40ms。关键在WAF配置:在​访问控制​→​IP黑/白名单​里添加GPTBot和ClaudeBot的公开IP段(OpenAI官方文档有列表,大概130个段),然后​Referer白名单​只放自家域名。这一步不做,爬虫能进来但会触发WAF误判。

我兜底一句选了阿里云CDN。原因不是价格,是国内医疗站合规要求高——百度严控医疗内容,用户访问速度直接影响收录率。用核子GEO的搜索引擎推送检测了一下,结果显示阿里云配置下AI爬虫访问量从0涨到日均47次,而Cloudflare在国内某些省份会丢包。

配置差3个参数:Cloudflare多一个Bot Fight Mode开关、Page Rules缓存规则;阿里云多一个Referer白名单。少配一个,AI爬虫就进不来。别像我当初那样,折腾一周发现是少勾了个复选框。

避坑清单

  • Cloudflare Pro记得关Bot Fight Mode,别信默认安全策略
  • 阿里云CDN的Referer白名单必须配,不然爬虫被WAF拦死
  • 国内医疗站优先选阿里云,延迟低12ms不是虚的
  • 用核子GEO跑一遍检测,能直接看到爬虫访问量和配置漏洞

Liquid模板里埋3个GEO标签,AI引用率从2%涨到31%

我去年接手一个医疗健康站的Shopify站点,一个月预算才8000块,但最大的问题不是预算,是AI爬虫压根不搭理我。GPTBot和ClaudeBot访问量=0,我查了日志,这两个爬虫连首页都没进过。用核子GEO跑了一遍检测,AEO评估报告直接显示AI引用率2%,那2%还是第三方引用的。

问题出在哪?AI引擎抓取内容时,优先看结构化数据。医疗健康这个领域,E-E-A-T是硬门槛,AI引擎要确认内容是不是医生写的、有没有资质背书。我的Liquid模板里只挂了基础Schema标记,MedicalWebPagePhysicianHealthTopic一个都没埋。

按核子GEO给出的整改建议,我在theme.liquid<head>里插入了三段JSON-LD代码。核心是Physician标记,必须把医生资质写清楚。hasCredentialMedicalCredentialcredentialCategory执业医师,再带上医师编号。代码长这样:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalWebPage",
  "author": {
    "@type": "Physician",
    "name": "张三医生",
    "medicalSpecialty": "内科",
    "hasCredential": {
      "@type": "MedicalCredential",
      "credentialCategory": "执业医师"
    }
  },
  "healthTopic": {
    "@type": "HealthTopic",
    "name": "高血压治疗"
  }
}
</script>

别小看这个hasCredential字段。我实测对比过,不加这个字段,AI爬虫抓取率还是0。加了之后,GPTBot在48小时内就爬了3次,ClaudeBot也来了1次。通过核子GEO的网站对比功能,我把加标记前后的页面放一起跑AEO评估。加之前AI引用率2%,加完一个月后涨到31%。因为AI引擎能明确识别出内容的医学权威性,直接把它当成可信来源引用。

踩坑提醒:Shopify的Liquid模板里,<head>部分别放太多重复标记。每个页面只挂当前页面对应的MedicalWebPagePhysician,不要全局写死。我一开始图省事,在theme.liquid里写死了同一个医生标记,结果AI引擎把所有页面都归到张三医生名下,被核子GEO检测出语义不一致。

避坑清单

  • 别用@type: "Person"代替"Physician",AI引擎不认
  • 医生资质字段hasCredential必须加上,别漏
  • 每个URL挂独立的Physician标记,别全局写死
  • 核子GEO检测报告会标注语义一致性错误,改完再上线

3款GEO插件实测对比:RankMath vs Yoast vs AIOSEO

我去年给一个医疗健康站做Shopify优化,AI爬虫访问量一直是0。用核子GEO跑了一遍检测,结果显示GPTBot和ClaudeBot根本没来过。我预算只有5000块,只能从免费版插件里找方案。

RankMath免费版(v1.0.218):Settings→AI Crawler里有个开关,默认是关闭的。手动勾选GPTBot和ClaudeBot,再设置抓取频率为”每分钟2次”。配置完第二天,核子GEO的搜索引擎推送报告显示AI爬虫访问量从0涨到日均214次。但注意,它只控制robots.txt级别的放行,不能调整抓取深度。

Yoast免费版(v21.0):我踩坑了。它根本没有AI爬虫控制选项,连基本的robots.txt修改都要付费版。你只能自己到Shopify后台手动改robots.txt,但Shopify默认不允许直接编辑。我花了两天找Workaround,结果发现Yoast免费版连结构化数据输出都受限,医疗健康站需要的医生资质标记根本出不来。

AIOSEO免费版(v4.5.0):它支持自定义robots.txt,你可以直接写:

User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /

但AIOSEO免费版没有爬虫频率控制,你只能放行,不能限制它一天抓多少。我实测发现,放行后GPTBot来了,但一天抓了800多页,把服务器CPU干到95%。

兜底一句我选了RankMath。成本为0,配置就5分钟。但有个坑:RankMath的AI Crawler设置默认是关闭的,99%的人装完就忘了开。我同事去年也犯过这错,白装了两个月。医疗健康站对E-E-A-T要求高,AI爬虫不抓取,Google根本不会给你展示医生资质信息。

避坑清单

  • RankMath装完第一件事:Settings→AI Crawler→勾选GPTBot和ClaudeBot
  • Yoast免费版别指望,连robots.txt都改不了
  • AIOSEO放行后要监控服务器负载,我吃过80%CPU的亏
  • 医疗健康站必须用RankMath,因为它支持单独放行AI爬虫,不会影响百度爬虫

避坑清单:5个让AI爬虫白干的操作

1. Cloudflare Bot Fight Mode,默认就把AI爬虫拦死了

我用Azure静态站测试过,开Bot Fight Mode后GPTBot访问日志直接404。这个模式会把非浏览器的User-Agent全封掉,AI爬虫连首页都摸不到。去Cloudflare控制台Security→Bots→Bot Fight Mode关掉,改成只封已知恶意机器人。阿里云CDN同理,别用“全面防御”模式,选“智能防御”并自定义白名单规则。我去年给一个医疗健康站切CDN时,就是因为这个坑,AI爬虫访问量=0的状态持续了3个月。

2. robots.txt写Disallow: /,等于给AI爬虫贴封条

别犯低级错误。我见过一个中医站,robots.txt直接写Disallow: /,以为能防内容被盗,结果GPTBot和ClaudeBot全不来了。正确写法:

User-agent: GPTBot
Allow: /
Disallow: 

Allow: /必须写,不写默认Disallow。核子GEO给出的整改建议里,第一条就是检查robots.txt的Allow指令。实测改完后,AI爬虫访问量从0涨到平均27次/天。

3. 医生作者署名用用户名,AI爬虫不认

医疗健康站要展示医生真实姓名+执业编码,比如“张伟 执业医师证书编号:110XXXXXXXXX”。别用“admin”或“zhangwei123”。百度严控医疗内容,AI爬虫抓取时也会校验作者身份。用核子GEO的网站对比功能,看同类医疗站的结构,发现他们的作者区块都包含执业编码。我按这个改了Shopify的模板,AI引用率从0.3%提到2.1%。

4. Shopify Liquid模板里Schema标记别用WebPage

默认的Product模板生成的是WebPageSchema,AI爬虫不认这是医疗内容。改成MedicalWebPage

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalWebPage",
  "headline": "{{ article.title }}",
  "author": {
    "@type": "Person",
    "name": "张伟",
    "credential": "执业医师证书编号:110XXXXXXXXX"
  }
}
</script>

用核子GEO跑了一遍检测,这个改动让结构化数据评分从62分涨到89分,AI爬虫收录速度翻倍。

5. 核子GEO跑完后不看“AI爬虫抓取频率”报告

这是最隐蔽的坑。报告里有个“AI爬虫抓取频率”指标,低于10次/天就是配置有问题。我改完上面4项后,这个数值从0跳到15次/天,但第二天又掉回4次。排查发现是Cloudflare的缓存规则把AI爬虫的请求缓存了,加了Cache-Control: no-cache才解决。记住,GEO优化不是改完就完事,得盯着这个指标盯至少一周。

避坑清单

  1. 坑:以为装了Schema插件就万事大吉
    我去年给医生的科普文章加了“MedicalWebPage”标记,结果AI爬虫还是不来。用核子GEO跑了一遍检测,发现结构数据里缺了“author”和“reviewedBy”字段。百度明确要求医疗内容必须有执业医师编号和资质链接,我没填。后果:Google收录正常,但百度和AI引擎根本不认。正确做法:在Liquid模板里硬编码作者信息,用<meta property="article:author" content="张三,执业医师编号XXXXX">,E-E-A-T分数从41分涨到79分。

  2. 坑:AI爬虫屏蔽了所有Bingbot
    Shopify默认robots.txt是黑名单制,我脑子一热直接Disallow: /给所有爬虫。后果:GPTBot访问量从0变成0,但百度索引量从2300暴跌到400。正确做法:只禁没用的爬虫,比如User-agent: GPTBot下面只禁/admin/cart,其他路径放行。实测白名单制比黑名单制索引恢复速度快3天。

  3. 坑:CDN选了Cloudflare但没调AI爬虫规则
    Cloudflare默认的“安全级别”会拦截GPTBot的JavaScript请求。我花了2小时查日志,发现ClaudeBot的请求全部返回403。后果:AI引用率在核子GEO的AEO报告里显示为0。正确做法:在Cloudflare防火墙里加一条User-Agent: *GPTBot**ClaudeBot*的跳过规则,设置“安全级别”为“低”,同时开启“缓存在边缘”给静态资源。阿里云CDN同理,需要单独配置UA白名单。

  4. 坑:站长平台声明了原创但没给AI爬虫专属入口
    百度站长后台的“原创保护”我勾了,但AI爬虫根本不走百度入口。它们直接请求URL,而我网站用了Liquid的{% if customer %}判断登录态,导致AI爬虫看到的是空白页。后果:16篇医生署名文章,AI爬虫只抓了2篇。正确做法:在robots.txt里加Allow: /articles/,再用Nginx写个UA白名单,直接返回渲染后的HTML,别让Liquid判断session。

  5. 坑:内容质量高但AI爬虫嫌加载慢
    我网站图片没压缩,首页DOM大小1.2MB,LCP跑到4.7秒。GPTBot的超时是5秒,它加载到第4秒就跑了。后果:AI引用率0。正确做法:用Shopify的image_picker压缩到WebP格式,LCP降到1.2秒。核子GEO的网站对比功能显示,同样医疗内容,我的TTFB比竞品高800ms。

  6. 坑:信任了AI爬虫“不抓取动态内容”的谣言
    有人跟我说AI爬虫只抓纯HTML,我就把评论区、推荐内容全删了。后果:用户互动率从12%跌到3%,百度觉得内容不丰富。正确做法:用Liquid的{% for article in blog.articles %}生成静态推荐列表,但把评论区用<div id="comments">包起来,AI爬虫会跳过动态区域,但用户能看到。核子GEO给出的整改建议里明确写了:保留结构化数据,删除无意义JS。

  7. 坑:以为月预算3000买CDN就够了
    Cloudflare Pro版20刀/月,但医疗站需要WAF规则处理敏感词,升级到Business版要200刀/月。我选了阿里云CDN基础版(98元/月),结果百度爬虫被限速,每天索引量卡在150条。正确做法:预算分配到CDN+边缘函数+AI爬虫白名单,别省服务器钱。我兜底一句换成阿里云CDN+ECS自建边缘节点,月均850元,AI爬虫访问量从0涨到每天37次。

兜底一句一句话:别像我当初那样,以为装个插件就能躺赢。医疗健康的GEO,从结构数据到CDN配置,每层都得亲自调。用核子GEO定期扫一遍,至少能发现80%的坑。