为什么我的网站没有出现在 Perplexity 中?
Perplexity 只能展示并链接 PerplexityBot 被允许抓取、并且实际拿到的页面。常见原因有三个:robots.txt 规则禁止了 PerplexityBot;防火墙或 CDN 对它返回 403 或验证页面;文本只有在 JavaScript 运行后才会出现。请逐一检查,然后放行 Perplexity 公布的 IP 范围。
你向 Perplexity 询问自己的产品,它引用的却是竞争对手、评测网站或论坛帖子,唯独没有你自己的页面。有时这是相关性问题,但更常见的是几分钟就能找到的技术性阻碍。Perplexity 公开说明了它使用哪些代理、各自的作用以及流量来自哪里,所以链条上的每一环都可以检查:robots.txt、你的服务器发出的响应,以及响应的内容。
本页内容
Perplexity 如何发现并读取页面?
Perplexity 公开说明了两个代理。它们的职责不同,任何一个出问题,都可能让你的页面无法出现在回答中。
PerplexityBot旨在在 Perplexity 的搜索结果中展示并链接网站。Perplexity 建议,如果你希望出现在其中,就在 robots.txt 中允许它,并表示它不用于抓取内容来训练 AI 基础模型。Perplexity-User用于支持用户操作。当有人提问时,它可能会访问某个页面来帮助回答,并链接到该页面。Perplexity 表示它不用于网络爬取,也不用于收集训练数据。
实际上,PerplexityBot 决定 Perplexity 在有人提问之前是否知道你的页面,而 Perplexity-User 决定当问题需要时它能否实时打开某个页面。如果你希望被引用,两者拿到的页面都应当与浏览器拿到的相同。
你的 robots.txt 是否屏蔽了 PerplexityBot?
打开 https://yourdomain.com/robots.txt,查找指明 PerplexityBot 的规则组。如果没有,爬虫会遵循 User-agent: * 规则组。根据 RFC 9309,匹配不区分大小写,而且指明名称的规则组会完全取代 * 规则组,而不是在其基础上叠加。
这种屏蔽很常见。在我们对最受欢迎的 1,000 个域名的 robots.txt 所做的研究中,在提供 robots.txt 的 518 个网站里,有 86 个(16.6%)对 PerplexityBot 禁止了首页。这是我们测试的所有 AI 搜索爬虫中比例最高的;OAI-SearchBot 在 58 个网站(11.2%)被屏蔽。其中一些网站可能本意是阻止 AI 训练,但 Perplexity 表示 PerplexityBot 不是训练爬虫,所以屏蔽它只会损失搜索可见性,达不到那个目的。
允许 Perplexity 进入、同时保持私有区域关闭的设置如下:
User-agent: PerplexityBot
Allow: /
Disallow: /account/
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
还要检查这个文件本身能否正确响应。如果 robots.txt 返回服务器错误,RFC 9309 规定爬虫必须假定整个网站都被禁止。robots.txt 地址如果以状态码 200 返回一个 HTML 页面,其中不包含任何有效规则。Perplexity 表示,更改最多可能需要 24 小时才会生效。
你的防火墙或 CDN 是否屏蔽了 Perplexity?
robots.txt 只是请求,不是访问控制。真正决定返回什么的是你的防火墙、CDN 或机器人防护,它们可以对 Perplexity 返回 403、429 或验证页面,而你自己用浏览器访问时一切正常。Perplexity 的文档指出,位于 Web 应用防火墙(WAF)之后的网站可能需要明确放行它的机器人。
测试方法是分别以浏览器和每个 Perplexity 代理的身份请求同一个 URL,然后比较状态码和响应大小:
for UA in "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" \
"Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" \
"Mozilla/5.0 (compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)"; do
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" -A "$UA" https://example.com/page
done
只有 Perplexity 代理收到 403、429 或 503,页面标题为 Just a moment...,或者返回的 200 响应比浏览器的小得多,这些都指向防火墙。这个测试来自你自己的 IP 地址,而不是 Perplexity 的,所以它只能说明你的规则如何对待这个 user agent;对真正的爬虫,基于 IP 的规则仍可能有不同的结果。
如果你使用 Cloudflare,请注意两点。Perplexity 的文档转述了 Cloudflare 自己的说法:WAF 自定义规则无法跳过 Bot Fight Mode,所以如果该功能对 Perplexity 发起验证,放行规则也无济于事。此外,2025 年 8 月,Cloudflare 表示在观察到其所称的未声明爬取行为后,已将 Perplexity 从已验证机器人列表中移除;Perplexity 对这一说法提出异议。因此,只放行已验证机器人的规则可能并不涵盖 Perplexity。请在你的控制台中查看当前状态,而不要想当然。
如何按 Perplexity 公布的 IP 范围放行?
任何人都可以发送自称是 PerplexityBot 的请求,所以只按 user agent 匹配的放行规则也会放进冒充者。Perplexity 公布了两个代理的地址范围,并建议同时匹配 user agent 和 IP 地址:
curl -s https://www.perplexity.ai/perplexitybot.json | jq -r '.prefixes[] | .ipv4Prefix // .ipv6Prefix'
curl -s https://www.perplexity.ai/perplexity-user.json | jq -r '.prefixes[] | .ipv4Prefix // .ipv6Prefix'
Perplexity 表示这些列表会定期更新,并建议将 WAF 规则的更新自动化。请把放行规则放在所有拦截或验证请求的规则之前:在 Cloudflare 的自定义规则中放在第一位,在 AWS WAF 中则使用更小的优先级数字。然后观察你的日志,因为防火墙的更改可能需要一段时间才能生效。
JavaScript 渲染会让 Perplexity 读不到页面吗?
有可能。Perplexity 的爬虫文档没有说明它的代理是否执行 JavaScript,所以稳妥的假设是:爬虫需要的文本应该包含在服务器发送的 HTML 中。完全在浏览器中构建的页面,例如没有服务端渲染的单页应用,到达时可能只是一个带有加载动画的空壳。
快速检查的办法是用 curl 获取页面,然后在输出中搜索主要内容里的一句话。如果找不到,说明文本是由脚本添加的。服务端渲染、静态生成或面向爬虫的预渲染,可以一次性解决所有 AI 爬虫的问题,而不只是 Perplexity。
如果一切都已开放,网站仍然没有出现怎么办?
可被读取是前提条件,而不是保证。Perplexity 没有公布它如何选择引用来源,所以即使每个代理都能读取的页面,也仍可能输给更直接回答问题的页面。你能控制的是不让任何技术问题挡路:清晰的页面标题、在文本前部给出答案,以及与你在别处所说一致的准确事实。
也要记住 robots.txt 不涵盖的情况。Perplexity 表示,由于是用户请求了抓取,Perplexity-User 通常会忽略 robots.txt。因此,针对 Perplexity-User 的规则并不是阻止实时访问的可靠办法,而允许它的 robots.txt 也不能证明它能通过你的防火墙。
AISeeWhy 会以 PerplexityBot、Perplexity-User 和另外 12 个爬虫的身份,连同浏览器一起请求你的页面,对每个爬虫应用你的 robots.txt 规则,识别验证页面,并显示不运行 JavaScript 时能收到多少文本,让你看清链条上哪一环出了问题。
常见问题
Perplexity 会用我的内容训练模型吗?
Perplexity 表示,PerplexityBot 不用于抓取内容来训练 AI 基础模型,Perplexity-User 也不会为训练收集内容。因此禁止 PerplexityBot 并不能作为退出训练的手段,只会降低你在 Perplexity 搜索结果中的可见性。
修复 robots.txt 后,Perplexity 多久会发现?
Perplexity 表示,其系统可能需要最多 24 小时才能反映 robots.txt 的更改。防火墙的更改在服务商应用后生效,但在判断结果之前,请给爬虫留出回访的时间。
可以用 robots.txt 屏蔽 Perplexity-User 吗?
不可靠。Perplexity 表示,由于是用户请求了抓取,这个抓取器通常会忽略 robots.txt。如果需要阻止它,按其公布的 IP 范围匹配的防火墙规则才是可靠的控制手段。
只检查 user agent 足以识别 Perplexity 的流量吗?
不够。User agent 很容易被复制。请把来源 IP 与 Perplexity 在 perplexitybot.json 和 perplexity-user.json 中公布的范围进行比对,并在防火墙规则中同时匹配 user agent 和 IP。
参考资料
- Perplexity:Perplexity 爬虫
- RFC 9309:Robots Exclusion Protocol
- Cloudflare:Bot Fight Mode
- Cloudflare:Perplexity 使用隐蔽的未声明爬虫来规避网站的禁止爬取指令
- Perplexity:是代理还是机器人?理解开放网络上的 AI
- AISeeWhy:AI 爬虫访问报告,2026-11