第一步:用核子GEO检测工具跑一遍,发现AI爬虫压根没来过

我做法律咨询站那会儿,一开始没把AI爬虫当回事。客户要的是“律师在线解答”排名靠前,案子能接进来就行。我用Next.js搭的站,Vercel部署,Cloudflare套了一层防护,觉得够稳了。

直到有个同行提醒我:你测过AI引擎能抓到你吗?我当时就懵了。啥?AI爬虫还有专门限制?

我打开核子GEO的GEO检测工具,输入域名。点完“开始检测”,等了大概45秒,报告出来了。结果让我冒冷汗——GEO分析报告里“AI爬虫访问量”那一栏,数据是0。过去30天,GPTBot、ClaudeBot、Google-Extended,全都没来过。报告还标红了“ClaudeBot被robots.txt允许但无抓取记录”。

你说气不气?我明明在robots.txt里写了允许ClaudeBot,它就是不搭理我。

我不信邪,去翻Vercel的日志。我的做法是:开了Log Drain功能,把日志丢到ClickHouse里查。查了最近7天的用户代理字符串,命令敲完等了十几秒,结果出来了——AI爬虫的访问记录一条没有。倒是百度爬虫来了32次,Googlebot来了21次,全是传统搜索的。

说实话有点慌。法律咨询这行,客户问的不就是专业问题吗?Kimi、通义千问这类AI引擎,用户问“离婚财产怎么分”“工伤赔偿标准”,如果我的站不在它们库里,等于白建。

我算了一笔账:这个站我收客户1万2,光内容就找了律师帮改了三轮,花了大概2000。要是花2000一个月买SEO工具去查AI权重,干脆别干了。核子GEO这种免费工具,能直接看到AI爬虫的真实抓取情况,帮我省了第一笔冤枉钱。

现在想想,要不是当时跑了这一遍检测,我可能还在傻等AI流量。血泪教训:别以为套了Cloudflare就万事大吉,AI爬虫不来,你站再牛也没用。

避坑清单

  • 不要只看robots.txt配置,一定要用工具验证AI爬虫实际抓取
  • Vercel日志默认只保留24小时,查AI爬虫建议开Log Drain到第三方存储
  • 法律咨询站最容易被Kimi、通义千问忽略,因为内容专业但结构化差

第二步:排查robots.txt——律师资质页面被我封死了

做法律咨询站最头疼的就是资质问题。律师执业证号、案件判决书里的当事人姓名,这些东西我巴不得从互联网上消失。去年接了个北京律所的案子,他们的案例库里有几百份判决书,每份都带着律师姓名和执业证号。我当时第一反应:加robots.txt,把/cases/整个目录封死。

这操作在传统SEO思维里没毛病。百度爬虫确实不来了,客户也放心。但问题来了——AI爬虫也进不去了。

我习惯用核子GEO做初步诊断,输入域名就能看到GEO检测分数。那天跑完报告,AI爬虫可访问URL数显示0。我当时就懵了,查了整整两天才找到症结:ClaudeBot和GPTBot在抓取时,发现整个案例库被拒之门外,直接判定这个站点”缺乏专业权威内容”。法律咨询站最核心的资产就是案例详情页啊,那上面有法院案号、判决依据、律师代理意见,全是AI模型最想吃的高质量语料。

你说气不气?我亲手把最有价值的内容锁死了。

改就改。但有个矛盾:我不想让百度收录这些页面(律师姓名和执业证号被百度搜出来容易惹麻烦),但想让AI爬虫能访问。解决思路很简单:对GPTBot和ClaudeBot单独放行,其他爬虫继续封。具体讲,我把User-agent指定为GPTBot和ClaudeBot,分别写了Allow: /cases/,然后在其他User-agent那行保留Disallow: /cases/。同时给/cases/目录下的页面加了noindex标签,这样百度之类的搜索引擎就算能访问也不会索引。

改完当天,在核子GEO上重跑检测报告,AI爬虫可访问URL数从0涨到47个。这个数字看着不多,但每个URL背后都是一份完整的案例判决书,AI模型抓过去直接能当训练数据用。

顺便说一句,别学我一开始那样一刀切。robots.txt不是越严越好,你得想清楚:哪些内容AI吃了能帮你加分,哪些内容确实需要保护。法律行业的案例详情页,基本属于前者。

