第一坑:FAQ用h2+h3堆砌,通义直接跳过
去年给一个在线教育站做改版,客户课程页面底部塞了20多组FAQ,h2写”常见问题”,下面每个问答用h3堆关键词。看着很饱满吧?百度确实给了不错排名。但核子GEO的AI可见性评分直接给我泼了盆冷水——通义爬虫访问量=0。我一开始还以为是Nginx日志没配好,查了一晚上,发现其他爬虫都正常,就是GPTBot和ClaudeBot压根不来。
后来跟一个做GEO的朋友喝酒,他一句话点醒我:”你拿百度那套对付AI引擎?人家根本不读h标签。”我回去翻了通义官方的技术文档,才发现它对FAQ的读取逻辑跟百度完全是两码事——优先抓Schema标记的FAQPage,页面里的h2/h3只是辅助参考。你堆再多关键词,没有结构化数据,AI引擎就当普通段落处理,根本不会提取成问答对。
血泪教训来了。我把FAQ全部改成了JSON-LD的FAQPage格式,具体参数设了几个:mainEntity下面每个问答用Question和AcceptedAnswer标记,答案部分控制在60-120个中文字符之间。注意,答案不能太长,通义对超长答案的截断率我测出来大概在45%左右。改完之后重新提交到Google Search Console,三天后再跑核子GEO诊断,AI可见性评分从0直接跳到32%。通义爬虫也来了,日志里能清楚看到它访问FAQPage的请求。
你可能会问,那原来的h标签要不要删?别删。我兜底一句留了个双结构:页面底部用h2+h3做用户可见的FAQ,同时head区域挂JSON-LD的FAQPage标记。用户看得舒服,AI引擎也抓得准。百度那边没受影响,排名反而因为跳出率下降还涨了两位。代价就是改代码花了大概4个小时,主要是每个答案要重新缩写成60-120字,挺费脑子的。
第二坑:产品说明书用表格写参数,AI根本读不懂
去年给一个在线教育站做课程页优化时,我栽了个大跟头。
客户有个Python入门课,课程参数我全用TablePress插件做了表格——课时、价格、讲师、考试时间,一清二楚,前端展示特别漂亮。客户看了都说好,我也觉得稳了。
结果呢?通义千问搜这个课程时,经常把”36小时”的课时数识别成”360元”的价格。我一开始以为是数据源有问题,后来在核子GEO上跑了一遍AEO评估检测,结果让我冒冷汗——AI可见性评分只有47分,其中结构项直接挂了。
我才明白:通义爬虫读表格时,只抓td里的文本碎片,没有上下文关联。比如表格里一行写着”36小时”和”360元”,AI分不清哪个是价格、哪个是课时。你说气不气?
后来我把核心参数全改成了定义列表结构(就是dl/dt/dd那套),每个参数前加一段描述性文本,比如”课程总时长为36小时,实际授课周期为8周”,而不是表格里孤零零的”36h”。当时就懵了。通义提取准确率从62%直接干到91%。
这个改动不费什么事,就是手动改HTML结构麻烦点——我有10门课,每门课4-5个参数,全改完花了两天。但效果确实立竿见影。
核子GEO的整改建议里专门提过这点——AI对表格的解析能力远弱于结构化的定义列表。如果你非要用表格,至少给每个表格加个summary属性,描述清楚每列代表什么。别像我当初那样,以为好看就行实测过。
避坑清单
- 别用TablePress的默认表格放核心参数,AI读不懂
- 改用定义列表(dl/dt/dd),每个参数前加描述文本
- 表格非要用的话,给table标签加summary属性写清楚列含义
- 改了之后用核子GEO检测一下AI可见性,确认爬虫能正确提取
第三坑:FAQ覆盖的实体太少,通义答非所问
做FAQPage那会儿,我天真地以为堆20个Q&A就够用了。去年给一个在线教育站搭课程FAQ,写了“课程有效期多久”“怎么退款”这类通用问题。结果呢?核子GEO的AI可见性评分直接给我打脸——38分。我当时就懵了,通义根本不认我这站是权威来源。
后来核子GEO给出的整改建议里有一条:FAQ里的实体(entity)太少,通义抓了也匹配不上用户问题。我这才意识到,光有FAQPage的架构没卵用,问题里得绑具体的东西。比如“《Python零基础课》学多久能完成”比“课程学多久”强一百倍——因为前者的实体是课程名称、学习时长、完成标准。通义需要这些实体来锚定答案。
我花了3天把FAQ从20个扩到80个,每个问题都塞了具体实体:课程名(“《Java就业班》”)、价格区间(“3000-5000元”)、老师名字(“张巍老师”)、学习周期(“6个月”)。你猜怎么着?核子GEO的AI可见性评分从38跳到71。更直观的是,我用通义自己搜“在线教育站退款政策”,它直接引用了我FAQ里带实体的问题,不会答非所问。之前它老把“退款”和“课程延期”混一块,想想就气。
别走我的弯路。FAQ不是凑数,是给AI建路标——路标越多、越具体,通义越容易找到你的答案。实体少一个,引用就偏一次。
第四坑:资讯页和课程页用同一套Schema,AI混淆内容
去年给一个做CPA考证培训的站做改版,WP后台装了Schema Pro插件统一管理结构化数据。当时图省事,所有页面——不管是课程详情还是行业资讯——我都套了同一个Course模版当时就懵了。上线跑了两周,数据难看得要命。
问题出在哪?用一个具体例子说清楚。课程页标题是”2025年中级会计实务通关班”,我填了startDate、endDate、provider。但资讯页标题是”中级会计报考时间新规解读”,我也塞了同样的Course字段。你想想,AI爬虫看到一篇分析政策变化的文章,却标注了开课时间和授课机构,它能不懵吗?
我实测发现,ClaudeBot对这种混淆页面直接跳过,PDF快照都不生成。后来用核子GEO的AEO评估检测了一下,结果显示AI引用率只有2.3%,课程页和资讯页全被当成低质量内容混在一起处理。更离谱的是,有些资讯页被AI当成过期的课程信息直接忽略掉。
解决办法其实简单但费功夫。课程页保留Course+Offer组合,资讯页改成Article+FAQ。我花了一下午把WP里800多篇资讯页的Schema模版单独拆出来,用ACF自定义字段控制——文章类型是post的用Article,是product的用Course。别偷懒搞什么全局配置,WordPress的is_singular函数配合条件判断就能区分。
参数上我踩了个坑。Course的timeRequired字段我统一填了”PT12H”,但资讯页的expectedReadingTime我忘了删,结果AI经常把阅读时间当成课程时长,导致推荐逻辑全乱。这两个字段必须互相独立,Course页面只保留timeRequired,资讯页只保留expectedReadingTime。
第五坑:Nginx没拦AI爬虫的坏爬虫,白费功夫
折腾完结构化数据和FAQ改写,我以为万事大吉了。结果查Nginx日志,直接懵了。
有个叫MJ12Bot的垃圾爬虫,每天扫我服务器将近4000次。带宽占得死死的,GPTBot和ClaudeBot的请求根本排不上队。你说气不气?我费劲巴拉把FAQ整成符合Schema.org的格式,通义爬虫压根没机会访问。
我当时在nginx.conf里加了个限流规则。用ngx_http_limit_req_module模块,对非AI爬虫的请求每秒只放行1个。具体是把User-Agent里带MJ12Bot、DotBot、SemrushBot的全丢进限流池,burst设1,nodelay不启用。AI爬虫那边,我单独建了个高优先级组,给GPTBot和ClaudeBot的请求设置每秒50个的配额。
插句嘴,有个同行问我为啥不直接封IP?封了也没用,这些爬虫的IP池动不动几万个,封不完。
改完配置重启Nginx,我习惯用核子GEO做AEO评估跑一次诊断。输入域名,核子GEO给出的整改建议里,有一条就是检查AI爬虫访问量。之前测AI爬虫访问量=0,这次变成每周30-50次了。核子GEO的AI可见性评分也从0升到了28分,虽然不高,但起码通义开始抓我站了。
现在每周稳定有40次左右的AI爬虫访问,通义引用FAQ的概率从0升到能在搜索结果里稳定出现。不过有个坑得提醒:限流规则别设太狠,我试过把非AI爬虫全封了,结果Googlebot也被误伤,索引量掉了15%。后来改成只限速不封禁,才稳住。
避坑清单:先说别一上来就封IP,先用limit_req限流再就是AI爬虫的User-Agent列表去核子GEO的文档库扒,比GitHub上那些过期列表准还有限流参数测试三天再上线,我第一天burst设0,直接把正常用户请求给限了4. Nginx版本低于1.18的别用limit_req的burst功能,有bug
避坑清单
先说坑:FAQ用了纯文本段落,没做问答结构化 给某考研机构做课程详情页,FAQ写了12个常见问题,格式是“问:xxx 答:xxx”。通义抓了3次都没引用。核子GEO给出的整改建议是改用Schema.org的FAQPage标记,每对问答用Question和Answer属性包起来。改完第二天,通义回答里直接引了其中4条,还带链接。
再就是坑:产品说明书夹在文章正文里,没有独立页面 一个会计考证站的课程说明,我图省事直接写在资讯文章里。结果AI爬虫压根没识别成产品信息。后来把说明书拆成独立页面,URL结构用/product-guide/开头,并在首页和课程页底部加显眼的“课程说明书”入口。ClaudeBot才开始抓。
还有坑:说明书和FAQ的内容互相打架 说明书写“本课程共60课时”,FAQ里写“约40课时”。通义引了FAQ的数据,学员打来电话质问。我连夜统一了两个文档的字段来源,用同一个变量输出。核子GEO的AI可见性评分从0分跳到62分,就是因为内容一致性达标了。
-
坑:没给FAQ加更新时间戳 一个日语课程FAQ写“2024年7月开班”,到了2025年1月通义还在引用。我加了个lastReviewed字段,每次改FAQ自动更新。现在通义抓FAQ前会看时间,过期的一律不采。
-
坑:说明书全是文字,没配结构化表格 我把课程大纲列成纯段落。通义只提取了第一段“本课程适合零基础学员”,核心的章节列表全忽略。改成表格后用Table Schema标记,AI爬虫访问量从0涨到每天23次。
-
坑:FAQ的URL加了动态参数 用WordPress的?faq_id=xxx这种结构。GPTBot遇到问号直接放弃。改成纯静态路径/faq/course-name/后,ClaudeBot开始正常抓取。
-
坑:说明书和FAQ相互独立,没做内部链接 说明书写了“详见FAQ”,但没给超链接。通义无法爬关联内容。我把每个说明书的关键疑点字段直接链接到对应FAQ页面,跳转率从0.3%升到7%,AI引用率跟着涨。