Perplexity 봇 완전 가이드 (PerplexityBot · Perplexity-User)
Perplexity 봇이란
Perplexity AI는 2종의 웹 크롤러를 운영한다. 두 봇은 목적이 다르며, robots.txt에 대한 동작 방식도 공식적으로 다르게 명시되어 있다.
⚠️ 주의 Perplexity-User는 공식 문서에 "robots.txt를 일반적으로 무시한다"고 명시되어 있다. 2024년에는 PerplexityBot이 robots.txt를 무시한다는 외부 보도가 있었으며 Perplexity가 공식 입장을 발표한 이력이 있다. 이 글은 공식 문서와 공개된 보도를 기반으로 사실만 기술한다.
TL;DR
PerplexityBot(검색 인덱스)은 robots.txt를 준수하며 AI 학습에는 사용하지 않는다. Perplexity-User(사용자 브라우징)는 공식 문서에 'robots.txt를 일반적으로 무시한다'고 명시되어 있다. 완전 차단은 WAF와 IP 범위 차단을 병행해야 효과적이다.
봇별 식별 정보
아래 정보는 Perplexity 공식 문서(docs.perplexity.ai/guides/bots, 2026년 6월 확인)를 기반으로 한다.
| 봇 이름 | robots.txt 키 | 주 용도 | robots.txt 준수 |
|---|---|---|---|
| PerplexityBot | PerplexityBot | Perplexity 검색 인덱스 구축 | ✅ 준수 |
| Perplexity-User | Perplexity-User | 사용자 질문 처리 시 실시간 URL 방문 | ❌ 일반적으로 무시 (공식 명시) |
User-Agent 문자열 (공식 문서 기준):
# PerplexityBot
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
# Perplexity-User
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)
IP 범위 확인:
- PerplexityBot: https://www.perplexity.com/perplexitybot.json → https://www.perplexity.ai/perplexitybot.json (302 리다이렉트)
- Perplexity-User: https://www.perplexity.com/perplexity-user.json → https://www.perplexity.ai/perplexity-user.json (302 리다이렉트)
WAF IP 범위 자동화 스크립트에서는 최종 URL(perplexity.ai)을 사용하거나 리다이렉트 처리를 포함해야 한다.
봇별 동작 방식
PerplexityBot — 검색 인덱스
Perplexity 공식 문서는 PerplexityBot이 "검색 결과에 사이트와 링크를 노출하기 위해 설계된 봇"이라고 명시한다. 중요한 점은, PerplexityBot이 수집한 데이터는 AI 파운데이션 모델 학습에는 사용되지 않는다고 공식적으로 밝히고 있다.
Perplexity-User — 사용자 요청 기반
사용자가 Perplexity에서 질문을 던지면 Perplexity-User가 관련 URL을 실시간으로 방문해 답변 근거 데이터를 가져온다. Perplexity 공식 문서는 이 봇이 "robots.txt 규칙을 일반적으로 무시한다"고 명시하고 있다. 이유는 ChatGPT-User와 같은 논리로, 사용자 요청에 의한 방문이기 때문이다. 마찬가지로 AI 모델 학습에는 사용하지 않는다.
2024년 robots.txt 논란 — 사실 기반 요약
2024년 6월, Wired·Forbes 등 복수의 미디어가 Perplexity의 PerplexityBot이 robots.txt로 차단된 사이트들을 크롤링했다는 정황을 보도했다. 보도에 따르면 일부 퍼블리셔들이 robots.txt 설정에도 불구하고 Perplexity 트래픽을 로그에서 확인했다.
이에 대해 Perplexity CEO Aravind Srinivas는 공식 엑스(X) 계정을 통해 문제를 인정하고 정책 개선을 약속했다. 2024년 8월에는 퍼블리셔와의 수익 공유 프로그램을 발표했다.
이 논란은 현재 진행형이 아니며, Perplexity가 공식 대응 후 정책을 정비했다. 최신 공식 문서는 PerplexityBot의 robots.txt 준수를 명시하고 있다.
robots.txt 예시 3종
시나리오 A. 완전 허용
# 별도 설정 불필요. Perplexity 검색에 노출 유지.
시나리오 B. PerplexityBot만 차단 (검색 인덱스 제외)
User-agent: PerplexityBot
Disallow: /
# Perplexity-User는 공식적으로 robots.txt를 무시하므로
# 완전 차단을 위해서는 WAF + IP 차단 병행 필요
시나리오 C. 완전 차단 (WAF 병행 필요)
User-agent: PerplexityBot
Disallow: /
User-agent: Perplexity-User
Disallow: /
# robots.txt만으로 Perplexity-User 차단이 보장되지 않음
# 아래 IP 차단을 병행할 것:
# curl https://www.perplexity.com/perplexity-user.json
WAF를 활용한 강제 차단
Perplexity-User가 robots.txt를 무시하므로, 완전한 차단을 원한다면 WAF(웹 애플리케이션 방화벽) 설정이 필요하다. Perplexity 공식 문서는 Cloudflare와 AWS WAF 두 가지 구현 방법을 제공한다.
핵심 원칙: User-Agent 매칭 + IP 범위 검증을 반드시 함께 사용한다. User-Agent만 사용하면 스푸핑에 취약하고, IP만 사용하면 범위 변경 시 누락이 발생한다.
Cloudflare WAF 설정
Cloudflare 대시보드 → Security → WAF → Custom Rules에서 커스텀 규칙을 생성한다.
차단 규칙 (Block):
- 조건 1: HTTP User-Agent에 PerplexityBot 또는 Perplexity-User 포함
- 조건 2: 요청 IP가 공식 IP 범위 외부
- 두 조건을 AND로 결합: IP 범위 밖에서 오는 Perplexity User-Agent는 차단
허용 규칙 (Allow) — Perplexity 정식 봇 통과:
- 조건 1: User-Agent에 PerplexityBot 또는 Perplexity-User 포함
- 조건 2: 요청 IP가 공식 IP 범위 내부
- Action: Allow (다른 보안 규칙 우회)
- 우선순위: 차단 규칙보다 높게 설정
공식 IP 범위 JSON:
- PerplexityBot: https://www.perplexity.com/perplexitybot.json
- Perplexity-User: https://www.perplexity.com/perplexity-user.json
AWS WAF 설정
Perplexity 공식 문서 기준 3단계로 구성한다.
1단계: IP Set 생성
AWS WAF 콘솔 → IP sets에서 각 봇별 IP Set을 별도로 생성한다.
- PerplexityBot-IPs: perplexitybot.json에서 가져온 CIDR 목록
- PerplexityUser-IPs: perplexity-user.json에서 가져온 CIDR 목록
2단계: User-Agent String 조건 구성
각 봇의 User-Agent 헤더값을 매칭하는 조건을 생성한다.
- Header: user-agent
- Match type: Contains string
- Value: PerplexityBot (또는 Perplexity-User)
3단계: Rule + Web ACL 결합
IP Set 조건과 User-Agent 조건을 AND로 결합한 규칙을 Web ACL에 추가하고, 허용 규칙을 차단 규칙보다 우선순위 높게 설정한다.
IP 범위 자동 갱신
Perplexity는 IP 범위를 수시로 업데이트할 수 있다. 수동으로 관리하면 누락이 발생하므로, 공식 JSON 엔드포인트를 정기적으로 폴링해 IP Set을 자동 갱신하는 스크립트를 구성하는 것이 권장된다.
# IP 범위 현황 확인
curl -s https://www.perplexity.com/perplexitybot.json
curl -s https://www.perplexity.com/perplexity-user.json
권장 시나리오
Perplexity 검색 노출을 원하는 경우: 시나리오 A. PerplexityBot이 수집해야 검색 결과에 노출된다.
학습 차단·인용 허용: PerplexityBot의 데이터는 AI 학습에 사용되지 않는다고 공식 명시되므로, 인덱스 차단 없이는 학습 차단 설정이 별도로 필요하지 않다.
완전 차단: robots.txt + WAF + IP 차단을 모두 적용해야 한다. robots.txt만으로는 Perplexity-User가 보장되지 않는다.
검증 방법 — 의심 트래픽 식별
# 서버 로그에서 Perplexity 봇 필터링
grep -iE "PerplexityBot|Perplexity-User" /var/log/nginx/access.log \
| awk '{print $4, $7, $12}' | tail -50
# robots.txt 차단 후에도 Perplexity-User 트래픽이 보이면
# WAF 설정 추가를 검토
자주 묻는 질문
Q. PerplexityBot을 차단하면 Perplexity 답변에 안 나오나요?
A. Perplexity 검색 인덱스에서 제외된다. 그러나 Perplexity-User는 robots.txt를 무시하므로, 사용자가 직접 해당 URL을 질문에 포함하면 여전히 접근될 수 있다.
Q. 2024년 논란 이후 Perplexity가 정말 바뀌었나요?
A. Perplexity 공식 문서는 PerplexityBot의 robots.txt 준수를 명시하고 있다. 그러나 Perplexity-User는 여전히 "robots.txt를 일반적으로 무시한다"고 공식 문서에 명시되어 있다. 완전한 차단이 목적이라면 WAF 병행이 필요하다.
Q. PerplexityBot이 수집한 데이터가 AI 학습에 쓰이나요?
A. 공식 문서는 PerplexityBot과 Perplexity-User 모두 "AI 파운데이션 모델 학습에 사용되지 않는다"고 명시한다.
Q. Perplexity 출처 리스트에서 내 사이트가 보이지 않으려면?
A. PerplexityBot을 차단하면 검색 인덱스에서 제외되어 출처 리스트에 노출될 가능성이 낮아진다. 그러나 사용자가 직접 URL을 질문에 포함하는 경우는 통제하기 어렵다.
참고
- Perplexity 공식 봇 문서: https://docs.perplexity.ai/guides/bots (2026년 6월 확인)
- PerplexityBot IP 범위: https://www.perplexity.com/perplexitybot.json
- Perplexity-User IP 범위: https://www.perplexity.com/perplexity-user.json
- Wired (2024.06). Perplexity Is a Bullshit Machine. https://www.wired.com/story/perplexity-is-a-bullshit-machine/