둘은 다른 크롤러다
OpenAI는 용도가 다른 크롤러를 따로 두고 있습니다. 이름이 비슷해 하나로 묶어 생각하기 쉬운데, 막았을 때의 결과가 완전히 다릅니다.
| 크롤러 | 용도 | 막으면 |
|---|---|---|
| OAI-SearchBot | ChatGPT 검색 기능이 참조 | AI 검색 결과에 나오지 않음 |
| GPTBot | 모델 학습 | 학습 데이터에 포함되지 않음 |
정책의 성격이 다릅니다. 앞쪽은 노출의 문제이고, 뒤쪽은 저작물 이용의 문제입니다.
흔한 실수
"AI에 우리 콘텐츠가 쓰이는 게 싫다"는 판단으로 관련된 크롤러를 전부 막는 경우가 있습니다.
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
이러면 학습에서 빠지는 동시에 AI 검색 결과에서도 사라집니다. 사람들이 ChatGPT에 물었을 때 우리 사이트가 근거로 등장할 기회가 없어집니다.
학습은 원치 않지만 노출은 원한다면 둘을 나눠야 합니다.
목적별 설정
학습은 막고 검색은 허용
가장 많이 선택하는 조합입니다.
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
둘 다 허용
AI 노출을 적극적으로 원하는 경우입니다. 별도 규칙을 두지 않으면 기본적으로 허용이지만, 정책을 명시해 두면 나중에 헷갈리지 않습니다.
둘 다 차단
저작물 보호가 우선인 경우입니다. AI 검색 노출을 포기한다는 뜻임을 알고 결정해야 합니다.
다른 AI 크롤러
OpenAI 외에도 여러 회사가 각자의 크롤러를 운영합니다. 정책을 정할 때는 한 회사만 보지 말고 목록을 만들어 일관되게 적용하는 편이 좋습니다.
규칙이 회사마다 제각각이면 "어디는 되고 어디는 안 되는" 상태가 되어 관리가 어려워집니다.
robots.txt는 접근 제어가 아니다
여기서도 같은 원칙이 적용됩니다. robots.txt는 요청을 거절하는 수단이 아니라 안내입니다. 규칙을 따르는 것은 크롤러의 선택입니다.
정말로 막아야 하는 콘텐츠라면 서버에서 인증을 걸어야 합니다. 자세한 내용은 robots.txt 점검 체크리스트에 정리했습니다.
확인 방법
/robots.txt를 열어 해당 크롤러 규칙이 있는지 봅니다- 규칙이 의도한 대로 쓰였는지 봅니다 (Allow와 Disallow를 헷갈리기 쉽습니다)
- 서버 접근 로그에서 실제로 어떤 크롤러가 들어오는지 확인합니다
정책은 정했는데 파일에 반영이 안 됐거나, 반대로 파일에는 있는데 아무도 그 정책을 모르는 경우가 흔합니다. 정한 정책과 파일의 내용이 같은지가 핵심입니다.