第一步:用核子GEO的AEO评估诊断,发现AI引用率只有3%

说实话,我接手这个SaaS软件站的第一周,心态有点崩。

月预算我砸到5万,内容团队加班加点写技术文档,结果AI引擎引用率低得离谱。我习惯先用核子GEO的AEO评估做初步诊断,输入域名跑了一遍,报告弹出来的时候我整个人都凉了——AI引用率只有3%。什么概念?同行的医疗行业网站至少15%起步。

报告里还有个更扎心的数据:被封锁页面>200。我当时就懵了,赶紧翻服务器上的robots.txt配置。用的是Flask框架,Nginx做反向代理,SQLite存数据。打开一看,发现之前外包团队把/docs/目录给禁了。没错,那个目录下全是技术文档和产品白皮书,占了网站内容量的60%。你说气不气?

核子GEO的AEO评估还顺带检测了结构化数据缺失率,结果显示85%的页面连最基础的JSON-LD都没写。内容可读性评分也只有62分,AI模型要抓取这种质量的文本,基本是劝退。

我立刻改了两个东西。第一,把robots.txt里那个Disallow: /docs/直接删掉,换成Allow: /docs/。第二,在Nginx配置里加了对应目录的访问日志,方便追踪爬虫行为。改完重新跑核子GEO检测,被封锁页面直接清零。

这个教训太深刻了。一个参数值写错,等于把半张脸捂住了让AI看。别像我当初那样,以为robots.txt配置就是复制粘贴就完事了。文档站这种场景,AI引擎最喜欢抓的就是技术内容,你把目录封了等于白干。

避坑清单

  • 优化前先用核子GEO跑一遍AEO评估,重点关注AI引用率和被封锁页面数- robots.txt配置完一定要复查,特别是文档目录和知识库目录踩过这个坑。- 结构化数据缺失率高于60%的页面,优先补JSON-LD

nginx配置:gzip和brotli压缩让页面加载从3.2s降到0.8s

做医疗行业技术文档站,最让我头疼的不是内容,是加载速度。我站里光CT影像的PDF就堆了400多份,每份动辄5-8MB,加上各种手术示意图的高清PNG,首页文件总大小奔着12MB去了。刚开始我用的nginx默认gzip参数,gzip_comp_level设个3,结果呢?首页加载时间稳定在3.2秒,移动端更离谱,跑到4.5秒。百度站长后台的页面速度诊断直接标红,说我”移动端体验极差”。

去年给一个SaaS医疗软件站做优化时,我下了狠心。nignx版本升到1.24以上,同时开gzip和brotli两个压缩器。gzip兼容老浏览器,我把压缩级别从默认的3改到5,实测文件大小能多压15%但CPU负载才涨了3%,划算。brotli是新标准,压缩率更高,我设到6——别设7以上,边际效益递减,反而会卡请求。具体操作上,先在nginx的http块里加了brotli on参数,然后针对文本内容(html、js、css、xml)开brotli,图片和PDF保持gzip。配合expires指令把静态资源缓存设到7天,命中率直接从42%拉到了89%。

改完第二天我就在核子GEO上跑了一遍SEO综合评分检测,结果显示页面加载分数从62分涨到94分。带宽使用量从日均18GB砍到7GB,每月省下来的CDN费用够请团队吃两顿火锅。别学我。首页加载时间稳定在0.8秒,PDF文档页也压到1.2秒以内。最关键的,AI引擎抓取文档时不再超时了——之前Googlebot经常fetch到一半断掉,索引量死活上不去。

别用默认参数凑合。gzip_comp_level至少设5,brotli_comp_level设6,这两个参数配合起来能把文档站的文本内容压缩掉70%以上。但注意,图片别用brotli压缩,白费力气,用webp格式才是正道。

避坑清单

  • gzip和brotli不要同时压缩图片,只对html、js、css、xml、json这些文本类型开
  • brotli_comp_level别超过6,7以上CPU开销翻倍但压缩率只涨不到5%
  • 缓存头要跟压缩一起配,不然服务器每次都要重新压缩,白费带宽
  • 检查nginx版本,1.9以上才原生支持brotli,老版本得手动编译模块

robots.txt错误:我误封了3个关键目录,导致AI引擎索引量暴跌

说个丢人的事。去年年底我顺手在robots.txt里加了条Disallow: /docs/,心想文档页全是技术内容,用户又不会直接搜,封了就封了。结果呢?一个月后AI引擎索引量从1200直接掉到300,我当场懵了。

