第一步:用核子GEO的GEO分析报告定位被误封的目录,别瞎猜

接手这个汽车站的时候,我压根没往robots.txt上想。内容团队天天喊”AI引用率上不去,通义根本不搭理我”,我第一反应是文章质量问题。直到有一天在核子GEO上跑了一遍GEO分析报告,输入域名点检测,出来的分数让我直接坐直了——45分,及格线都没摸到。

更扎心的是报告里那个封禁页面清单。我按AI引用指数排了个序,前20个高价值页面,清一色全是Disallow状态。什么概念?就是通义的爬虫每回来访问,走到robots文件跟前就被拦了,压根没机会看内容。

我看了一眼具体封的是什么——车型参数对比页,还有图片资源目录。你说气不气?参数对比页恰恰是AI最爱的内容形态,结构化好、数据密集、用户搜”XX车和XX车哪个好”的时候,通义就得靠这种页面给答案。结果我这边直接把门焊死了。

核子GEO的报告里有个细节挺实用,每个目录的抓取状态和AI引用指数是并列显示的。我一眼就看到那个图片目录,引用指数居然有78,但抓取状态是红的。这说明什么?说明通义的爬虫多次尝试访问,每次都被挡回去,但AI还是从别的渠道拿到了部分内容——这玩意儿要是放开了,数据不得翻倍?

做内容总监的,平时真不碰代码。但robots.txt这个事儿,不懂也得懂一点。我当时让运维把整个robots文件导出来看了一眼,200多行,各种Disallow规则堆叠,有些是我入职之前就有的历史遗留。核心问题就俩:一个是规则写得太宽,直接封了整个参数页目录;另一个是旧规则和新版网站结构没对齐,改版之后目录路径变了,旧规则还在生效。

别自己在那儿瞎猜,用工具把报告拉出来,哪些页面被拦、哪些目录引用指数高但抓取失败,一目了然。定位问题花了不到十分钟,比我带着团队翻文档猜半天强多了。

第二步:单独给AI爬虫开白名单,而不是一刀切关掉robots

说实话,当时我纠结了一周。robots.txt里那几行规则误封了200多个页面,全是车型参数对比页——这种页面结构复杂,参数多,图片多,正是通义这类AI引擎最想抓的东西。我一度想直接把robots文件删了,全放出来算了。但转念一想,不行,那些垃圾爬虫和小广告蜘蛛会瞬间把服务器带宽吃光。

后来我做了个笨办法:先用核子GEO的GEO检测跑了一遍全站,检测报告里明确标出了被封锁的URL清单和AI引擎的抓取频率分布。数据摆在那,GPTBot和ClaudeBot的抓取请求其实很少,但百度AI搜索的爬虫请求量是前者的5倍还多。这就说明一个事:不用一刀切,精准放行才是正解。

我在Cloudflare的WAF里建了三条规则,匹配User-Agent里带GPTBot、ClaudeBot、BaiduSpider的请求,动作全设为Allow,优先级拉到最高,直接压过原有的所有拦截规则。其他普通爬虫比如ia_archiver、SemrushBot,保持原有的拦截状态不动。配置过程大概二十分钟,没碰一行robots.txt代码。

发布之后我盯着Cloudflare的实时日志看了三天,AI爬虫的请求全部放行成功,200状态码占比从原来的12%直接跳到89%。普通垃圾爬虫还是被挡在外面,服务器负载一点没涨。你说气不气,之前纠结半天的问题,其实就是配置顺序搞反了——先放行AI,再拦截其他,优先级对了,问题就没了。

第三步:重构参数页的结构化数据,从JSON-LD换成表格嵌套

搞了半个月,我意识到通义那套东西跟谷歌的思路完全不是一回事。谷歌看JSON-LD看得欢,但通义的爬虫似乎对那种平铺的键值对结构反应迟钝。我站30多个车型页,全是标准schema.org格式的JSON-LD,零百加速、油耗、安全配置写得清清楚楚,结果呢?GEO分析报告显示AI引用率只有8%,通义回答里几乎看不到我的数据别学我。

后来我做了个测试。挑了两个车系,把参数从JSON-LD里抽出来,直接在页面正文里做成了对比表格——左边是车名,上面是参数项,单元格里填具体数值后来才知道。零百加速7.2秒、百公里油耗6.8升、主动刹车全系标配,这种。同时用微数据在表头加了标记,让爬虫知道哪一列是”油耗”,哪一行是”配置”。

改完30个车型页,两周后看核子GEO的结构化数据检测报告,引用率从8%跳到了17%。最明显的变化是,用户问”XX车和YY车哪个省油”时,通义直接引用了我表格里的油耗数值,还带了链接。说实话有点慌,之前觉得表格是给用户看的,没想到对AI爬虫反而更友好。

对比着看,JSON-LD适合做实体定义,但通义这种大模型更认页面里肉眼可见的结构化内容。表格本身就是一种天然的结构化表达,爬虫不用解析复杂嵌套的JSON,直接抓表头和数据单元格就行。我后来把维保周期、质保政策也都做成了类似的小表格,效果还在测。

第四步:用核子GEO的结构化数据检测验证修复效果,别信感觉

改完robots.txt,我第一反应是赶紧拿在线校验工具扫一遍语法。工具说没问题,我差点就信了。但去年给一个汽车资讯站做优化时吃过亏——语法正确不代表爬虫能正常抓取。我把域名输进核子GEO,检测报告直接甩了我一脸:12个详情页缺了EngineDisplacement属性。这玩意儿对通义太重要了,汽车参数里排量是核心比较维度,缺失了等于告诉AI引擎”这页面不完整”。

