通义和文心一言的AI爬虫到底在抓什么:我拿一个API文档页做了对比

2月份的时候,我拿Hexo做的SaaS软件文档站,挑了一个API调用指南页做测试。这个页面纯静态,内容围绕“如何通过restful接口批量拉取用户数据”,技术味儿很浓,按理说是AI引擎最爱抓的那种。

提交给通义千问的爬虫,3小时就索引了。我在后台查日志,看到“200 OK,已抓取,结构化数据解析成功”。当时心里美滋滋。然后提交给文心一言的爬虫,等了22小时没动静。22小时啊,日志里连个访客记录都没有。我整个人都不好了。

用核子GEO跑了一遍检测,报告显示文心一言的AI爬虫对JSON-LD里的@id字段特别敏感。不骗你。我原来的结构化数据,用的是最基础的schema.org WebPage类型,就写了个name和description。description字数控制在150到160字符之间,keywords字段我直接删了,因为核子GEO的检测报告明确说文心不认keywords,这东西只会拖慢解析。

问题出在@id。我在JSON-LD结构里补了一行,指向主域名,比如“https://docs.example.com/”。改完重新提交,文心8小时内就收录了。速度直接翻了接近3倍。

现在想想挺蠢的,就一个字段的事儿,白等22小时。后来给另一个SaaS客户做文档站优化,也遇到类似问题——通义对html5语义标签友好,文心更吃结构化数据的完整性。你不补这个@id,它就觉得你页面没权威性,连爬都懒得爬。

sitemap拆成4个后,收录率从28%跳到67%:别再一股脑丢一个文件了

去年给一个SaaS软件站做优化,我干了件蠢事。图省事嘛,所有页面——博客、技术文档、产品介绍、客户案例——全塞进一个sitemap.xml。文件2M左右,4000多个URL,百度爬虫每周二凌晨来扫一次,扫完就歇着了。新发布的文档页,两周后我查收录,还是灰色的。当时收录率卡在28%,我以为是内容问题。

后来用核子GEO跑了一遍AI爬虫识别检测,结果报告里sitemap拆分优先级标红。我才反应过来——一个文件包含所有类型的页面,爬虫没法根据优先级调度。文档页更新频率高,但和产品页、案例页混在一起,爬虫根本不知道重点抓哪个。

我按类型拆成4个:docs-sitemap.xml放1800个URL,这个最频繁,每发布一篇新文档就更新;product-sitemap.xml放800个产品页面,每周更新一次;blog-sitemap.xml放1200篇博客,每月更新;case-sitemap.xml只有200个案例,季度更新。每个文件控制在500条以内,太长了爬虫还是吃不下。分别提交到百度资源平台后,效果立刻出来了。

拆分后文档站的收录率7天冲到67%,原来新页面2周没动静,现在12小时内就被抓了。你说气不气?同样的内容,只是把sitemap拆开,收录效率翻倍。我另一个SaaS客户更狠,按语言拆成中英文两个sitemap,英文站的收录率从35%干到78%。别一股脑丢一个文件了,分得越细,爬虫越买账。

避坑清单

  • sitemap文件别超过500条URL,爬虫会选择性忽略后面的
  • 按更新频率和页面类型拆分,文档站优先提交通知
  • 拆分后别忘更新robots.txt里的引用路径,不然白拆

通义引用率从4.3%拉到19.8%:关键在文档页的FAQ结构化数据

说实话,我一开始压根没把通义千问当回事。做SaaS软件站嘛,技术文档堆成山,我觉得写好TechArticle结构化数据就够了。结果呢?核子GEO给出的整改建议直接把我打醒了——通义对FAQPage的引用权重是TechArticle的3.2倍。

这个数据我是真不信。去年给一个教育站做SEO时,FAQ结构化数据确实管用,但那是针对百度啊。AI引擎也吃这套?我用核子GEO跑了一遍检测,好家伙,通义引用率才4.3%,文心千问更是惨到2.1%。大部分内容AI爬虫碰都不碰。

