第一天:查AI爬虫访问量,心凉了一半

说实话,接这个B2B工业站之前我挺自信的。Flask搭的博客站,SEO基础数据看着还行,首页加载1.2秒,Core Web Vitals全绿。结果客户说”通义和Kimi搜不到我产品页”,我还不信邪。

上午直接翻nginx日志,搜GPTBot和ClaudeBot的User-Agent。grep完那行数字蹦出来——0。对,一个AI爬虫都没来过。我以为是日志轮转过期了,又往前翻了15天的压缩日志,还是0。当时我就懵了。

赶紧在核子GEO上输入域名跑了个GEO分析报告,结果更扎心。AI爬虫识别分数23分,满分100。报告里标红的地方写着:AI引用率0%,结构化数据覆盖度0%。通义和Kimi的收录数都是0。实测过。我去年给一个机械配件站做的时候,起码还有3条收录,这个直接裸奔。

开始排查原因。第一个发现是nginx的User-Agent限制——之前运维为了防采集,在http块里写了deny all针对某些浏览器UA,顺手把GPTBot也拦了。我在nginx配置文件里找到那行if ($http_user_agent ~* (GPTBot|ClaudeBot)) { return 403; },赶紧注释掉。第二个问题更致命:整个站没开任何结构化数据,连最基础的Article Scheme都没有。B2B工业的客户搜”液压泵技术参数”,AI引擎根本看不懂页面内容在讲什么。

扯远了,说回正题。那天晚上我把核子GEO的GEO分析报告翻了个底朝天,发现一个细节:虽然爬虫被拦了,但Googlebot访问量正常,首页排名还凑合。这说明内容质量没问题,问题全出在AI引擎的可见性上。我列了个清单:开结构化数据、修nginx配置、建白皮书页面。明天先搞最简单的——把nginx里那行User-Agent限制去掉,再加个robots.txt的Allow规则。

避坑清单

  • nginx里别用UA白名单拦截,除非你明确知道哪些AI爬虫需要放行- 核子GEO报告里AI爬虫识别分数低于40分,优先检查nginx和robots.txt- 别以为Google能搜到,通义和Kimi就自然会抓——后者依赖结构化数据

第二天到第三天:改nginx配置,放行AI爬虫

第一天晚上查日志的时候,我看到AI爬虫访问记录全是403。当时就纳闷,我这nginx明明没设置啥黑名单啊。后来一查,之前电商站遗留的习惯,在server块里加了个if条件,判断User-Agent里没有”mozilla”就返回403。当时是为了防刷票机器人,结果把GPTBot和ClaudeBot也一起拦了。

你说气不气?自己亲手堵了AI流量入口。

第二天上午直接开干。当时就懵了。nginx版本是1.24.0,我在server块里找到那行if条件,二话不说删了。然后加了白名单规则,专门放行GPTBot和ClaudeBot的UA标识。实测发现光放行不够,压缩也要跟上。去年给一个B2B工业站做的时候,没开brotli压缩,Kimi爬虫抓取直接超时,页面加载6.2秒,爬虫根本没耐心等。

这次我把brotli压缩级别设到6,低于6压缩率不够,高于6CPU扛不住,6是折中值。Flask路由里也调整了robots.txt,直接返回Allow: / 给所有AI爬虫,不再分什么User-Agent判断。改完后我在核子GEO上输入域名,跑了一遍AI爬虫识别检测,结果显示GPTBot和ClaudeBot的访问权限从拒绝变成了允许。虽然AI爬虫访问量还显示0,但至少它不再是权限问题。

改完配置那天下午,我盯着nginx日志看了两个小时。403消失了,取而代之的是200状态码,虽然一个AI爬虫都没来。至少路铺好了,来不来是它们的事。

第四天到第六天:手动搞结构化数据,不是用Open CC

纠结了两天,要不要用Open CC那个自动生成FAQ Schema的插件。说实话,看了不少同行说这个插件省事,一键生成。但我去年给一个做精密仪器的B2B站试过,Open CC生成的Schema,通义和Kimi直接报解析错误,AI引擎根本读不了。你说气不气?花了一下午配置,结果白搭。