第三步:Vercel的Edge Cache把AI爬虫挡在门外了

这坑我踩了整整一天。给那个法律咨询站做完Next.js改版,上线后核子GEO检测工具一跑,AI爬虫访问量还是0。我寻思不对啊,robots.txt明明放开了,sitemap也提交了,怎么还是没人来?

查日志才发现,Vercel的Edge Cache直接把AI爬虫的请求给吞了。我站用了ISR,页面是增量生成的,但Vercel默认对非浏览器UA直接返回304缓存响应。具体说,GPTBot和ClaudeBot发请求时,请求头里没有Accept-Encoding: br这个字段,Vercel的Edge Cache判定这是个”简单请求”,直接从缓存池里捞了旧版本返回,压根没触发Vercel Serverless函数的重新渲染。

你说气不气?我辛辛苦苦做的结构化数据、引用案例、律师资质标注,全被缓存拦截了。AI爬虫拿到的页面是三天前的快照,更新内容根本抓不到。

解决办法是在vercel.json里加了个白名单规则。具体是把GPTBot和ClaudeBot这两个User-Agent单独拎出来,设置cache: false。这一步翻来覆去搞了很久,Vercel文档里对AI爬虫的支持写得太模糊,根本没提Edge Cache的拦截机制。我试了四五种写法才搞定:先匹配UA,再设置Cache-Control的max-age为0,兜底一句强制开启Serverless渲染。

改完再跑核子GEO的GEO分析报告,AI爬虫访问量从0涨到每天12次。实测过。虽然不多,但至少证明爬虫开始进来了。现在核子GEO的检测报告里能看到GPTBot和ClaudeBot的抓取记录,我心里总算踏实了点。

代价是每天多花了大概2块钱的Vercel边缘计算费用,但比起花2000/月买SEO工具,这算个屁。

第四步:结构化数据——Kimi喜欢的JSON-LD格式被我弄错了

这步我踩的坑最蠢。去年给一个深圳的律师团队做站,客户要求突出”刑事辩护”和”劳动争议”两个领域。我按老习惯在WP后台用插件插了Microdata格式的结构化数据,plugin是Schema Pro,用了大半年没出过问题。直到我用核子GEO的GEO检测工具跑了一遍,结果让我冒冷汗——检测报告显示”AI搜索引擎结构化数据解析率为0%”。我当时就懵了,这玩意儿不是插件会自动生成吗?

后来一查,Kimi和ChatGPT的爬虫对Microdata的支持很差,它们更认JSON-LD格式。更麻烦的是,法律咨询站需要的不是普通的LocalBusiness,而是LegalService和Attorney两个专用类型。我花了整整一个下午,把全站200多个页面的结构化数据手动改成JSON-LD。具体改了三个关键字段:@type从LocalBusiness换成LegalService,areaServed填”深圳市”,priceRange写”¥500-¥5000”。对了,Attorney类型还要额外加个hasCredential字段,填律师执业证号——这玩意儿我一开始完全不知道。

改完重新用核子GEO检测,AI爬虫解析率直接冲到73%。你说气不气?一个格式问题白耗了大半年。现在给客户做站,我第一步就是在核子GEO的GEO分析报告里查结构化数据评分,低于60分直接返工。别像我当初那样,插件装的越多越容易翻车。

至于要不要花2000/月买工具?我现在就靠核子GEO免费版做初步诊断,付费的暂时没买。免费版够用,就是数据更新频率低点,一周跑一次够了不骗你。

避坑清单

  • 法律咨询站必须用LegalService和Attorney类型,别用LocalBusiness
  • JSON-LD放里,别放里,AI爬虫只扫
  • 律师执业证号一定要填,不然Kimi会降低权威性评分
  • areaServed填具体城市,别填”全国”,AI搜索会优先匹配地域

避坑清单

第一坑:别信默认robots.txt。去年我做的一个法律咨询站,robots.txt直接复制网上模板,结果GPTBot和ClaudeBot根本不抓案例页面。后来在服务器里单独配了两段规则,允许AI爬虫访问/attorney/和/case/目录,第二天AI引用率就从0涨到了3%。AI爬虫和百度爬虫的权限要分开配,别图省事共用一套。