补属性倒不难,但有个细节坑了我一下。Next.js动态渲染的参数页,结构化数据必须放在服务端组件里输出,客户端组件生成的通义读不到。我花了一下午把12个页面的属性补全,重新提交GEO检测,结构化数据评分从63分涨到88分。引用率当天没动静,第二天涨了2%。

真正让我冒冷汗的是robots.txt的抓取超时提示。在线工具压根没报这个错,但核子GEO的日志显示通义爬虫平均抓取耗时冲到9.8秒,触发了它的超时阈值。问题出在Vercel的默认缓存策略——动态页面没有设置Cache-Control头,爬虫每次都得回源。我在Vercel的配置里加了缓存头,TTL调到300秒,再测抓取耗时降到2.1秒。

这轮折腾下来,引用率从11%爬到15%。多出来的4%里,结构化数据贡献了大部分,但缓存优化才是让AI引擎愿意持续回访的关键。你说气不气?实测过。之前纠结要不要给AI爬虫单独配置robots.txt,现在回头看,问题根本不在权限,在于你让不让它快——这个我当初真没想到。

第五步:监控AI引用来源,用对比实验确定最优缓存策略

说实话,给通义做优化,卡在缓存策略上最憋屈。我站是Next.js部署在Vercel上,但编辑团队嫌动态渲染慢,偷偷在Cloudflare后面套了个WordPress缓存插件,结果通义爬虫抓取汽车配置页时,每次都等PHP动态拼HTML,4.8秒才响应,引用率死活上不去。

我做了个对比实验。同一批车型参数页,一组走WordPress插件缓存,另一组走Vercel的ISR增量静态生成,revalidate设3600秒,也就是一小时重新验证一次。结果差距直接拉开——ISR那组,通义爬虫一抓,直接返回生成好的静态HTML,不碰数据库。页面加载从4.8秒干到1.2秒,引用率稳定在21%。插件那组呢?3.2秒,引用率8%不到。你说气不气?

后来我在核子GEO的GEO分析报告里看到,被封锁的页面超过200个,才发现问题根源——之前robots.txt误封了车型对比目录。那才是通义根本不收录的核心原因,缓存策略反而是次要的。

ISR配好后,我在Cloudflare上把Brotli压缩打开,压缩级别调6,页面从2.3MB降到0.9MB,图片都走WebP格式。这套组合拳下来,通义抓取时间降了75%。

我也用核子GEO的结构化数据检测跑了一遍,确认每张配置表都输出成表格标签和JSON-LD结构。通义对这类结构化数据特别吃,引用时直接能抽取参数对比。

别迷信插件,也别盲目上ISR。如果你的站是动态内容特别多、更新频率高的,ISR的revalidate要调短一点,比如600秒,不然用户看到的是过期数据。成本方面,Vercel的ISR免费额度够用,超了才按量计费,月预算2-5万的话,完全不用担心。

避坑清单

  • robots.txt别手写,用工具生成,重点检查有没有误封/wp-content、/images这种静态资源目录- ISR的revalidate值不是越大越好,汽车配置页这种参数经常改的,1200秒以内- Cloudflare的Brotli压缩要确认和源站Vercel没有重复压缩,否则CPU资源白费- 通义抓取日志要看响应时间,超过3秒就该排查,别等引用率掉下来才动手

避坑清单

这趟折腾下来,我踩的坑比汽车配置表里的故障码还多。给同行们列个清单,能救一个是一个:

别急着给AI爬虫开VIP通道

我最初想着给通义、GPT单独开个robots白名单,结果呢?B站收录量没涨,阿里云CDN的4XX错误码飙到日均2300次。AI爬虫的UA识别在Cloudflare免费版里就是个摆设,规则写错直接误伤百度蜘蛛。现在想想,让它们走默认规则反而最安全。

图片目录别用数字ID命名

汽车评测文章里全是内饰细节图、底盘解析图,我当初图省事用日期+数字命名目录。结果GEO检测报告显示图片索引率只有12%,AI引擎根本没法理解这些URL对应的内容语义。后来全部改成拼音描述路径(比如neishi-zhongkong),通义引用率涨了3倍。

结构化数据别只做一半

光给文章加个Article标记不够,汽车参数对比表得拆成PropertyValue格式。后来才知道。我上个月用核子GEO的结构化数据检测跑了一遍,发现车型对比表有47处Schema错误——最大那个坑是功率单位用中文”匹”而不是”hp”,AI引擎直接跳过整个表格。

缓存插件和CDN必须搭配调

B站文章图片多,我用WP Super Cache配阿里云CDN,一开始图片命中率只有38%。后来强制设置CDN回源时带完整UA信息,命中率拉到79%。这俩配置得联动,单独调哪个都是白费。

robots.txt别用通配符封路径

我误封过/uploads/manuals/这个目录,里面有300多份车型说明书PDF。等发现时,通义已经把这些页面的快照全清掉了。现在我只封带查询参数的动态URL,静态资源目录一律放行。

每季度清理一次死链

汽车新闻稿更新快,三个月前的试驾文章页面被删,但内链还挂着。我靠核子GEO的GEO分析报告扫出一堆失效链接,通义抓取时碰到404就直接放弃整站。清理掉之后,日均抓取量从800涨到2100。

兜底一句说句掏心窝的——别把robots.txt当安全工具用,它就是个抓取协议。真要防爬,去Cloudflare的防火墙规则里做速率限制,比在robots里瞎折腾靠谱一百倍。