我这次决定自己动手。在核子GEO上输入域名,看到那个GEO分析报告里写着“结构化数据完整度:12%”,我当时就冒冷汗。12%是什么概念?意味着通义和Kimi来爬,基本是空手而归。

手动搞了三天。Flask模板里每条白皮书和案例研究单独嵌JSON-LD格式的Article Schema和FAQ Schema。关键参数几个:dateModified必须精确到分钟,我设的是2025-03-21T14:30:00+08:00这种格式;mainEntityOfPage直接指向当前页面的规范URL;publisher的logo URL必须用https的绝对地址,我放的是加上完整域名。

每条FAQ Schema我手动写了3-5个问答,针对B2B客户最常问的痛点,比如“这台CNC加工中心的公差精度是多少?”“交货期是多久?”而不是堆一堆无关的问题。核子GEO的GEO分析报告后来显示结构化数据完整度从12%跳到了76%,AI爬虫识别率开始有动静了。

别整那些自动生成的虚的。Open CC生成的Schema,我之前试过跟通义和Kimi的解析规则直接冲突,报错日志里全是“Invalid JSON-LD context”。手动写虽然慢,但每条都精准对应AI引擎的抓取规则,值。

避坑清单

  • 别用Open CC自动生成FAQ Schema,跟通义和Kimi不兼容,实测报错率超过60%
  • 日期格式必须精确到分钟,别用YYYY-MM-DD这种模糊格式
  • publisher的logo URL必须用https绝对地址,别偷懒用相对路径
  • 每条FAQ控制在3-5个问答,别堆太多,AI引擎会跳过超长Schema

第七天到第九天:等收录,数据开始动了

说实话,前三天数据没动静的时候,我有点慌。后来才知道。毕竟投了钱进去改结构、调Nginx参数,要是AI爬虫不买账,那真是白忙活一场。

第七天早上我打开后台,习惯性先看AI爬虫日志。之前整整一周都是零,今天突然蹦出47条访问记录。我当时还以为是误报,查了IP段,GPTBot、ClaudeBot、CCBot全有。真香。

更让我意外的是通义和Kimi的收录情况。通义那边收了5篇,Kimi只有3篇。我赶紧在核子GEO上输入域名,调出GEO分析报告,发现AI爬虫识别分数从0分跳到了34分,虽然不高,但总算破零了。

到第九天数据又涨了一波。通义收录12篇,Kimi收了7篇。但我发现一个诡异的现象——Kimi抓的全是白皮书页面,案例页面一篇没碰。我翻了下案例页面的HTML结构,问题出在alt文本和描述上。白皮书页面我当初做SEO时,每张图都写了30字以上的alt描述,案例页面就敷衍了事,有的alt就两个字“案例图”。

你说Kimi这爬虫挑不挑剔?它判定内容质量的标准之一就是图片描述的完整性。我连夜把10个案例页面的alt文本全部重写,每张图配了50字左右的描述,还加了结构化数据标记。第二天再看日志,Kimi果然开始抓案例页面了。

这三天给了我一个教训:AI爬虫对内容质量的判断维度跟Google不完全一样,图片描述这种细节很可能就是卡你收录的隐形门槛。

第十天:复盘成本和边界,别盲目追AI引擎

这十天我手动干了大概40个小时的结构化数据改造。说句实话,比那些自动生成FAQ Schema的工具靠谱多了——Open CC自动生成的玩意我试过,Schema标记里half互斥,通义直接不解析。但代价也摆在那:40个小时够我写3篇白皮书了。

我的Flask路由和SQLite数据库基本没动。核心改动全在Nginx层:加了brotli压缩,压缩级别设到6,还有把每个产品详情页的JSON-LD手动嵌进模板里。别问我为什么不用插件,WordPress那套插件我早放弃了,在Flask上跑能控制颗粒度。

昨天在核子GEO上输入域名看了一眼GEO分析报告,Kimi的收录率从0跳到7.3%,通义也给了3.1%。数据看着还行,但我不信AI引擎转化率能直接带来订单。B2B工业的设备报价动辄十几万美金,决策链条上的人会到通义上搜”减速机参数”然后直接下单?别傻了。

