퍼플렉시티 최적화: PerplexityBot이 내 페이지를 읽는지 확인하는 3가지
핵심 답변: 퍼플렉시티 최적화로 노출이나 인용을 보장할 수 있는 사람은 없습니다. Perplexity의 크롤러 문서는 자사 봇을 어떻게 다뤄야 하는지를 알려 줄 뿐, 페이지를 어떤 기준으로 고르고 어떤 순서로 보여 주는지는 말하지 않습니다. 그래서 내가 직접 정할 수 있는 세 가지를 점검합니다. robots.txt가 PerplexityBot을 들여보내는지, 서버 앞단의 어떤 것도 PerplexityBot을 돌려보내지 않는지, 본문이 JavaScript 없이 HTML에 들어 있는지입니다. 세 점검을 통과하면 우리가 아는 기술적 장애물이 사라질 뿐, 노출 위치나 인용을 약속하는 것은 아닙니다.
퍼플렉시티 최적화로 순위를 올릴 수 있을까? Perplexity가 문서에 밝힌 것
퍼플렉시티 최적화를 검색하는 사람은 올라갈 수 있는 순위표가 있는 것처럼 생각하곤 합니다. Perplexity가 자사 크롤러에 관해 올려 둔 페이지는 이보다 좁은 이야기를 합니다. 어떤 봇이 내 사이트를 방문하는지, 봇마다 무슨 용도인지, 내가 어떤 설정을 직접 정할 수 있는지를 설명합니다. Perplexity가 답변에 쓸 페이지를 어떻게 고르고 어떤 순서로 보여 주는지는 그 페이지에 없고, 기술 설정이 그것을 바꾼다고 증명하는 출처도 우리는 알지 못합니다. 그래서 이 글은 노출 위치도 인용도 약속하지 않습니다.
읽을 수 있다는 것과 인용된다는 것은 다릅니다. PerplexityBot이 읽을 수 있는 페이지도 답변에서 빠질 수 있고, 읽을 수 없는 페이지는 보여 줄 거리조차 주지 못합니다. 읽을 수 있게 만드는 일은 내가 정할 수 있는 부분이며, SEOgrinder가 점검하는 것도 이 부분뿐입니다. Perplexity가 내 사이트를 언급하는지는 측정하지 않습니다. 언급을 추적하는 서비스는 다른 일을 하며, 그 차이는 AI 가시성 확인 글에서 설명합니다.
PerplexityBot과 Perplexity-User: 봇 두 개, 역할 두 가지
2026년 11월 4일에 가져온 Perplexity의 크롤러 안내 페이지에는 user agent 두 개가 나옵니다. 각 설정은 서로 독립적으로 작동하며, 변경 사항이 Perplexity의 시스템에 반영되기까지 최대 24시간이 걸릴 수 있다고도 적혀 있습니다.
| user agent | Perplexity가 밝힌 용도 | robots.txt에 대해 Perplexity가 밝힌 내용 |
|---|---|---|
| PerplexityBot | Perplexity 검색 결과에 웹사이트를 보여 주고 링크하도록 설계됨. AI 기반 모델용 콘텐츠를 수집하는 데는 쓰이지 않음 | robots.txt에서 허용하고, 공개된 IP 대역의 요청도 허용하라고 권장함 |
| Perplexity-User | 사용자의 행동을 지원함. 사용자가 질문하면 정확한 답을 주기 위해 페이지를 방문하고 답변에 링크를 넣을 수 있음. 웹 크롤링이나 AI 기반 모델 학습용 콘텐츠 수집에는 쓰이지 않음 | 사용자가 요청한 가져오기이므로 이 봇은 “generally ignores robots.txt rules”, 즉 대체로 robots.txt 규칙을 무시함 |
두 봇 모두 IP 대역을 JSON 파일로 공개합니다. perplexitybot.json과 perplexity-user.json입니다. 검색 결과를 위한 봇은 PerplexityBot이므로, 아래 점검은 먼저 이 봇을 다룹니다.
점검 1: robots.txt가 PerplexityBot을 들여보낸다
Perplexity는 “allowing PerplexityBot in your site’s robots.txt file and permitting requests from our published IP ranges”를 권장한다고 씁니다(Perplexity). robots.txt에서 PerplexityBot을 허용하고, 공개된 IP 대역의 요청을 허용하라는 뜻입니다. 앞의 절반이 이 점검이고, 뒤의 절반은 점검 2입니다.
- PerplexityBot에 어느 그룹이 적용되는지 확인하세요. RFC 9309에 따르면 크롤러는 자기 이름과 일치하는 그룹을 따르고, 일치하는 그룹이 없을 때만
*그룹을 따릅니다. PerplexityBot 전용 그룹이 없으면*아래의Disallow: /가 PerplexityBot도 막습니다. 전용 그룹이 있으면*의 규칙은 더 이상 PerplexityBot에게 적용되지 않습니다. - 테스트는 서두르지 마세요. 변경 사항이 반영되기까지 최대 24시간이 걸릴 수 있으므로, 수정하고 한 시간 뒤에 테스트하면 예전 상태를 보게 됩니다.
- 파일에 항상 접근할 수 있게 하세요. RFC 9309는 서버나 네트워크 오류(예: 상태 코드 500)로 robots.txt에 접근할 수 없으면 크롤러가 전체 금지로 가정해야 한다고 정합니다. PerplexityBot이 이 경우를 어떻게 처리하는지는 Perplexity가 말하지 않으므로, 이것은 표준의 내용이지 Perplexity의 설명이 아닙니다.
이 점검에서 가장 흔히 실패하는 원인은 첫 번째 항목의 함정입니다. 아래 예시는 /private/를 모두에게 닫고, 그 규칙을 봇 전용 그룹에도 다시 적습니다.
User-agent: *
Disallow: /private/
# PerplexityBot 전용 그룹: 닫아 둘 규칙을 다시 적습니다
User-agent: PerplexityBot
Disallow: /private/
Allow: /
반복한 Disallow 줄이 없으면 /private/는 PerplexityBot에게 열려 있게 됩니다. 다른 방식, 즉 User-agent 줄 여러 개를 하나의 공통 규칙 묶음 위에 두는 패턴은 AI 크롤러 차단·허용: robots.txt 설정 예시 3가지 글에서 볼 수 있습니다.
우리 파일은 예시일 뿐 권장 사항이 아닙니다. 2026년 11월 4일에 curl로 https://seogrinder.com/robots.txt를 가져왔습니다. 이 파일은 PerplexityBot을 * 및 다른 봇 8개와 함께 하나의 공통 그룹에 두고, /api/를 제외한 모든 것을 허용합니다. 이는 이 사이트에 대한 우리의 결정이며, 내 사이트의 결정은 다를 수 있습니다.
점검 2: 서버 앞단의 어떤 것도 PerplexityBot을 돌려보내지 않는다
robots.txt가 “허용”이라고 말해도 방화벽, CDN의 봇 방어, 호스팅 업체가 봇에게 오류를 돌려줄 수 있습니다. 그러면 허용은 되어 있어도 페이지는 도착하지 않습니다. Perplexity는 이 문제에 별도의 섹션을 둡니다. 웹 애플리케이션 방화벽(WAF)을 쓴다면 “you may need to explicitly allow Perplexity’s bots”, 즉 Perplexity의 봇을 명시적으로 허용해야 할 수 있다고 합니다(Perplexity). 이 페이지에는 Cloudflare WAF와 AWS WAF를 위한 단계가 있습니다. 아래 사항은 어떤 환경에나 적용됩니다.
- 이름과 주소를 함께 맞춰 보세요. Perplexity의 예시는 user agent(
PerplexityBot포함)와 공개된 대역의 출발지 주소를 함께 쓰며, 보안을 위해 둘 다 쓰라고 권합니다. - 봇마다 대역이 따로 있습니다. PerplexityBot은 PerplexityBot의 목록과, Perplexity-User는 그 봇 자신의 목록과 대조하세요.
- 대역을 최신으로 유지하세요. Perplexity는 주소가 정기적으로 갱신된다고 밝히고, JSON 파일을 자동으로 가져오라고 권합니다. 아무도 갱신하지 않는 사본은 낡습니다.
- Cloudflare에서는 순서에 주의하세요. Perplexity는 Skip 규칙이 그보다 뒤에 실행되는 규칙만 건너뛰므로, 차단하거나 챌린지를 거는 규칙보다 위에 두어야 한다고 씁니다. 또 Bot Fight Mode는 WAF 사용자 지정 규칙으로 건너뛸 수 없어서 Perplexity의 봇에게 여전히 챌린지를 걸 수 있다고 덧붙입니다.
- 서버 로그가 증거입니다.
PerplexityBot으로 검색하고, Perplexity가 바뀔 수 있다고 한 버전 번호로는 검색하지 마세요. 누구든 이 이름을 헤더에 적을 수 있으므로, 출발지 주소가 공개 목록에 있을 때만 방문으로 칩니다. Perplexity는 봇이 얼마나 자주 오는지 말하지 않으므로, 로그가 비어 있다면 점검 1과 점검 2를 다시 확인할 이유일 뿐 차단의 증거는 아닙니다.
점검 3: 본문이 JavaScript 없이 HTML에 들어 있다
봇이 허용되고 서버에 도착하더라도, 텍스트가 스크립트가 실행된 뒤에야 나타난다면 읽을 것이 없을 수 있습니다. PerplexityBot이 JavaScript를 실행하는지는 Perplexity의 페이지에 나와 있지 않습니다. 측정 하나는 Vercel과 MERJ가 2024년 12월 17일에 The rise of the AI crawler라는 제목으로 발표한 것입니다. 결과는 이렇습니다. 측정한 주요 AI 크롤러 중 JavaScript를 실행한 것은 없었고, PerplexityBot도 그중 하나였습니다. Gemini가 쓰는 Google의 크롤러와 AppleBot은 JavaScript를 실행했습니다.
이 결과는 조심해서 읽으세요. 2024년의 한 시점을 찍은 것이고, 우리가 인용할 수 있는 더 새로운 측정은 알지 못하며, 봇이 무엇을 읽는지를 말할 뿐 페이지가 인용되는지를 말하지 않습니다. 경고로 받아들이세요.
읽기 테스트는 1분이면 되고 curl만 있으면 됩니다. Perplexity가 안내 페이지에 적은 예시 user-agent 문자열을 보내고, 상태 코드를 출력하고, 스크립트를 실행하지 않은 채 HTML로 도착한 그대로 제목을 보여 줍니다.
curl -sL -A "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" \
-w "\nstatus: %{http_code}\n" https://www.example.com/your-page | grep -i -E -A2 "<h1|^status:"
상태가 200이고 출력에 내 진짜 제목이 보이면 텍스트가 전달되는 HTML에 들어 있는 것입니다. div 하나와 스크립트 태그만 있는 빈 껍데기가 보이거나 제목이 없다면, 스크립트를 건너뛰는 봇도 똑같이 보게 됩니다. 첫 문단의 문장으로 테스트를 한 번 더 하세요. script 요소 안에만 있는 텍스트는 세지 않기 때문입니다. 해결책은 서버에서 렌더링하거나 미리 생성하는 것이며, AI 크롤러 JavaScript 렌더링: 빈 페이지를 찾는 1분 테스트 3가지 글에 1분짜리 테스트 두 가지와 자세한 내용이 있습니다.
이 테스트는 서버가 이름에 어떻게 반응하는지 보여 줄 뿐, Perplexity의 실제 주소에 어떻게 반응하는지는 보여 주지 않습니다. 많은 보호 규칙은 가짜 봇 이름을 돌려보내고 진짜 봇은 IP 주소로 통과시키며, 이는 의도된 동작입니다. 그래서 403은 규칙을 살펴볼 이유일 뿐 진짜 봇이 차단되었다는 증거가 아니고, 200도 진짜 봇이 통과한다는 증거가 아닙니다. 진짜 증거는 점검 2의 로그입니다.
SEOgrinder로 세 가지 점검하기
SEOgrinder는 무료이고 가입이 필요 없습니다. 주소를 입력하고 분석을 시작해 리포트를 여세요. 여기서 중요한 곳은 세 군데입니다.
- AI 준비도 탭, 「AI 에이전트용 검사」: 「AI 봇 제어하기」 항목은 명시적 규칙이 있는 AI 크롤러가 몇 개이고 그중 몇 개가 허용, 몇 개가 차단인지 보여 주고 차단된 봇의 이름을 알려 줍니다. 「봇 동작 규칙」은 robots.txt 자체를 다룹니다. 이것이 점검 1입니다.
- 할 일 탭, 「AI 크롤러는 허용했지만 서버가 거부합니다 — 확인 필요」: SEOgrinder는 고정된 봇 이름 네 개(GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot) 중 robots.txt가 허용하는 것에 대해서만 서버가 어떻게 응답하는지 테스트하고, 브라우저의 응답과 비교합니다. Perplexity-User는 여기에 없고, 테스트는 이름만 씁니다. 이것이 점검 2입니다.
- 할 일 탭, 「페이지가 브라우저에서만 조립됩니다」: 내용을 보여 주는 데 JavaScript가 필요한 페이지에 이 항목이 나타납니다. 많은 AI 크롤러가 JavaScript를 실행하지 않기 때문입니다. 이것이 점검 3입니다.
항목에서 에이전트 프롬프트 복사를 누르면 코딩 어시스턴트에게 줄 지시문을 받고, 수정한 뒤에는 다시 확인을 누르세요. 리포트는 최대 24시간 동안 캐시에 남습니다. SEOgrinder는 서버 로그를 읽지 않으며, Perplexity가 내 사이트를 언급하는지도 측정하지 않습니다.
자주 하는 실수
- 모델 학습에 쓰이지 않게 하려고 PerplexityBot을 차단하기. Perplexity는 PerplexityBot이 AI 기반 모델용 콘텐츠를 수집하는 데 쓰이지 않는다고 밝힙니다. 이 봇은 검색 봇입니다.
- 봇 하나를 위한 그룹을 추가하고 공통 규칙을 잃기. 봇 전용 그룹이
*그룹을 대체합니다. - robots.txt에서는 허용하고 방화벽에서 돌려보내기. 파일만 보지 말고 로그를 확인하세요.
- IP 대역을 한 번 붙여 넣고 갱신하지 않기. 공개된 목록은 바뀝니다.
- 너무 일찍 테스트하기. Perplexity는 변경 반영에 최대 24시간이 걸릴 수 있다고 말합니다.
- robots.txt를 보호 수단으로 여기기. RFC 9309는 이 프로토콜이 유효한 콘텐츠 보안 조치를 대신하지 않는다고 말합니다.
- 점검 통과를 순위로 읽기. 통과는 Perplexity가 내 페이지를 보여 주는지, 인용하는지에 대해 아무것도 알려 주지 않습니다.
자주 묻는 질문
Perplexity가 내 페이지를 인용하게 만들 수 있나요?
아니요. 인용을 강제할 수 있는 사람은 없고, Perplexity의 크롤러 페이지에도 인용을 일으키는 설정은 나와 있지 않습니다. PerplexityBot이 내 페이지를 읽을 수 있도록 장애물을 치울 수는 있습니다. 그 페이지를 Perplexity가 보여 줄지는 Perplexity가 정합니다.
Perplexity-User도 허용해야 하나요?
Perplexity는 PerplexityBot을 허용하라고 권장합니다. Perplexity-User에 대해서는 그런 권장이 그 페이지에 없습니다. 페이지는 Perplexity-User가 대체로 robots.txt 규칙을 무시한다고 말하며, WAF 예시는 두 봇을 모두 다룹니다.
PerplexityBot을 차단하면 내 콘텐츠가 AI 학습에서 빠지나요?
Perplexity는 PerplexityBot이 AI 기반 모델용 콘텐츠를 수집하는 데 쓰이지 않는다고 하므로, 이 설정은 검색 결과에 관한 것입니다. 학습에 관한 설정은 그 페이지에 나와 있지 않으며, 우리도 그에 대해 말하지 않습니다.
SEOgrinder는 Perplexity가 내 사이트를 인용하는지 보여 주나요?
아니요. 기술적 기반을 점검합니다. AI 시스템이 페이지에 접근해 읽을 수 있는지입니다.
다음 단계
robots.txt를 열어 PerplexityBot에 어느 그룹이 적용되는지 확인하세요. 가장 중요한 페이지에 점검 3의 읽기 테스트를 실행해 상태 200과 내 제목이 나오는지 보세요. 그런 다음 SEOgrinder에서 무료 스캔을 실행하고 AI 준비도 탭과 할 일 탭을 열어 열려 있는 항목을 고치세요.