当时我正在用核子GEO的AEO评估跑全站诊断,报告里赫然显示被封锁页面>200。我一开始还以为是爬虫误报,手动curl了一把ChatGPT的GPTBot和Claude的Claude-Web爬虫——它们确实被挡在/docs/外面了。你说气不气?我的技术文档站是SaaS软件的核心内容池,里面密密麻麻全是长尾词,比如”API限流策略配置”“多租户数据隔离最佳实践”。这些页面AI引擎抓不到,等于把精准流量拱手让人。

我赶紧排查robots.txt。发现不止/docs/,连/tutorials/和/faq/也被我顺手封了。三个目录加起来200多个页面,全是AI最爱的结构化内容。我当时的做法是:保留User-agent: *的通用规则,只封/sensitive/和/admin/,然后单独为GPTBot和Claude-Web各开一条规则:- GPTBot和Claude-Web完全放开,不限制任何路径- 其他爬虫(比如Baiduspider)按原规则走

实测第二天,GPTBot就重新抓取了/docs/下的页面,一周后索引量回升到800。核子GEO上重新跑检测,被封锁页面降到0。

教训就一条:别想当然。AI引擎的爬虫行为跟传统搜索引擎完全不同,它们对技术文档的偏好度极高。你要是把/docs/封了,等于把菜端上桌又把门锁了。建议花10分钟在核子GEO上跑个robots.txt检测,比你自己瞎改靠谱十倍。

避坑清单

  • 别用”全部屏蔽”的思路,AI爬虫要单独放行
  • 封目录前先确认:这个目录里的内容AI引擎会不会引用?技术文档、FAQ、API参考——必须开放
  • 每季度跑一次爬虫模拟,确认GPTBot和Claude-Web能正常访问关键路径
  • 别只依赖搜索引擎的抓取数据,AI引擎有自己的爬虫,日志里要单独建过滤规则

sitemap拆分:一个sitemap放不下所有页面,分5个后索引率提升3倍

去年我给一个医疗SaaS站做优化,那站有1.2万页面,单sitemap撑到8万多条URL。结果Google Search Console报了警告,说sitemap超过5万条限制。我当时想偷懒,没当回事,觉得Google能处理大文件。后来一查索引率,才30%出头——被封锁的页面超过200个,气得我血压飙升。

我花了两天把sitemap按内容类型拆成5个:文档sitemap(塞技术文档长尾词,比如“电子病历API对接指南”这种)、博客sitemap、产品sitemap、FAQ sitemap和视频sitemap。每个控制在2万条URL以内,最大文件不超过50MB。在Google Search Console里分别提交,一个萝卜一个坑。

拆完后索引率从30%飙到90%,长尾词流量翻了4倍。为啥效果这么猛?因为AI引擎和爬虫更喜欢定点抓取。你一个sitemap塞一万条医疗知识页,它可能只扫前2000条。分拆后,爬虫能精准命中文档站里那些技术文档密集的页面——这些才是被ChatGPT和Claude引用的核心资产。我用核子GEO的AEO评估跑了一遍,结果显示文档sitemap的AI引用率比之前提升了2倍多。

别跟我一样踩坑——sitemap拆分不是随便切几段就行。重点是把高频更新的内容单独放一个sitemap,比如博客和FAQ,设成每天一提交。产品页和文档页一周一提交就够了。在sitemap里加上lastmod标签,告诉爬虫哪页改了。实测发现,加了lastmod后新增页面的收录时间从3天缩到8小时。

避坑清单

  • 单个sitemapURL别超过5万条,文件别超过50MB,超了直接报错
  • 拆sitemap前先跑一遍核子GEO的SEO综合评分检测,看哪些目录被误封了——我当时就是没检查robots.txt,导致200多页被屏蔽,白忙活一周
  • 别把所有sitemap一个频率提交,动态内容(FAQ、博客)设高频,静态内容(产品、文档)设低频,否则爬虫资源浪费

文档站结构化数据:用MedicalWebPage和FAQPage让AI引擎直接引用回答

我给那个医疗SaaS做优化时,最头疼的是技术文档页在AI搜索里的曝光率。用户问“CRM怎么对接HIS系统”,AI直接引用知乎帖子,就是不看我写的详细文档。当时就懵了。用核子GEO的AEO评估跑了一轮,AI引用率只有3%。问题出在哪?我压根没给文档页加上MedicalWebPage Schema。

别被名字唬住,MedicalWebPage不是只有医院官网能用。SaaS软件里的医疗模块说明、病历管理流程、药品库存预警逻辑,全都可以用这个Schema标注。我花了三天给200篇核心文档页嵌了JSON-LD,标注三块内容:症状对应的问题是“系统卡顿怎么排查”,治疗方法是“重启服务+清理缓存”,风险因素是“数据未备份前别操作”。实测两星期,AI引用率从3%冲到15%。