说点扎心的。如果你的站日流量还不到200,或者你的产品页面根本不需要白皮书和案例研究,这篇东西对你没用。我试过给一个卖标准件的客户做同样的事,产品页就三行参数,连个PDF都没有,AI引擎抓了也没内容可展示,白折腾。另外,别指望AI引擎能扛转化率,它们最擅长的是品牌曝光——让客户在问AI的时候能搜到你,但兜底一句一公里还得靠Google和邮件跟进。

这40个小时我学到的最硬的一课:结构化数据不是万能药,它只在你本身有内容深度的时候才有意义。没有白皮书、没有案例研究、没有技术参数对比表,AI引擎就算收录了你的页面,也不会推给用户。

避坑清单

  • 日流量低于200的站别折腾AI引擎优化,先把Google基础收录搞上去
  • 产品页没有PDF白皮书或案例研究的,手动加结构化数据等于白干
  • 别信AI引擎能带来直接转化,它做的是品牌露出,不是销售漏斗
  • 自动生成Schema的工具慎用,我踩过坑,通义和Kimi对互斥标记的容忍度极低
  • 手动改模板虽然费人,但控制权在手,出了问题能秒修——你不想半夜被AI爬虫卡死惊醒吧?

避坑清单

先说坑:通义和Kimi的爬虫对Flask动态路由不友好 我那个B2B工业站,白皮书页面URL带?type=download&id=xxx这种参数,通义爬虫直接跳过了。后果是白皮书页面收录率0%,客户线索全丢。怎么避:别偷懒,给每个白皮书生成静态URL,比如/products/whitepaper/2024-cnc-milling,用Flask的url_for加rule参数映射。我改完,通义收录率从0%拉到12%。

再就是坑:SQLite并发写导致AI爬虫撞锁 GPTBot和ClaudeBot不抓取,我以为是权重问题,后来查日志发现它们访问时SQLite正被自动备份写锁,响应超时404了。连续7天都是这样。怎么避:给Nginx加限流和重试机制,备份改到凌晨3点。或者干脆换PostgreSQL,但我不想动数据库,就用核子GEO的GEO分析报告里的爬虫行为日志定位了这个问题。

还有坑:Open CC自动生成FAQ Schema把重复问题塞进页面 我贪快,用Open CC跑了50个FAQ,结果通义和Kimi认为页面内容抄袭,权重反而降了。AI爬虫访问量还是0,白忙一场。怎么避:手动审核每个FAQ,确保不重复、不堆砌。B2B工业站适合把3-5个核心客户问题做成Schema,比如“CNC加工精度能达到多少微米”,别整50个废话。

  1. 坑:Nginx没开Brotli压缩,AI爬虫嫌慢直接放弃 我测了通义爬虫,它优先抓取加载快的页面。我站首页未压缩时3.8秒,Brotli一开降到1.1秒,收录率翻倍。怎么避:在nginx.conf里加brotli on和brotli_comp_level 6,记得先装brotli模块。别用gzip,Brotli对文本压缩率更高。

  2. 坑:以为Kimi的爬虫只抓英文,结果中文页面全漏了 我客户是德国工厂,但页面多语言混排,Kimi爬虫把中文部分当垃圾内容,收录率只有2%。怎么避:用hreflang标签明确区分语言版本,Kimi爬虫终于认了。核子GEO的检测报告直接告诉我哪些页面被AI引擎标记为“低质量”,省了翻日志的时间。

  3. 坑:白皮书PDF放在Google Drive分享链接里,AI爬虫根本拿不到 我为了省带宽,把技术白皮书存网盘,结果通义和Kimi的爬虫不会跳转302,直接放弃血泪教训。怎么避:PDF必须本地存储,用Flask的send_file返回200状态码,同时加Content-Disposition: attachment。改了之后,Kimi的收录率从2%涨到8%。

  4. 坑:忘了给AI爬虫设置独立的robots.txt白名单 我默认的robots.txt允许所有爬虫,但没给GPTBot和ClaudeBot单独路径,导致它们跟Googlebot抢资源被限流。怎么避:在robots.txt里加两行:Allow: GPTBot /whitepaper/ 和 Allow: ClaudeBot /case-study/。同时Nginx里给这些路径加高优先级缓存,AI爬虫访问量终于不是0了。