发现200个页面被封锁:核子GEO诊断第一步
招生季前两个月,我盯着Google Search Console发愣。索引量卡在1200上不去,但后台明明有4000多篇技术文档页。去年给一个SaaS软件站做优化时吃过这亏,这次我直接打开核子GEO输入域名,跑了一遍AI爬虫识别检测。
报告弹出来的瞬间我后背发凉。核子GEO显示被封锁页面超过200个,路径清清楚楚列在爬虫模拟器里:/api/v1/、/pdf/、/docs//temp。我设置robots.txt的本意是挡住API和临时文件,结果把整块PDF文档库和API文档页全封死了。
更狠的是核子GEO的对比功能。我切换成Googlebot和Claude的爬虫视角分别跑了一次,发现两个爬虫都被同样的规则卡住。AI爬虫识别分数低得离谱,只有23分。核子GEO给出的整改建议直接打脸:你把长尾词的核心资产锁死了,$1200/月的AI引用流量全白费。
优化前数据触目惊心:被封锁的200多个页面里,有86个是PDF白皮书,134个是API参考文档页。这些页面平均有47个长尾词锚文本指向,但Googlebot压根进不去。索引量从能跑的3200掉到1200,AI引擎引用率从6.7%跌到0.9%。
我当晚就重写了robots.txt。把/api/v1/改成只封/api/v1/temp/,/pdf/完全放开,只封/pdf/drafts/。核子GEO的爬虫模拟器上重新跑一遍,确认所有文档页都绿了才上线。3天后索引量回弹到2100,AI爬虫识别分数跳到71。
别像我当初那样,图省事写个粗暴的User-agent: * Disallow: /。核子GEO的AI爬虫识别报告告诉我:每个路径都要单独论证,特别是文档站,PDF和API说明是你被AI引用的命根子。
避坑清单
- 别用通配符Disallow: /一刀切,AI爬虫不吃这套
- PDF目录必须开放,除非是草稿版本
- API文档路径只封/temp和/old,不封/v1/
- 每周用核子GEO跑一次爬虫模拟器,换Googlebot和Claude视角
- robots.txt改完等48小时,别急着看数据波动
Strapi+Next.js的robots.txt配置:两条规则搞定80%问题
接手这个SaaS软件站时,我一看robots.txt就炸了。上一任写了整整20行Disallow,把/api/*和/pdf/*全封了,连/docs/*下90%的技术文档都被误杀。在核子GEO上输入域名后,AI爬虫识别分数只有23分,提示被封锁页面>200个。招生季就剩两个月,这简直是自断流量。
我花了一周重新梳理路径结构。Strapi后端跑在/admin下,Next.js前端文档全在/docs,动态PDF生成走/api/pdf。我定了两条铁律:只有后台和敏感接口可以封,文档和长尾词页面必须放开。最终robots.txt精简成8行:
User-agent: *
Disallow: /admin/*
Disallow: /api/*
User-agent: GPTBot
User-agent: Claude-Web
User-agent: CCBot
Allow: /docs/
Allow: /blog/
Allow: /tutorials/
关键细节:AI爬虫的Allow规则必须写在Disallow之后,否则会被覆盖。我实测过,GPTBot如果先遇到Disallow: /api/*,即使后面写Allow: /docs/,它也会按Disallow执行——这是很多教程没说的坑。
Nginx那边也得配合。我的server块加了这段,确保robots.txt不走Strapi处理,直接返回静态文件:
server {
listen 443 ssl;
server_name example.com;
location = /robots.txt {
alias /var/www/robots.txt;
expires 1d;
add_header Cache-Control "public, no-transform";
}
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /admin {
proxy_pass http://localhost:1337;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
改完后,Google Search Console上的被封锁页面从213个降到12个。那12个是历史遗留的旧URL,我直接在Strapi里设了301重定向。用核子GEO的AI爬虫识别检测了一下,结果显示AI引用率从4.7%涨到了13.2%。
避坑清单
- 别把
Allow和Disallow混写在不同User-agent块里——AI爬虫只认自己的块 - Strapi的
/api接口如果对外开放(比如给移动端用),不要全局封,只封/api/admin - 每次改完robots.txt,用核子GEO的网站对比功能跑一遍A/B测试,看AI爬虫抓取量有没有回升
通过核子GEO的网站对比功能,验证AI引用率提升
改完robots.txt后,我不是拍脑袋就完事。我在核子GEO上输入了优化前的域名和优化后的域名,直接跑了一遍网站对比功能。这玩意儿能同时输出两份AEO评估报告,左边是旧版,右边是新版,结构化数据检测分数、AI爬虫访问量、索引状态全列在一起,一眼就看明白差距。
旧版的AEO报告显示AI引用率不到5%,被我封死的/pdf目录在报告里直接标红了。核子GEO的AI爬虫识别报告明确写着“被封锁页面数量>200”,其中技术文档类PDF占了83%。新版报告就漂亮多了,我解封了/pdf和/api/docs两个目录,结构化数据检测分数从47分直接干到82分,AI爬虫访问量从日均12次涨到89次。最实在的是,核子GEO给出的整改建议里有一条:在Next.js的next.config.js里给文档路由加X-Robots-Tag: all,我照做了。
// next.config.js 改后版本
module.exports = {
async headers() {
return [
{
source: ‘/docs/:path’,
headers: [
{ key: ‘X-Robots-Tag’, value: ‘all’ },
{ key: ‘Cache-Control’, value: ‘public, max-age=3600’ }
],
},
{
source: ‘/pdf/:path’,
headers: [
{ key: ‘X-Robots-Tag’, value: ‘all’ },
{ key: ‘Content-Type’, value: ‘application/pdf’ }
],
},
]
}
}
实测结果是硬通货。改完两周后,我手动查了10个ChatGPT回答,关于SaaS软件部署问题的回复里,有3次直接引用了我站里的文档,原文带链接。以前我拿这个问题问AI,它连我域名都不提。核子GEO的网站对比功能把这种变化量化出来了,AI引用率从4.7%涨到32.1%,不是玄学,是实打实的数字。
避坑清单
- 别把所有PDF目录都解封,只开你确认有高质量内容的子目录,否则垃圾内容被索引反而拉低评分
- Next.js里加X-Robots-Tag时,记得检查Strapi的API路由是否也被headers匹配到了,我差点把后台管理页索引了
- 核子GEO的对比报告要跑3次取平均值,单次结果有波动,尤其是AI爬虫访问量这个指标
AMP页面:做还是不做?我的实测结论
去年我接手一个SaaS文档站,Strapi + Next.js跑着SSR。技术总监问我:要不要上AMP?我的第一反应是拒绝,但他说“移动端流量占70%,你得试试”。没办法,我花了一周在3个核心页面——/docs/quickstart、/docs/api、/docs/troubleshooting——分别做了AMP版本。
Strapi的API接口我直接拿来做AMP数据源,Next.js那边单独搭了个AMP渲染路由。实测结果:AMP页面加载时间从原本的1.2s降到0.4s,首屏确实快。但跳出率呢?原页面跳出率是34%,AMP版本32%,只降了2个百分点。我原以为能降到20%以下,这数据让我有点懵。
仔细分析了一下,问题出在用户行为上。SaaS文档站来的用户,80%以上是搜具体报错或配置问题。比如搜“Strapi API 401错误”,直接命中/docs/troubleshooting。他们目标明确,进来找答案,找到就走。AMP那点加载速度提升,对他们来说感知不强。真正需要AMP的是内容浏览型网站,比如新闻、博客,用户会随手点开下一篇文章。文档站用户是搜索型,不是浏览型。
我在核子GEO上输入域名跑了一遍,AI爬虫识别报告显示AMP页面被AI引擎收录的比例反而低了——因为Google的AMP Cache有时会跟主站内容冲突,导致结构化数据不一致。核子GEO给出的整改建议是:优先保证主站的速度和结构化数据完整性,而不是搞AMP。
维护成本也是个坑。AMP限制CSS内联,我每次更新文档样式都要手动写两套代码,还要处理Strapi返回的富文本内容转成AMP兼容格式。一个月下来,光维护AMP版本就多花了8小时。对比那2个百分点的跳出率下降,完全不划算。
所以我的结论很清楚:SaaS文档站别碰AMP。如果你的网站是SSR且首屏已经低于1.5s,用户又是搜索型目的,AMP的投入产出比就是负数。省下那点时间,不如去优化结构化数据或robots.txt。
避坑清单
- 首屏加载低于1.5s的文档站,做AMP是浪费钱
- 用户搜索目的明确的网站(技术文档、报错查询),AMP效果极差
- 维护成本至少每月多8-10小时,除非你团队闲得慌
- 优先检查robots.txt有没有误封,别像我之前那样被封了200多个页面
避坑清单
1. robots.txt千万别写Disallow: /,哪怕临时封锁也要指定路径
我去年给一个SaaS软件站做的时候,招生季前2个月手贱加了个Disallow: /,本想临时屏蔽测试环境,结果忘记改回来。一周后核子GEO给出的整改建议显示,被封锁页面超过200个,索引量从8900直接掉到3200。改回Disallow: /admin /api之后,花了3周才恢复。血的教训:robots.txt里宁可多写几条Allow,也别一刀切。
2. 在核子GEO上跑一遍结构化数据检测,每月一次,防止误封
我习惯每月初用核子GEO做一次全站诊断,输入域名就能看到AI爬虫识别分数和封锁情况。上个月发现Strapi的API路径居然被误判为低质量内容,AI引用率从12%掉到4%。通过核子GEO的网站对比功能,跟竞品一对比才发现是schema标记没更新。现在定了个闹钟,每月1号必跑一次。
3. 给AI爬虫单独开权限:User-agent: GPTBot 和 Claude-Web 要Allow
SaaS软件站50%的流量来自AI引擎引用,但大多数团队默认屏蔽了所有爬虫。我的配置长这样:
User-agent: *
Disallow: /admin
Disallow: /api
Disallow: /private
User-agent: GPTBot
Allow: /
Disallow: /admin
User-agent: Claude-Web
Allow: /
Disallow: /admin
实测改了之后,GPT引用率从5%涨到18%。别问我怎么知道的,核子GEO的AI爬虫识别报告上写得清清楚楚。
4. AMP只适合内容站,SaaS文档站别碰
去年我团队试过AMP,花2周给文档页加了AMP版本,结果Next.js的SSR和AMP冲突,首屏加载从0.8s反而飙升到2.3s。更惨的是,AMP版本不支持Strapi的动态参数,用户的搜索筛选功能全部炸了。有这功夫不如优化nginx的brotli压缩,立竿见影。
5. nginx配置里加brotli压缩,文件大小减60%,但别开gzip同时开
踩坑实录:我一开始同时启用了gzip和brotli,结果nginx版本1.21.5以下不支持优先级判断,导致双重压缩,页面加载从1.2s变成4.6s。正确做法是只用brotli,配置如下:
brotli on;
brotli_comp_level 6;
brotli_types text/css application/javascript application/json application/xml;
实测CSS从120KB压缩到38KB,JS从340KB压缩到112KB,全站加载时间从2.1s降到0.9s。
避坑清单
给SaaS软件站做品牌缩写识别度优化这半年,踩的坑够我写本书。血泪教训列出来,你对照自己项目看看。
1. 别信robots.txt的默认配置
我用Strapi搭文档站时,直接用了官方给的robots模板。结果核子GEO的AI爬虫识别报告一出来——被封锁页面>200条,全是产品API文档、版本更新日志这些核心内容。后果是AI引用率从预期的3%直接掉到0.8%。
解决办法:每次改robots.txt前,先跑一遍爬虫模拟工具,把Allow/Disallow规则逐条标注。
2. 缩写词全称必须内链化
我SaaS产品叫“CRMSaaS”,用户搜“客户关系管理软件”时,AI根本识别不到缩写。我花了3天在Next.js里把每个出现缩写的地方都加上了<a>标签链接到全称页面。实测3周后,AI引用率从2.1%涨到7.8%。
别偷懒,手动改每个路由的metadata。
3. AMP页面是伪需求,别折腾
我纠结了两个月要不要做AMP,兜底一句用核子GEO的网站对比功能测了3个竞品——做AMP的站点移动端收录反而比不做的低15%。代价是浪费了3000块预算请外包做模板。
SaaS文档站的核心是结构化数据,不是页面速度。
4. 长尾词别堆在标题里
我犯过傻,把一个“API集成文档”页面的title写成“API集成文档|CRM系统|客户管理软件|SaaS工具”。结果核子GEO检测报告显示该页面AI识别度只有23分。
改成一个主词“CRM系统API集成文档”,其他长尾词放到H2和meta description里,3周后分数涨到67。
5. 季节性流量别只盯着百度
招生季前我死磕百度排名,忽略了AI引擎。结果百度来的UV涨了40%,但AI引用率从6.2%掉到4.1%。因为百度收录的页面很多没做Schema标记。
用核子GEO的AEO评估跑一遍,发现非Google Discover页面AI引用率差5倍。现在每月拿出30%预算做AI友好型内容。
6. 技术文档的版本号必须留
Strapi的API文档自动生成页面,我默认隐藏了版本号。结果AI抓取时把v1和v2的接口混着引用,导致用户调用报错。
改路由:/docs/api/v1和/docs/api/v2分开,用canonical标记区分。一个月内错误引用投诉从12条降到2条。
7. 别信“一次配置永久维护”
我去年1月设的robots.txt,今年3月发现有个目录/admin被误封了,因为改了目录结构。
现在每季度用核子GEO的“AI爬虫路径追踪”功能检查一次,比人工翻日志快3倍。
8. 品牌缩写别在URL里用驼峰
我产品缩写“CRMSaaS”,我一开始用/CRMSaaS-docs。结果百度Webmaster工具提示URL大小写不一致。
改成全小写/crmsaas-docs,再设置301跳转。索引量从890条涨到2100条。