통보는 즉시, 수집은 열흘 뒤

통보는 즉시, 수집은 열흘 뒤

글을 올리는 순간 검색엔진에 주소를 알려 주는 장치가 있습니다. IndexNow 라고 부르고, 빙·네이버·얀덱스·세즈남이 같은 창구를 씁니다. 이 블로그에는 10월 11일에 붙였습니다. 발행 버튼을 누르면 주소 한 개가 전달되고 응답 코드 200 이 돌아옵니다. 그래서 그 통보가 실제 수집을 앞당기는지 21일치 접속 기록으로 확인해 봤습니다.

통보에 200 을 받은 글은 두 편입니다. 한 편은 10.9일 뒤에 빙봇이 왔고, 다른 한 편은 9.6일이 지나도 오지 않았습니다. 구글봇과 네이버 Yeti, 애드센스 크롤러는 21일 동안 이 블로그의 글 42편에 한 번도 오지 않았습니다. 같은 기간 같은 서버에서 구글봇은 3만 573번 돌아다녔습니다. 새 글을 가장 먼저 가져간 것은 발행 열 시간 뒤에 온 ClaudeBot 이었습니다.

발행하고 나서 무슨 일이 일어났는가

측정 창 안에 발행한 글은 세 편입니다. 10월 6일 글은 통보 장치를 붙이기 전이라 아무에게도 알리지 않았고, 11일과 15일 글은 발행하는 순간 통보가 나갔습니다.

글 발행 시각(UTC) IndexNow 첫 요청 빙봇 첫 요청
10월 6일 글 18:57 없음(미구현) ClaudeBot 10/7 05:04
(+10시간 7분)
10/24 07:03
(+17.5일)
10월 11일 글 03:21 03:21:16 코드 200 ClaudeBot 10/11 14:21
(+11시간 0분)
10/22 01:12
(+10.9일)
10월 15일 글 09:54 09:54:46 코드 200 ClaudeBot 10/15 19:57
(+10시간 3분)
9.6일 동안 0건

세 번 모두 첫 방문자가 ClaudeBot 이고, 간격이 10시간 3분·10시간 7분·11시간 0분으로 거의 같습니다. 통보를 보낸 글과 보내지 않은 글의 차이가 여기서는 보이지 않습니다. 그리고 세 번 모두 45분쯤 뒤에 두 번째 요청이 들어왔습니다. 그 요청은 짧은 주소를 거쳐서 왔는데, 뒤에서 따로 적습니다.

통보는 한 번 더 있었습니다. 장치를 붙인 10월 11일 3시 6분에 그때까지의 주소 49개를 한꺼번에 보냈고 코드 202 를 받았습니다. 그다음 날 빙봇 요청은 4건이었습니다. 통보 전 7일 평균이 하루 3.1건이었으니 49개를 한 번에 알린 효과는 숫자로 드러나지 않았습니다.

21일 동안 글을 가져간 크롤러

크롤러 요청 가져간 글(42편 중) 첫 요청 마지막 요청
bingbot 85 29 10/4 08:46 10/24 23:55
AhrefsBot 58 42 10/4 03:19 10/23 06:39
Applebot 57 42 10/9 01:32 10/20 00:56
SemrushBot 52 42 10/4 20:45 10/24 14:21
GPTBot 30 21 10/14 17:11 10/23 15:45
ClaudeBot 6 3 10/7 05:04 10/15 20:42
Amazonbot 4 4 10/4 12:31 10/18 19:46
PerplexityBot 1 1 10/18 12:29 10/18 12:29
Googlebot 0 0 — —
Yeti(네이버) 0 0 — —
Mediapartners-Google(애드센스) 0 0 — —
21일 동안 kilho.org 글 42편을 가져간 크롤러별 요청 수 막대그래프. bingbot 85건, AhrefsBot 58건, Applebot 57건, SemrushBot 52건, GPTBot 30건, Googlebot 0건, Yeti 0건
구글봇과 네이버 Yeti 는 21일 동안 글 42편에 한 번도 오지 않았습니다.

오는 방식이 둘로 갈립니다. AhrefsBot·Applebot·SemrushBot 은 42편을 전부 가져갔는데 글당 1.2~1.4회뿐입니다. 한 번 훑고 돌아가는 쪽입니다. 빙봇은 반대로 21일 가운데 하루도 빠지지 않고 왔지만(하루 2~8건) 가져간 글은 29편이고 13편은 아직 한 번도 받아 가지 않았습니다. GPTBot 은 14일·18일·23일 사흘에 몰려서 21편을 가져갔습니다. 요청 시각이 분 단위로 겹치는 것을 보면 글 한 편을 보러 온 것이 아니라 사이트를 훑는 중에 함께 집어 간 것입니다.

구글봇과 Yeti 의 0건은 이 서버에 오지 않았다는 뜻이 아닙니다. 같은 21일 동안 이 서버 전체 요청은 501만 7,907건이고 그중 구글봇이 3만 573건, Yeti 가 401건입니다. 이 서버에는 다른 사이트도 있고, 두 크롤러의 요청은 전부 그쪽으로 갔습니다.