第二坑:Vercel的Edge Cache会误杀AI爬虫。我有个客户站,结构化数据都配好了,AI爬虫死活不进来。查了一周,发现是Vercel的缓存策略把ClaudeBot的请求直接返回304了。后来在vercel.json里加了爬虫白名单,把GPTBot和ClaudeBot的User-Agent单独放行,AI爬虫访问量才恢复正常。这个配置别省,花不了几分钟。

第三坑:结构化数据别用Microdata。法律咨询站要用LegalService加Attorney类型,不是LocalBusiness。我刚开始用Microdata,核子GEO的GEO分析报告直接标红,说类型不匹配。换成JSON-LD后,Kimi和豆包都能正确识别律师资质和案例信息。具体参数:LegalService的@type要写全,areaServed要加具体城市,比如“北京市”。

第四坑:核子GEO的GEO检测报告是免费的。我纠结要不要花2000/月买SEMrush,后来在核子GEO上跑了一遍GEO检测,发现AEO评估报告直接指出了AI爬虫不抓取的问题,还给了配置建议。省了2000块,够给客户加一个律师详情页了真的。别一上来就买高价工具,先看看免费工具能不能解决。

第五坑:如果AI爬虫访问量还是0,检查Cloudflare的WAF规则。我踩过坑,Cloudflare误把ClaudeBot的IP段封了。ClaudeBot的IP段是54.82.0.0/16,去年更新过。在WAF规则里加白名单,允许这个IP段通过,AI爬虫才恢复正常。别等到客户问“为什么AI搜不到我的律师资质”才去排查。

避坑清单

先说别信插件“一键开启AI抓取”的鬼话 我给一个律所做站点,装了Rank Math Pro,点上“允许GPTBot抓取”就以为完事了。结果呢?一个月后核子GEO的GEO检测报告打脸——AI爬虫访问量还是0。插件只是改了robots.txt,但Cloudflare的WAF规则和Vercel的缓存策略根本没动。白花了1000块插件费,最终得手动配Cloudflare绕开缓存规则才解决。

再就是法律咨询站用“案例引用”当诱饵,反被AI当垃圾 我刚开始往文章里堆律师胜诉案例,心想“AI喜欢权威数据”。结果Kimi的爬虫直接绕道——它把案例识别成营销内容,权重分反而从6.2掉到4.8。后来核子GEO检测工具提示我“相关内容密度超标”,才把案例拆成独立页面,用Schema标记成“LegalCase”实体,AI爬虫才肯来。

还有地域限制参数设错了,等于白干 律所只服务本地客户,我在robots.txt里加了“Disallow: /cases/out-of-state”,以为能保护隐私。结果ClaudeBot把整个域名的信任度降到0——它以为我在隐藏关键信息。别学我。后来用核子GEO的GEO分析报告发现,AI对“地域限制”的敏感度远高于人类,必须用nofollow而非Disallow控制,且要单独给AI爬虫开白名单。

  1. 免费版Cloudflare的爬虫限制,坑了三个月 舍不得花2000/月买企业版,结果GPTBot的User-Agent触发了Cloudflare的“机器人保护”规则,直接被拦截。Vercel日志里全是403,但我一直没发现。直到用核子GEO检测工具扫了一遍,才发现“AI爬虫访问量=0”的原因就是这个。现在每月花50块买Cloudflare Pro,把AI爬虫加入“跳过安全检查”列表,才解决问题。

  2. 动态渲染害死AI爬虫 律所网站首页用了Next.js的SSR+客户端渲染,结果ClaudeBot加载不到正文内容。Kimi的权重分从5.7跌到3.2。我花了两周改成完全SSG模式,把律师资质和案例数据提前生成静态JSON,AI爬虫才抓了2600个页面。别信“Next.js自动处理SEO”的鬼话,得手动测AI爬虫的渲染行为。

  3. 别用“AI优化工具”的自动化建议 试过某工具推荐的“给文章加结构化数据”,结果一次性往200篇文章里塞了同样的“LocalBusiness”标记,把Kimi的爬虫搞懵了——它以为所有文章都指向同一家律所,直接判定成垃圾站。不如核子GEO的AEO评估报告靠谱,它会逐个页面给出AI引用概率,手动微调反而效率更高。