Perplexity의 크롤러: PerplexityBot과 Perplexity-User
Perplexity는 검색 결과에 웹사이트를 표시하고 연결하기 위해 PerplexityBot을, 사용자의 질문에 필요할 때 페이지를 방문하기 위해 Perplexity-User를 사용합니다. Perplexity에 따르면 PerplexityBot은 robots.txt를 따르고 기반 모델 학습에 쓰이지 않으며, Perplexity-User는 사용자가 요청한 가져오기이기 때문에 일반적으로 robots.txt를 무시합니다.
Perplexity는 인용을 중심으로 만들어져 있어서, 답변에 근거가 된 페이지로 가는 번호가 붙은 링크가 함께 제공됩니다. 크롤러 문서는 짧지만, 어떤 에이전트가 robots.txt를 따르고 어떤 에이전트는 따르지 않는지 분명하게 밝힙니다. 이 차이에 따라 둘 중 하나를 제어하려 할 때 어떤 도구를 써야 하는지가 정해집니다.
이 글의 목차
PerplexityBot은 무엇을 하나요?
PerplexityBot은 Perplexity의 검색 결과에 웹사이트를 표시하고 연결하도록 설계되었습니다. Perplexity는 이것이 AI 기반 모델을 위한 콘텐츠 크롤링에 쓰이지 않는다고 밝힙니다. Perplexity의 검색 결과에 나타나려면 robots.txt에서 PerplexityBot을 허용하라고 권합니다.
Perplexity는 다음 user agent를 문서화하고 있습니다.
Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
버전 번호는 바뀔 수 있으므로 방화벽 규칙은 PerplexityBot 토큰으로 일치시켜야 합니다. Perplexity는 IP 대역을 perplexity.ai/perplexitybot.json에 공개합니다.
Perplexity-User는 무엇을 하나요?
Perplexity-User는 사용자 동작을 지원합니다. 누군가 Perplexity에 질문하면, 정확한 답변을 위해 웹 페이지를 방문하고 그 페이지로 가는 링크를 포함할 수 있습니다. Perplexity는 이것이 웹 크롤링이나 학습 데이터 수집에 쓰이지 않는다고 밝힙니다.
문서화된 user agent는 Mozilla/5.0 (compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)이고, IP 대역은 perplexity.ai/perplexity-user.json에 공개되어 있습니다.
robots.txt는 무엇을 제어하고 무엇은 제어하지 못하나요?
이것이 핵심입니다. Perplexity는 사용자가 가져오기를 요청한 것이므로 Perplexity-User가 일반적으로 robots.txt 규칙을 무시한다고 밝힙니다. PerplexityBot에 대한 robots.txt 그룹은 검색용 색인에 영향을 주지만, 사용자를 대신한 실시간 가져오기를 확실하게 막지는 못합니다.
- robots.txt에서
PerplexityBot차단: 페이지가 Perplexity의 검색 색인을 위해 크롤링되지 않으므로 표시되고 연결될 가능성이 줄어듭니다. - robots.txt에서
Perplexity-User차단: Perplexity 문서에 따르면 이 에이전트는 일반적으로 이를 무시하므로 믿을 만한 제어 수단이 아닙니다. - 방화벽에서
Perplexity-User차단: 가져오기가 실패하고, 내 페이지에 대해 묻는 사용자는 그 페이지 없이 답변을 받습니다. - 둘 다 허용: Perplexity가 내 페이지를 색인할 수 있고 사용자가 물을 때 실시간으로 읽을 수 있습니다.
Perplexity는 robots.txt의 각 설정이 독립적으로 작동하며 변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있다고 밝힙니다.
Perplexity는 ChatGPT, Claude와 어떻게 다른가요?
세 벤더 모두 검색 크롤러와 사용자 요청 가져오기 에이전트를 분리합니다. Perplexity를 구별하는 점은 두 가지입니다. 첫째, 별도의 학습 크롤러를 운영하지 않습니다. PerplexityBot이 AI 기반 모델을 위한 콘텐츠 크롤링에 쓰이지 않는다고 밝히므로, 학습에 대해 선택할 토큰이 없습니다. 둘째, 사용자 요청 가져오기 에이전트가 일반적으로 robots.txt를 무시한다고 분명히 밝힙니다. 반면 OpenAI는 ChatGPT-User에 robots.txt가 적용되지 않을 수 있다고 하고, Anthropic은 Claude-User를 포함한 자사 봇이 robots.txt를 따른다고 합니다.
실제로는 robots.txt에서 Perplexity의 검색 크롤러에 대해 한 번 결정하고, 사용자 요청 가져오기를 막고 싶을 때만 방화벽에서 결정하면 된다는 뜻입니다.
Perplexity용 robots.txt는 어떻게 쓰나요?
인용되기를 원한다면 검색 크롤러를 명시적으로 허용하세요. 이름을 지정한 그룹은 *의 규칙을 상속하지 않으므로, 비공개 경로를 반복해서 적어야 합니다.
User-agent: PerplexityBot
Allow: /
Disallow: /account/
User-agent: *
Allow: /
Disallow: /account/
PerplexityBot은 학습 크롤러가 아니므로, 모델 학습을 거부하려고 차단하면 그 목적은 이루지 못하고 검색 노출만 잃게 됩니다.
robots.txt에 사이트맵을 적는다면 Sitemap: 줄은 어떤 그룹 밖이나 파일 끝에 두세요. 이 줄은 모든 크롤러에 적용됩니다. 또한 사이트맵 자체가 방화벽에 막히지 않았는지 확인하세요. 사이트맵을 가져올 수 없는 크롤러는 이를 이용해 새 페이지나 변경된 페이지를 찾을 수 없습니다.
방화벽이 Perplexity를 차단하지 않는지 어떻게 확인하나요?
봇 차단 기능은 브라우저가 아닌 모든 요청을 의심스럽게 보는 경우가 많습니다. Perplexity의 각 user agent로 페이지를 요청하고 응답을 브라우저 요청과 비교하세요. 크롤러가 403, 429, 확인 페이지를 받는다면, 토큰과 가능하면 공개된 IP 대역에 일치하는 허용 규칙을 추가해 실제 Perplexity 트래픽만 통과하게 하세요. Cloudflare에서는 AI Crawl Control이 AI 크롤러를 나열하며 각각에 Allow 또는 Block 동작을 둘 수 있습니다.
user agent를 믿지 말고 검증하세요. 누구나 PerplexityBot이라고 밝힌 요청을 보낼 수 있으므로, user agent만 기준으로 한 허용 규칙은 흉내 내는 쪽도 통과시키고, 그것을 기준으로 한 차단은 피해 갈 수 있습니다. 출발지 IP를 Perplexity가 공개한 목록과 대조하면 두 종류의 규칙 모두 믿을 수 있게 됩니다.
AISeeWhy는 PerplexityBot과 Perplexity-User를 다른 12개 크롤러와 함께 테스트합니다. 둘 다 Perplexity가 답변에 내 페이지를 사용할 수 있는지를 좌우하므로, 둘 중 하나라도 차단되면 P1로 보고하고 해결을 위한 규칙을 제시합니다.
자주 묻는 질문
Perplexity는 내 콘텐츠를 AI 모델 학습에 사용하나요?
Perplexity는 PerplexityBot도 Perplexity-User도 AI 기반 모델 학습을 위한 콘텐츠 수집에 쓰이지 않는다고 밝힙니다.
Perplexity-User는 왜 robots.txt를 무시하나요?
Perplexity의 논리는 사용자가 그 페이지를 요청했으므로, 가져오기가 자동화된 크롤링이 아니라 그 사용자를 대신한 행위라는 것입니다. 문서는 그 이유로 이 에이전트가 일반적으로 robots.txt를 무시한다고 설명합니다.
필요하다면 Perplexity-User는 어떻게 차단하나요?
방화벽이나 CDN을 사용하여 user agent 토큰과 Perplexity가 공개한 IP 대역으로 일치시키세요. 이 에이전트에 대해 robots.txt는 믿을 만한 제어 수단이 아닙니다.
robots.txt 변경이 적용되기까지 얼마나 걸리나요?
Perplexity에 따르면 시스템에 변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있습니다.
PerplexityBot을 차단하면 Perplexity가 내 콘텐츠를 전혀 사용하지 않게 되나요?
아닙니다. Perplexity의 검색 색인을 위한 크롤링에서는 내 페이지가 빠지지만, 사용자가 그 페이지에 대해 물으면 Perplexity-User가 페이지를 가져올 수 있습니다. 이 에이전트는 일반적으로 robots.txt를 무시하기 때문입니다.
참고 자료
- Perplexity: Perplexity 크롤러
- RFC 9309: Robots Exclusion Protocol
- Cloudflare: AI 크롤러 관리 (AI Crawl Control)