사이트맵을 가장 많이 읽은 크롤러가 글 목록은 읽지 않았습니다

워드프레스는 사이트맵을 두 층으로 만듭니다. wp-sitemap.xml 은 목차이고, 글 주소는 wp-sitemap-posts-post-1.xml 에 들어 있습니다. 목차만 읽으면 새 글 주소는 알 수 없습니다.

크롤러 목차 파일 글 목록 파일 새 글 첫 수집까지
ClaudeBot 384 0 10시간
GPTBot 42 0 —
bingbot 39 37 10.9일
AhrefsBot 20 19 —

ClaudeBot 은 목차를 384번, 하루 18번씩 읽었습니다. 그러면서 글 목록 파일은 21일 동안 한 번도 열지 않았습니다. 새 글을 열 시간 만에 찾아낸 경로가 사이트맵이 아니라는 뜻입니다. 로그에 남은 것으로는 그 경로를 알 수 없습니다. 반대로 빙봇은 글 목록 파일을 37번 읽고 나서도 새 글을 가져가기까지 10.9일이 걸렸습니다. 주소를 아는 것과 가져가는 것은 다른 일입니다.

사이트맵 요청은 세 도메인이 같은 경로를 쓰기 때문에 사이트별로 나눌 수 없습니다. 이 표는 서버 전체 숫자입니다.

같은 글을 두 번 받아 갑니다

워드프레스는 글 머리글에 ?p=번호 꼴의 짧은 주소를 하나 더 넣습니다. 이 주소로 들어오면 서버가 301 로 원래 주소를 알려 주고, 크롤러는 다시 요청합니다. 21일 동안 이 짧은 주소로 들어온 요청이 231건이고 전부 301 이었습니다.

새 글 세 편의 두 번째 방문이 모두 이 길로 왔습니다. 첫 방문 45분 뒤에 짧은 주소로 한 번, 그리고 리퍼러에 짧은 주소를 적은 채로 본문을 다시 한 번 받아 갑니다. 같은 글을 두 번 보내는 것이고 요청 수로는 네 번입니다. 글이 늘어나는 만큼 그대로 늘어납니다.

구글봇이 오지 않은 것은 막아서가 아닙니다

먼저 막은 것이 없는지 확인했습니다. robots.txt 는 /wp-admin/ 한 곳만 막고 사이트맵 주소를 알려 줍니다. 21일 동안 구글봇에게 돌려준 403 은 0건입니다. 요청 자체가 없었습니다.

이 서버에는 같은 워드프레스 설치를 쓰는 다른 블로그가 하나 더 있습니다. 테마도 같고 설정도 같습니다. 글 주소는 두 블로그가 같은 꼴이라 로그에서 가리기 어렵지만, 이미지 경로는 번호가 달라서 확실히 갈립니다.

이미지 경로 Googlebot Mediapartners-Google bingbot
uploads/sites/2/ — 이 블로그 0 0 79
uploads/sites/3/ — 같은 서버의 다른 블로그 66 637 62

구글봇은 옆 블로그의 이미지를 66번 가져갔습니다. 그 가운데 38번은 304, 즉 전에 받아 둔 것과 같은지 물어본 것입니다. 이미 가지고 있다는 뜻입니다. 애드센스 크롤러는 637번 왔습니다. 이 블로그 쪽은 둘 다 0 입니다. 빙봇은 양쪽에 비슷하게 옵니다. 이유는 로그만으로 알 수 없습니다. 소유 확인 여부, 심사 상태, 사이트가 생긴 시점이 모두 후보입니다.

21일 동안 검색에서 들어온 것은 1건입니다

글 42편이 21일 동안 받은 200 응답은 1,783건입니다. 그중 리퍼러에 검색엔진이 적혀 있는 것은 1건, 빙에서 온 요청 하나뿐입니다.

나머지도 사람으로 보기는 어렵습니다. 1,783건의 40.3%인 718건이 글 한 편에 몰려 있는데, IP 23곳이 같은 브라우저 문자열로 21일 내내 그 한 편만 두드린 것입니다. 하루도 빠짐이 없습니다. 브라우저를 자칭하는 요청과 사람을 로그에서 가릴 수 없다는 문제는 전에 따로 적었습니다(구글에서 왔다는 요청 3만 4천 건 중 사람은 19건이었다).

이 숫자가 말하지 못하는 것

표본이 세 편입니다. 통보한 글 두 편, 통보하지 않은 글 한 편으로는 IndexNow 의 효과를 말할 수 없습니다. 빙봇의 하루 요청은 통보 전 7일 3.1건에서 통보 후 14일 4.5건으로 늘었지만, 일별 값이 2~8건으로 흔들리기 때문에 그 안에 들어가는 변화입니다. 그사이 글이 두 편 늘어난 것도 섞여 있습니다.