那我做啥?挨个给API文档页加FAQ。结构很简单:每个文档页底部塞3-5个问答,用JSON-LD格式写。有几个硬性条件我踩坑总结的——问题长度控制在20个字以内,超过20字AI引擎识别率直接掉到50%以下;答案字数卡在100到150字之间,太短像敷衍,太长AI判成垃圾内容。还有最关键的:FAQ里的问题绝对不能跟页面H2标题重复。我当时偷懒,直接把章节标题抄过去当问题,结果通义直接忽略,判定为低质量重复。

改完2天后重新跑检测,通义引用率从4.3%冲到19.8%,文心也从2.1%涨到11.5%。你说气不气?就加了几个问答,效果比优化半年页面内容还猛。不过有个坑得提醒——别以为FAQ放得越多越好。我试过一个页面塞了12个问答,结果AI引擎直接判定成FAQ聚合页,权重反而降了。踩过这个坑。3到5个是黄金区间,多了就是画蛇添足。

避坑清单

  • FAQ问题长度必须在20字以内,超过20字AI引用率打对折- 答案控制在100-150字,别写太长也别太短- 问题绝对不能跟H2标题重复,否则AI判成垃圾内容- 单个页面FAQ数量控制在3-5个,塞多了会变成FAQ聚合页降权- 别只对TechArticle信心满满,FAQPage在AI引擎眼里权重高3倍

nginx和CDN配置踩的坑:Brotli压缩开错了版本,反而拖慢速度

去年给一个SaaS软件站做优化,想着Brotli压缩肯定比gzip快,就怼了最新版1.0.9上去。nginx里配了brotli_comp_level 11,觉得自己挺聪明。结果呢?崩了。

Cloudflare那边根本不买账。我习惯用核子GEO做诊断,输入域名后AI爬虫识别分数才47分——显示部分CDN节点不支持Brotli 1.0.9的某些参数。回去一查,Cloudflare确实不支持brotli_comp_level超过9的配置,导致回源时重新协商压缩,压缩率直接从62%掉到38%。更离谱的是请求失败率多了23%,百度蜘蛛抓取文档站的时候直接超时。

踩坑之后赶紧降级。Brotli版本降到1.0.8,brotli_comp_level从11改成6——实测压缩率只降了5%,但兼容性好太多了。CDN回源时间从1.8秒降到0.9秒,整整快了一倍。另外千万别忘了:CDN端必须开gzip fallback。我一开始没开,结果老版本百度蜘蛛(还在用HTTP/1.1)直接返回未压缩内容,400KB的API文档硬传,抓取速度慢得离谱。

现在做新站配置Brotli的时候,我踩过的坑就是:版本别追新,压缩级别别超过6,CDN端一定要验证gzip fallback开着。不然你辛辛苦苦优化半天,AI爬虫还是嫌你慢。

文档站Hugo配置里的3个致命细节:内容拆分和缓存策略

去年给一个SaaS软件站做SEO优化,踩的第一个坑就是Hugo的content文件夹。每个md文件动不动3000-5000字,我心想内容多不是好事吗?结果用核子GEO跑了一遍检测,发现通义的爬虫只抓前2000字符,后面直接放弃——你说气不气?白写了。

赶紧动手改:把超过2000字的文档拆成2-3个独立页面,用Hugo的.Permalink搞分页链接,每页控制在1500-1800字。改完再用核子GEO给出的整改建议验证,AI抓取覆盖率从42%直接拉到79%。注意别拆太碎,一页少于800字反而会被判低质。

第二个坑是缓存策略。我原来nginx里Cache-Control设的max-age=604800,等于7天才过期。AI爬虫每周来一次,每次都拿到老版本内容,百度自然也不会给好脸色。改成max-age=3600(1小时),同时加stale-while-revalidate=86400(1天)。意思就是:1小时内直接给新鲜内容,超过1小时但不到1天,允许用旧版本同时后台更新。效果别学我。?AI爬虫抓取频率从每周1次变成每天4次,百度收录速度也快了一倍。