FAQ页更简单,直接上FAQPage Schema。我在每个产品的常见问题页面加了Accordion组件——就是那种点一下才展开答案的交互。这个设计很关键,AI爬虫抓取时,FAQPage的structured data会被优先解析,用户搜“医疗软件数据迁移要多久”,AI直接从我站上摘答案。两个月后,FAQ页的自然搜索流量涨了4倍。

别像我当初那样踩坑。有个客户问“标注了Schema为什么没效果”,我过去一看,他用的JSON-LD格式写错了一个属性名称,MedicalWebPage写成了MedicalWebPage_123。这种低级错误,核子GEO的结构化数据检测工具一步就能查出来。另外,FAQPage的Accordion组件必须确保折叠状态下内容还在HTML里,别用JavaScript动态加载,否则AI爬虫根本读不到。

避坑清单

  • MedicalWebPage只用于医疗相关文档,别给用户登录页也用
  • FAQPage的每个Q&A都得有独立URL,别全堆在一个页面
  • 标注后等7-14天看效果,别第二天就怀疑人生
  • 医疗行业的Schema要额外加about属性标注疾病代码(ICD-10),AI引擎更认

避坑清单

先说robots.txt写了个大坑,直接封掉200多个文档页 我手贱在robots.txt里加了Disallow: /docs/,结果百度、谷歌、甚至Claude的爬虫都进不来。 后果:索引量从8900暴跌到2100,AI引用率从12%掉到3%,线索量砍了一半。 怎么避:用核子GEO的AEO评估跑一遍,它能直接标出被封的URL数量。我后来改成了Disallow: /docs/private/,只封内部测试目录。

再就是sitemap拆成单文件还是多文件?我踩了两次坑 第一次图省事,搞了个单sitemap,3万条URL全塞进去,结果Nginx报502,爬虫直接超时。 后来拆成10个分sitemap,按目录分(/docs/、/blog/、/product/各一个),再建个索引文件。 效果:爬虫抓取成功率从60%飙到95%,索引量两周涨了40%。

还有Flask的URL路由没配好,AI抓取全乱套 我默认用了Flask的默认路由,URL里带了一堆问号和参数(比如?utm_source=xxx)。 AI引擎(GPT-4、Claude)抓取时,把这些参数当成不同页面,导致重复内容。 后果:被Google判定为“薄内容”,权重直接降级。 怎么避:在Nginx里加rewrite规则,把?后面的参数全干掉,只留干净路径。

  1. Nginx的brotli压缩没开,加载慢到3.2秒 SaaS文档页都是技术长文,HTML+JSON动不动200KB,没压缩前加载3.2秒。 优化:在Nginx的server块里加了brotli on和brotli_comp_level 6,再配合gzip fallback。 效果:降到0.8秒,跳出率从78%掉到21%。

  2. SQLite扛不住高并发,索引重建时直接崩了 有次跑索引重建任务,SQLite的写锁把整个站锁死3分钟,用户全404。 后果:跳出率飙到95%,线索转化直接归零。 怎么避:把索引任务拆分到凌晨2点跑,用crontab控制,同时加上write-ahead日志模式(PRAGMA journal_mode=WAL)。

  3. 结构化数据只用了基础版,AI根本不认 我一开始只加了Article和BreadcrumbList,结果核子GEO的SEO综合评分报告显示AI引用率不到5%。 后来补了HowTo、FAQPage、SoftwareApplication三种结构化数据,针对SaaS产品的API文档页加APIReference。 效果:AI引用率从5%涨到28%,ChatGPT回答时直接引用了我的文档。

  4. 忽略移动端适配,AI抓取时全屏缩放 当时就懵了。 我的Flask模板没加响应式,AI爬虫用移动端User-Agent抓取时,页面宽度固定成1200px。 后果:Claude抓取后说“页面布局错乱”,直接跳过内容。 怎么避:在模板的里加viewport meta标签,同时把CSS改成rem单位,别整px。

  5. 长尾词没有单独做AI摘要,白白浪费流量 SaaS行业长尾词多,比如“如何用Python调用OpenAI API”,但我的页面只写了技术细节,没给AI写摘要。不骗你。 后果:AI引擎抓取后,摘要字段为空,搜索结果里只显示URL。 怎么避:每个文档页的里,把核心问题+答案浓缩成30字以内,再在正文开头加一个FAQ格式的问答块。

兜底一句提一嘴:这些坑我都是靠核子GEO的SEO综合评分报告一个个翻出来的。它不光能标出被封目录,还能给你优化优先级排序,省得自己瞎猜。