46편 중 42편만 셌습니다. 네 편은 주소의 번호가 옆 블로그의 글과 겹쳐서 두 사이트가 모두 200 을 돌려줍니다. 그 네 편 가운데 한 편에는 구글봇 요청이 3건 있었습니다. 어느 블로그의 글을 가져간 것인지 가릴 수 없어 숫자에서 뺐습니다. 그러니 구글봇 0건은 “확실히 가릴 수 있는 42편에 대해 0건”입니다.

수집과 색인은 다릅니다. 크롤러가 가져갔다는 것은 파일을 받아 갔다는 뜻이고, 검색 결과에 나온다는 뜻이 아닙니다. 색인 여부는 서버 로그에 남지 않습니다.

크롤러 이름은 자칭입니다. User-Agent 문자열로 분류했고 IP 역조회로 검증하지 않았습니다. 구글봇을 사칭하는 요청이 많다는 것은 이미 확인한 바 있어서, 이 글의 0건은 오히려 사칭을 걸러 낸 쪽에 가깝습니다.

다시 잴 것

11월 15일에 같은 창 길이로 다시 셉니다. 네 가지를 봅니다. 빙봇이 남은 13편을 가져갔는지, 구글봇 0건이 그대로인지, 서치어드바이저에 등록한 뒤 Yeti 가 오는지, 그리고 다음 새 글의 첫 수집까지 다시 열 시간이 걸리는지입니다. 짧은 주소로 두 번 받아 가는 것은 당장 손대지 않습니다. 고치면 비교가 끊기고, 요청 231건은 서버 부담이라고 할 양이 아닙니다.

어떻게 셌는가

창은 2026년 10월 4일 0시부터 25일 0시까지 UTC 기준 21일입니다. 살아 있는 로그 파일은 세는 동안에도 늘어나기 때문에 쓰지 않고, 회전되어 보관된 파일 세 개만 썼습니다. 세 파일이 정확히 저 21일을 담고 있습니다. 합쳐서 1,355,147,195바이트, 요청 501만 7,907건입니다.

이 서버의 아파치 로그에는 도메인 칸이 없습니다. 세 도메인이 한 폴더를 함께 쓰기 때문에 요청만 보고는 어느 사이트인지 알 수 없습니다. 그래서 응답 코드로 갈랐습니다. 글 주소는 /번호/ 꼴인데, 번호가 겹치는 네 편을 빼면 남은 42편은 이 블로그에서만 200 이 나오고 다른 두 도메인에서는 404 나 301 이 나옵니다. 42편의 주소에 200 으로 답한 요청만 세면 그것은 이 블로그의 글입니다. 겹침은 세 도메인에 같은 주소를 전부 요청해 응답 코드를 받아 확인했습니다. 이미지는 멀티사이트가 블로그 번호별로 폴더를 나누기 때문에 경로만으로 갈립니다.

크롤러 분류는 User-Agent 문자열로 했고, 글마다 어느 크롤러가 몇 번 왔는지를 한 번에 세는 스크립트로 한 번만 훑었습니다. 같은 로그를 여러 번 훑으면 중간에 값이 어긋나기 때문입니다. 차단 전후를 비교한 지난 측정에서도 같은 방식을 썼습니다(xmlrpc.php를 닫으면 공격이 줄어들까).

자주 묻는 것

IndexNow 가 코드 200 을 돌려줬으면 성공한 것 아닙니까

접수에 성공한 것입니다. 주소를 받았다는 응답이고, 가져가겠다는 약속이 아닙니다. 주소 49개를 한 번에 보낸 요청에는 202 가 돌아왔는데 이것도 “받아서 처리 대기에 넣었다”는 뜻입니다. 이 글의 숫자는 그 접수와 실제 요청 사이가 열흘 단위로 벌어질 수 있다는 기록입니다. 그리고 구글은 IndexNow 참여사가 아니라서 통보 자체가 가지 않습니다.

왜 46편이 아니라 42편입니까

주소의 번호가 같은 서버 다른 블로그의 글과 겹치는 네 편이 있습니다. 로그에는 도메인이 없으므로 그 네 편의 요청은 어느 사이트로 간 것인지 가릴 방법이 없습니다. 숫자를 늘리려고 넣으면 다른 사이트의 요청이 섞입니다. 빼면 42편이 되고, 42편은 응답 코드로 확실히 갈립니다.

구글봇이 0건인데 왜 글을 더 쓰는 것이 답이 아닙니까

21일 동안 한 번도 가져가지 않은 상태에서는 글을 더 올려도 가져갈 대상만 늘어납니다. 같은 서버의 옆 블로그는 구글봇이 이미지까지 받아 가고 있으니 서버나 테마 문제도 아닙니다. 그래서 다음 할 일은 글이 아니라 등록과 소유 확인입니다. 그것을 하고 나서 같은 측정을 다시 하면, 바뀐 것이 등록 때문인지 글 때문인지도 갈릴 수 있습니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다