01DEFINITION
한 줄로 말하면
네이버의 수집 로봇 이름은 Yeti 입니다. robots.txt 가 이 이름을 막고 있으면 네이버 검색에는 사이트가 존재하지 않는 것과 같습니다. 구글은 정상인데 네이버에서만 안 나오는 증상의 첫 번째 원인이고, 해외 제작 템플릿이나 봇 차단 설정을 그대로 가져다 쓸 때 의도 없이 걸리는 경우가 대부분입니다. 국내 방문자가 주 고객이면 색인 여부를 좌우하는 한 줄입니다.
02RISK
없으면 무슨 일이 생기나
국내를 상대로 하는 사업에서 네이버 유입이 빠지는 것은 검색 유입의 절반 이상이 사라지는 일과 같습니다. 그런데 이 고장은 화면에 아무 증상을 남기지 않습니다. 사이트는 정상으로 열리고, 구글에 검색하면 잘 나오고, 관리자 화면에도 경고가 없습니다. 대표님이 회사 이름을 네이버에 쳐 보고 나서야 발견되는 종류이고, 그때는 이미 몇 달이 지나 있는 경우가 많습니다.
원인의 대부분은 의도한 차단이 아닙니다. 해외에서 만들어진 테마나 워드프레스 플러그인이 자기 기본값으로 봇 차단 목록을 들고 오는데, 그 목록을 만든 사람에게 Yeti 는 트래픽만 쓰는 낯선 이름입니다. 국내 사이트에 그 설정이 그대로 얹히면 가장 중요한 크롤러가 조용히 막힙니다. 보안을 이유로 사람이 아닌 접속은 일단 막아 두라는 오래된 지침이 남아 있는 서버에서도 같은 일이 생깁니다.
별표 그룹의 전체 차단에 함께 걸리는 경우도 흔합니다. 개발이나 검수 기간에 색인을 막아 두려고 적어 둔 한 줄이 공개 후에도 남아 있는 것인데, 이때는 네이버만이 아니라 모든 검색엔진이 같이 막힙니다. 다만 발견은 네이버 쪽에서 먼저 되는 편입니다. 국내 방문자가 실제로 찾는 경로가 그쪽이기 때문입니다.
03CHECK IT YOURSELF
직접 확인하는 방법
아래는 저희를 거치지 않고 지금 해 보실 수 있는 방법입니다. 결과를 저희에게 보내실 필요도 없습니다.
-
01
robots.txt 에 Yeti 가 어떻게 적혀 있는지 본다
이름이 보이면 그 그룹의 규칙이 Yeti 에게 적용됩니다. 이름이 안 보이는 것은 허용을 뜻하지 않습니다 — 다음 단계를 이어서 확인하셔야 합니다.
$ curl -s https://example.com/robots.txt | grep -in -A3 -i "yeti"
-
02
별표 그룹에 전체 차단이 걸려 있는지 본다
Yeti 전용 그룹이 없으면 크롤러는 별표 그룹을 따릅니다. 여기에 전체 경로 차단이 있으면 이름을 따로 적지 않아도 막힌 상태입니다.
$ curl -s https://example.com/robots.txt | head -n 20 # User-agent: * # Disallow: / ← 이 두 줄이면 전체 차단입니다
-
03
네이버 서치어드바이저의 수집 진단으로 확인한다
네이버가 직접 제공하는 도구입니다. 사이트를 등록하면 robots.txt 를 어떻게 해석했는지, 특정 주소를 수집할 수 있는지를 네이버 쪽 판정으로 볼 수 있습니다. 우리 쪽 해석과 네이버 쪽 해석이 다를 때 어느 것이 맞는지 정하는 자리입니다.
-
04
접속 로그에 Yeti 가 실제로 오는지 센다
허용돼 있으면 이 이름이 로그에 주기적으로 남습니다. 설정을 고친 뒤에는 며칠 지나 다시 세어 보시면 실제로 읽어 가기 시작했는지 알 수 있습니다.
$ grep -ic "yeti" /var/log/httpd/access_log
04HOW TO FIX
고치는 방법
서버 환경에 따라 적을 자리가 다릅니다. 아래는 가장 흔한 구성 기준이고, 적용 전에 현재 설정을 백업하십시오.
크롤러는 자기 이름이 있는 그룹 하나만 읽고 나머지는 무시합니다. 그래서 전용 그룹을 만들면 별표 그룹의 내용과 무관하게 이쪽이 적용됩니다. 다만 무관하다는 말은 공통으로 막고 싶던 경로도 함께 무시된다는 뜻이라, 그 경로를 이 그룹 안에 다시 적어야 합니다.
User-agent: Yeti Allow: / Disallow: /adm/ Disallow: /bbs/login.php
공개 전에 색인을 막아 두는 것은 옳은 습관이고, 문제는 공개 후에 지우는 절차가 빠져 있는 것입니다. 오픈 체크리스트에 이 한 줄을 넣어 두시면 다음 사이트에서 같은 일이 반복되지 않습니다.
User-agent: * Disallow: / ← 공개 후에는 남아 있으면 안 되는 줄
허용은 읽어도 된다는 표시일 뿐, 어디에 무엇이 있는지는 알려 주지 않습니다. 사이트맵을 선언해 두면 크롤러가 목록을 먼저 받고 시작하므로 새 글이 반영되는 속도가 달라집니다.
Sitemap: https://example.com/sitemap.xml
robots.txt 는 허용인데 방화벽이나 보안 서비스가 봇 이름을 보고 차단하는 경우가 있습니다. 이때는 요청이 로그에 아예 안 남거나 403 으로만 남아서, 파일만 봐서는 원인을 못 찾습니다.
05FAQ
자주 묻는 질문
robots.txt 에 Yeti 를 안 적으면 막힌 건가요
- 아닙니다. 이름이 없으면 크롤러는 별표 그룹의 규칙을 따릅니다. 그래서 별표 그룹이 전체 허용이면 Yeti 도 허용이고, 전체 차단이면 이름을 적지 않아도 차단입니다. 판정에서 갈리는 것은 이름의 유무가 아니라 실제로 적용되는 그룹의 내용입니다.
Yeti 를 허용하면 네이버에 바로 나오나요
- 바로 나오지는 않습니다. 허용은 후보에 들어가기 위한 조건이고, 실제 수집과 노출에는 시간이 걸립니다. 네이버 서치어드바이저에 사이트를 등록하고 사이트맵을 제출하시면 그 과정이 빨라집니다. 저희는 특정 검색엔진에서의 노출 여부나 순위를 측정한다고 말씀드리지 않습니다.
트래픽이 부담되는데 막으면 안 되나요
- 수집량이 실제로 부담이 된다면 전체를 막는 대신 무거운 경로만 제외하시는 편이 낫습니다. 검색 결과에서 사라지는 대가는 대개 서버 비용보다 큽니다. 어느 경로가 부담을 만드는지는 접속 로그에서 요청 수가 많은 주소를 세어 보면 나옵니다.
구글에는 나오는데 네이버에만 안 나옵니다
- 이 항목이 그 증상의 첫 번째 후보입니다. 다만 원인이 이것 하나만은 아닙니다. 사이트 등록이 안 돼 있거나, 페이지에 색인 거부 표시가 붙어 있거나, 앞단 보안 장비가 봇을 막고 있는 경우도 같은 증상으로 나타납니다. 위 확인 순서대로 하나씩 지워 나가시면 됩니다.
RELATED
같이 보시면 좋은 항목
GET STARTED
내 사이트는
이 항목을 통과할까요
주소만 넣으시면 이 항목을 포함해 39가지를 판정해 점수와 실패 개수를 보여 드립니다. 로그인도, 소유 확인도 필요 없습니다 — 전부 밖에서 관찰만 하는 항목이기 때문입니다.