你在 Perplexity 里问一句「国内做 AI 搜索可见度监测的工具哪家靠谱」,答案末尾挂着五个蓝色角标,点开是五家竞品的官网。你的站点不在里面,而你上周刚把 GPTBot 加进了 robots.txt 白名单,以为这件事已经办完了。
问题不在内容质量,而在 Perplexity 的引用链路和 ChatGPT 不是一套。它有两层抓取、两套规则,多数团队只处理了其中一层。下面七步按执行顺序排列,从服务器层一路做到内容层,每一步都能单独验证是否生效。
Perplexity 的引用由两个爬虫决定,规则并不相同
Perplexity 的可见度由两个独立爬虫分管:PerplexityBot 建索引供搜索结果展示,Perplexity-User 在用户提问时实时抓取网页,官方明确说明后者通常忽略 robots.txt。
官方文档把两者的分工写得很清楚。PerplexityBot 的定位是「在 Perplexity 搜索结果中呈现并链接网站」,并注明它不用于抓取内容训练基础模型;Perplexity-User 则是在用户提问时访问页面,帮它组织答案并附上链接。两个爬虫各自公布独立的 IP 段 JSON 端点,官方建议用这两个端点作为 WAF 配置的唯一依据(见 Perplexity Crawlers 文档)。
| User-Agent | 作用 | 是否遵守 robots.txt | 你要做的配置 |
|---|---|---|---|
| PerplexityBot | 建索引,供 Perplexity 搜索结果展示 | 遵守 | robots.txt 放行 + WAF 放行其 IP 段 |
| Perplexity-User | 用户提问时实时访问页面 | 通常忽略 | 单独放行,不受 robots 影响 |
这张表的实际含义是:robots.txt 只锁得住索引层,锁不住实时抓取层。如果站点同时被 WAF 拦着,两层会一起失效,而你在 robots 文件里看到的配置是「已放行」——这是最常见的误判,也是最容易白干一个月的地方。
第一步:在 robots.txt 放行 PerplexityBot,别只放行 GPTBot
只放行 GPTBot、Googlebot、Bingbot 而漏掉 PerplexityBot,是站点侧最常见的单点遗漏,改一行配置即可修复。
检查顺序建议固定:先看有没有 Disallow: / 这类全局封禁,再看有没有针对 AI 爬虫的分组,最后看是否被 CDN 的托管 robots 覆盖。很多托管平台会生成一份默认 robots.txt,你本地改的那份可能根本没生效。robots.txt 的语法与匹配规则以 RFC 9309 为准,通配符和最长匹配的行为都以它为准绳。
User-agent: PerplexityBot
Allow: /
放行之后不要只看 robots 文件本身,要回到线上 URL 实际抓一遍,确认返回的是你刚改的那一版。子目录级的 Disallow 比根目录更容易被忽略,尤其是 /blog/ 这类内容目录——恰好是你最希望被引用的地方。
第二步:修 WAF 层,否则放行了也抓不到
robots.txt 放行只是「允许」,WAF 放行才是「能进来」;官方文档明确提醒,Cloudflare 的 Bot Fight Mode 无法被 WAF 自定义规则跳过。
Perplexity 官方给出了 Cloudflare 与 AWS WAF 的配置路径,核心逻辑一致:用 User-Agent 匹配叠加官方 IP 段校验,规则动作设为跳过(Skip)或允许(Allow),并且必须排在阻断规则之前。Cloudflare 场景有个坑要提前知道:Bot Fight Mode 不受自定义规则控制,如果它开着,即使你的 Skip 规则配置正确,PerplexityBot 仍可能被挑战。要彻底放行,得先关掉 Bot Fight Mode,或者升级到可配置的 Bot Management。
IP 段不要写死在配置里。官方把 PerplexityBot 的地址清单发布为 perplexitybot.json 端点,并说明地址会定期更新,建议用定时任务拉取后自动刷新规则。写死 IP 的后果是几个月后静默失效,日志里看不出异常,只是引用量慢慢归零。
第三步:把每个 H2 的第一段写成能单独摘走的结论句
AI 引擎摘取的最小单位是段落,不是整页;每个 H2 下的第一段写成 40–80 字的完整结论,被引用的概率显著高于铺垫式开头。
对照一下就明白差别在哪。铺垫式写法是「随着 AI 搜索的普及,越来越多的企业开始关注品牌在 AI 答案中的表现,这背后涉及一系列复杂的机制……」——这段话脱离上下文就没有信息量,模型无法直接引用。结论式写法是「Perplexity 每次回答都附来源链接,因此它的引用变化比 ChatGPT 更容易观测」——这句话自带主语、判断和边界,摘出来就能用。
具体做法有三条。第一,每个 H2 首段控制在两三句内,第一句给判断,后面给依据。第二,把并列信息改成列表或表格,模型解析结构化列表的准确率高于长句堆叠。第三,关键定义只写一次,全站用同一个措辞,反复换说法会让实体识别变模糊。这套写法在 面向 AI 的内容写作 里有更细的拆解。
第四步:结构化数据与实体一致性
结构化数据不会直接换来引用,但它降低了引擎理解页面结构的成本,FAQPage 与 Article 是最值得先做的两类。
优先顺序建议是:Organization(品牌名、logo、sameAs 社交与工商主页)→ Article(作者、发布时间、修改时间)→ FAQPage(问答对)。schema.org 的 FAQPage 规范 要求问答必须与页面可见内容一致,把隐藏的 FAQ 塞进 JSON-LD 属于违规,被识别后反而损害可信度。
实体一致性比标记本身更容易被忽略。品牌名在官网、公众号、LinkedIn、行业目录里如果出现三种写法,引擎会把它们当成三个实体,权重被摊薄。统一写法、统一一句话定位,比多加十个 schema 字段有用。判断标准很朴素:把你品牌名丢进任意 AI 搜索,看它给出的描述是否和你官网上那句定位一致。
第五步:搞清 llms.txt 的真实作用边界
llms.txt 是社区提案而非正式标准,Perplexity 官方文档没有承诺读取它,把它当成主方案会落空,当成补充手段才合理。
llmstxt.org 提出的方案是在站点根目录放一个 Markdown 文件,列出核心页面与简介,方便大模型快速了解站点结构。它的价值在于降低理解成本,但它不替代 robots.txt,也不保证任何引擎一定抓取。目前更稳妥的做法是:llms.txt 照写,成本很低;但排查引用问题时,先查 robots 和 WAF,最后才看 llms.txt。
如果你还没写过,llms.txt 实操指南 里有可直接套用的模板。写完记得在 sitemap 之外单独提交一次,让抓取端尽早发现这个文件。
第六步:用 20 条查询建立引用基线
没有基线就没有优化,最省事的做法是固定 20 条查询:10 条品类问题加 10 条品牌问题,每周同一时间跑一遍并记录引用结果。
品类问题测的是「你在不在候选集里」,比如「制造业出海怎么做 AI 搜索优化」;品牌问题测的是「AI 怎么描述你」,比如「AiVisible 是什么」。两类问题的失败原因完全不同:品类问题没出现,通常是内容结构或抓取问题;品牌问题描述错了,通常是实体信息不一致。混在一起看,就会把两种病当成一种治。
记录三列就够:是否被引用、引用的是哪个 URL、引用时用了哪句话。第三列最容易被跳过,但它决定了下一步改哪里——如果模型引用的是你两年前的旧页面,说明新页面还没进索引,问题在抓取而不是内容。批量跑查询可以借助 AI 可见度分数 的口径统一打分,避免每周标准漂移。
第七步:按引用缺口改写,而不是重写全站
优化的正确顺序是按缺口排序:先修「被引用但引错」的页面,再补「品类问题完全不出现」的页面,最后才做长尾扩量。
第一类缺口投入产出最高。页面已经被引用,说明抓取和索引都通了,只是某段表述过时或含糊,改一段话就能修正,通常一次改动就能在下一轮实时抓取里看到效果。第二类需要新增或重构页面,周期以周计。第三类最慢,适合在基线稳定后批量推进。
节奏上建议 30 天一个窗口:第 1 周修配置与抓取,第 2–3 周改内容结构,第 4 周复盘基线变化。不要按天看,索引层的更新周期不由你控制,单日波动基本都是噪声。完整的执行清单可以对照 GEO 优化检查清单 逐项打勾。
60 秒自检:五个问题定位你的瓶颈
五个问题按顺序问一遍,能在一分钟内判断瓶颈在抓取层还是内容层。
| 自检问题 | 否 → 瓶颈在 | 对应动作 |
|---|---|---|
| robots.txt 放行了 PerplexityBot 吗? | 抓取层 | 第一步 |
| WAF 放行了官方 IP 段吗? | 抓取层 | 第二步 |
| 每个 H2 首段是完整结论句吗? | 内容层 | 第三步 |
| 品牌描述在官网与外部渠道一致吗? | 实体层 | 第四步 |
| 你有 20 条固定查询的基线吗? | 度量层 | 第六步 |
五个问题里前两个是开关型的,没做就是零分,做完立刻生效;后三个是程度型的,需要持续迭代。多数站点卡在前两个而不自知,因为 robots 文件看起来是对的。
想跳过手工排查,可以直接用 AiVisible 跑一遍:输入品牌名和三个核心词,十分钟内拿到 Perplexity、ChatGPT、DeepSeek 等平台的引用现状与缺口清单,再回到上面七步按优先级改。
免费检测你的品牌在 Perplexity 的引用情况 → 打开 AI 可见度检测
常见问题(FAQ)
Perplexity 会遵守 robots.txt 吗?
要分爬虫看。PerplexityBot 用于建索引,会遵守 robots.txt;Perplexity-User 是用户提问时触发的实时抓取,官方说明它通常忽略 robots.txt。所以想控制索引层要改 robots,想控制实时抓取层要改 WAF。
加了 llms.txt 就能被 Perplexity 引用吗?
不能保证。llms.txt 是社区提案,不是正式标准,Perplexity 官方文档没有承诺读取该文件。它只能降低模型理解站点结构的成本,robots 配置、WAF 放行和内容可摘取性才是决定引用的主线。
需要为 Perplexity 单独做一个页面吗?
不需要。同一个 URL 可以服务所有 AI 引擎,为不同引擎复制页面会造成内容重复,反而稀释权重。正确做法是按可摘取结构改写现有页面,让同一份内容同时适配多个引擎。
Perplexity 的引用和 ChatGPT 有什么区别?
Perplexity 每次回答都附来源链接,引用是外显的,能直接看到被引用的 URL 和句子;ChatGPT 部分回答不带链接,引用更难观测。因此 Perplexity 的引用变化可以作为 GEO 效果的先行指标。
多久能看到引用变化?
分两层看。实时抓取层对页面可访问性和段落结构的改动反应较快;索引层的重抓周期由 Perplexity 控制,官方未公布固定频率。建议按 30 天窗口看趋势,不要用单日数据下结论。