排查 AI 本地搜索流量下滑,按这个顺序走:先确认是 AI 渠道独跌而不是全站波动,再依次检查 robots/WAF 放行、NAP 一致性、LocalBusiness 结构化数据、首屏可引用答案块,最后做引用复现测试。这套流程在 4 个检查点上就能定位九成以上的 GEO 信号异常。
怎么确认流量下滑是 GEO 信号问题,而不是季节波动或全站故障?
结论:只有当 AI 渠道流量在 14 天窗口内跌幅超过 30%,且自然搜索和直接访问未同步下滑时,才判定为 GEO 信号异常。
具体做法:在 GA4 的「管理 → 数据展示 → 渠道组」里新建自定义渠道组,把 chatgpt.com、perplexity.ai、copilot.microsoft.com、doubao.com、kimi.moonshot.cn、yuanbao.tencent.com 这些 referrer 域名归入「AI 搜索」渠道,因为 GA4 默认把它们全算进 Referral,不单独拆出来根本看不出问题。
拆出来之后做三件事:一是对比最近 7 天与前 28 天的日均会话数;二是按品牌词和非品牌词分开看,品牌词跌说明是实体信号出问题,非品牌词跌说明是内容可引用性出问题;三是检查服务器日志有没有新增 5xx 或 429 响应。如果自然搜索和直接访问同步下跌,先修服务器,别往 GEO 方向查。
robots.txt 和 WAF 为什么是本地 AI 流量的第一杀手?
结论:AI 爬虫被 CDN 或 WAF 按 User-Agent 拦截,是本地 AI 流量断崖式下跌最常见的原因,且往往在运维改过一次安全策略后才暴露。
先确认 robots.txt 放行了这几类爬虫:GPTBot、OAI-SearchBot、ChatGPT-User、PerplexityBot、Google-Extended、ClaudeBot、Bytespider。任何一条写成 Disallow: /,对应的 AI 引擎就不会再引用你的本地页面。
然后用命令行实测放行状态:
curl -I -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" https://你的域名/
curl -I -A "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" https://你的域名/
返回码必须是 200。出现 403、406 或 429,说明 Cloudflare、阿里云 WAF、腾讯云 EdgeOne 之类的防护层把爬虫挡在了外面——这类拦截经常只对特定 UA 生效,普通浏览器测试完全看不出来。修复方式是在 WAF 的 Bot 管理里把上述 UA 加白名单。
NAP 不一致会怎样影响 AI 本地推荐?
结论:NAP(Name、Address、Phone,即名称、地址、电话)在官网、地图平台、点评平台之间不一致,会让 AI 引擎无法把多个来源归并成同一个实体,直接导致本地推荐里不出现你的门店。
排查时至少核验 5 个来源:官网页脚、Google Business Profile、百度地图、高德地图、大众点评。逐字比对,注意这几类高频差异:门店名是否带「(XX路店)」后缀、地址里的「号」和「弄」是否统一、电话是否一个写成 400 一个写成手机号。
实体合并的粘合剂是 sameAs 字段。在 Organization 或 LocalBusiness 的 JSON-LD 里,sameAs 数组至少放 3 个平台主页链接,指向地图页、官方社媒、点评页。sameAs 为空是中小商户站点最普遍的缺失项。
LocalBusiness 结构化数据要检查哪几个字段?
结论:用 Google Rich Results Test 或 Schema Markup Validator 跑一遍,重点看 address 是否拆成 5 个子字段、geo 坐标是否填写、openingHoursSpecification 是否用标准格式。
最常见的错误是把 address 写成一整串字符串。正确写法必须拆开:
"address": {
"@type": "PostalAddress",
"streetAddress": "XX路 88 号 3 层",
"addressLocality": "杭州市",
"addressRegion": "浙江省",
"postalCode": "310000",
"addressCountry": "CN"
}
另外三个必填信号:geo 里的 latitude 和 longitude 精确到小数点后 6 位;openingHoursSpecification 用 opens/closes 的 24 小时制写法;priceRange 填「¥¥」这类符号区间。服务范围类商户再加 areaServed,列出覆盖的行政区名。
内容怎么写才容易被 AI 引用?
结论:AI 引擎抓取和引用的是能独立成句的短答案块,把关键事实放进页面首屏 300 字内、每块控制在 40 到 80 字,被引用概率最高。
三个硬性要求:营业时间、服务区域、价格区间这些本地高频问题,必须写在 HTML 源码里,不能只放在图片、iframe 或 JS 懒加载的模块里——主流 AI 爬虫不执行 JavaScript,懒加载内容等于不存在;每个答案块自带主语和谓语,比如写「本店营业时间为周一至周日 09:00-21:00,节假日不休」,而不是写「营业时间:见下方」;页面 URL 结构带城市和服务词,例如 /hangzhou/chuzu/。
改完之后做一次引用复现:在 Perplexity、AI Overviews、豆包里搜「品牌名 + 城市 + 服务词」,连续测 5 个查询,看答案里是否还带你的门店信息和来源链接。这一步是唯一能直接验证 GEO 信号是否恢复的方法。
排查优先级怎么排?
结论:按「robots 与 WAF 放行 → NAP 一致性 → schema 校验 → 首屏可引用块 → 引用复现」的顺序执行,每步留一次变更记录,方便回溯是哪次改动引起的下跌。前三步是阻断性问题,修复后 3 到 7 天能看到 AI 渠道会话数回升;后两步是增量优化,见效周期通常 14 到 30 天。
把这五步固化成一份检查表,每次运维改过安全策略、改过站点结构、换过域名之后都跑一遍,能挡掉绝大多数莫名其妙的本地 AI 流量下滑。