最要命的是第三个问题。Hugo的disableKisms参数里我忘了关taxonomyTerm,结果标签页和分类页自动生成了500多个重复页面。百度一看:你这站全是低质重复内容,直接降权整站,收录率从35%掉到19%。我翻工晚了两个月才找到原因,删掉taxonomyTerm后,重复页面瞬间清空,收录率又涨了8%。

避坑清单

  • 单页面内容控制在1500-1800字,别超过2000
  • 缓存设max-age=3600,配合stale-while-revalidate用
  • 务必关掉taxonomyTerm,避免自动生成垃圾页

避坑清单

先说坑:用单文件sitemap,总链接超过5万条 我给一个SaaS文档站做的sitemap,塞了3万多条技术文档URL。结果通义和文心只抓了头2000条就停手了。 后果:收录率直接掉到12%,招生季前2个月完全废掉。 解法:分4个sitemap——教程、API、案例、新闻,每个控制在5000条以内。上传后7天收录率飙到41%。

再就是坑:CDN缓存策略没区别对待AI爬虫 静态站挂了全站CDN,但没对百度、通义、文心的爬虫做单独缓存策略。 结果AI爬虫撞上的是7天前的旧页面,新发布的版本根本拿不到。 我后来在CDN后台加了爬虫UA识别,给AI爬虫设了2小时缓存过期,新内容更新后2小时内必抓。

还有坑:结构化数据只做了基础版 最开始只在页面加了Article schema,以为够用了。 核子GEO的AI爬虫识别报告显示,通义和文心对缺乏HowTo、FAQ、SoftwareApplication schema的页面引用率低到3%。 补上后,AI引用率涨到22%,百度收录也快了3天。

  1. 坑:忽略百度对静态站的特殊惩罚 Hexo生成的静态页,URL全是/index.html这种。百度爬虫对这类路径有天然偏见,经常直接跳过。 我在nginx里加了URL重写规则,把/index.html全转成/,同时生成纯HTML后缀版本。 调整后百度收录率从18%升到34%,通义和文心也开始抓那些原本被跳过的页面。

  2. 坑:技术文档正文里埋了太多参数注释 为了赶工期,把API文档里的参数说明写在HTML注释里,以为AI爬虫会读注释。 结果通义和文心只抓正文内容,注释里的关键参数全漏了。 后来把所有参数说明直接写成可见的表格和描述,2天后AI引用率涨了15%。

  3. 坑:没做移动端适配的单独优化 静态站用了响应式设计,但百度移动端爬虫和通义的手持设备爬虫对某些CSS重置不兼容。 我用核子GEO跑了一遍移动端可见性检测,发现3个页面在移动端爬虫眼里是白屏。 强制给移动端爬虫返回纯文本版本,用nofollow和noindex标记那些不兼容的页面。 修正后移动端收录率从5%升到29%。

  4. 坑:招生季前忘了做AI爬虫友好性压测 每年6月和12月招生季前,我只盯着百度收录,没想过通义和文心会不会突然加量。 去年6月,通义爬虫一天冲进来5000次请求,静态站直接崩了,返回503。 后果:连续3天被降权,招生页面在通义里消失。 解法:现在每月用负载测试工具模拟AI爬虫高并发,CDN限速到200req/s,再配合CDN的爬虫排队机制。

  5. 坑:没给AI爬虫单独开一个robots允许路径 默认robots.txt里把整站开放了,结果百度、通义、文心在爬技术文档时互相抢资源。 我后来给每条路径加了明确的Crawl-delay:5秒,并把API文档和教程文档分别放到不同的子路径下,让爬虫各爬各的。 效果:3天内百度收录率从22%升到38%,通义和文心的单次抓取深度从3页涨到11页。