내 사이트가 Perplexity에 나타나지 않는 이유
Perplexity는 PerplexityBot이 크롤링할 수 있고 실제로 응답을 받은 페이지만 표시하고 링크할 수 있습니다. 흔한 원인은 PerplexityBot을 차단하는 robots.txt 규칙, 이 크롤러에 403이나 확인 페이지로 응답하는 방화벽 또는 CDN, 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에 따라 크롤러는 사이트 전체가 차단된 것으로 간주해야 합니다. 상태 코드 200으로 HTML 페이지를 반환하는 robots.txt 주소에는 유효한 규칙이 없습니다. Perplexity는 변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있다고 밝힙니다.
방화벽이나 CDN이 Perplexity를 차단하고 있나요?
robots.txt는 요청일 뿐 접근 제어가 아닙니다. 실제로 무엇을 돌려보낼지는 방화벽, CDN, 봇 보호 기능이 정하며, 내가 브라우저로 접속할 때는 정상으로 보이는 동안 Perplexity에는 403, 429 또는 확인 페이지로 응답할 수 있습니다. Perplexity 문서는 웹 애플리케이션 방화벽 뒤에 있는 사이트는 자사 봇을 명시적으로 허용해야 할 수 있다고 안내합니다.
같은 URL을 브라우저와 각 Perplexity 에이전트로 요청해 상태 코드와 크기를 비교해 보세요.
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 응답이 브라우저가 받는 것보다 훨씬 작다면 모두 방화벽을 가리킵니다. 이 테스트는 Perplexity가 아니라 내 IP 주소에서 보내는 것이므로, 내 규칙이 user agent를 어떻게 다루는지만 보여 줍니다. 실제 크롤러에 대해서는 IP 기반 규칙이 다르게 적용될 수 있습니다.
Cloudflare를 사용한다면 두 가지를 알아 두세요. Perplexity 문서는 Bot Fight Mode를 WAF 사용자 지정 규칙으로 건너뛸 수 없다는 Cloudflare의 설명을 그대로 옮겨 놓았으므로, 이 기능이 Perplexity를 확인 페이지로 막는다면 허용 규칙은 도움이 되지 않습니다. 또한 2025년 8월 Cloudflare는 선언되지 않은 크롤링을 관찰했다며 Perplexity를 검증된 봇 목록에서 제외했다고 밝혔고, Perplexity는 이 설명에 이의를 제기했습니다. 따라서 검증된 봇만 통과시키는 규칙은 Perplexity를 포함하지 않을 수 있습니다. 추측하지 말고 대시보드에서 현재 상태를 확인하세요.
공개된 IP 대역으로 Perplexity를 허용하려면 어떻게 하나요?
누구나 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로 페이지를 가져와 출력에서 본문의 한 문장을 검색하는 것입니다. 없다면 그 텍스트는 스크립트가 추가한 것입니다. 서버 측 렌더링, 정적 생성, 또는 크롤러용 프리렌더링을 적용하면 Perplexity만이 아니라 모든 AI 크롤러에 대해 한꺼번에 해결됩니다.
모두 열어 두었는데도 내 사이트가 나타나지 않으면 어떻게 하나요?
읽을 수 있다는 것은 필요조건일 뿐 보장은 아닙니다. 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는 시스템에 robots.txt 변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있다고 밝힙니다. 방화벽 변경은 제공업체가 적용하는 즉시 효력이 생기지만, 결과를 판단하기 전에 크롤러가 다시 방문할 시간을 주세요.
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