크롤링됨 – 현재 색인이 생성되지 않음 10건을 하나씩 뜯어본 기록 — 고칠 수 있는 건 하나뿐이었다

앞 글로 도구 이야기가 끝났다. 글을 쓰고 이미지를 만들고 여러 곳에 예약 발행하는 과정을 사람 없이 돌리는 데까지 왔다. 여기서부터는 그 도구로 실제 사이트를 굴리면서 겪은 일을 적는다. 도구가 돌아간다고 사이트가 자라는 건 아니었다.
운영 중인 정보성 사이트 한 곳이 문제였다. 글이 일흔 편 남짓 쌓였는데 검색 색인이 늘지 않았다. 서치콘솔을 열어보니 “크롤링됨 – 현재 색인이 생성되지 않음”이라는 상태로 10건이 잡혀 있었다.
숫자가 늘었는데 전진이었다
며칠 전 기록에 이 항목이 0건이라고 적어둔 게 있었다. 그걸 근거로 “콘텐츠 문제가 아니라 크롤러가 아예 도달하지 못하는 문제”라고 판단했었다. 그게 0에서 10으로 늘었으니 숫자만 보면 나빠진 것이다.
그런데 방향은 반대였다. 서치콘솔에는 이 앞에 “발견됨 – 현재 색인이 생성되지 않음”이라는 단계가 따로 있다. 주소는 받아뒀는데 긁으러 오지도 않은 상태다. 최종 크롤 날짜가 1970년 1월 1일로 찍힌다. 당시 그쪽에 44건이 쌓여 있었고, 그중 9건이 이번에 “크롤링됨”으로 올라온 것이었다.
즉 10건은 품질 판정을 새로 받은 게 아니라 단계가 하나 올라간 결과였다. 걸린 9개는 내가 색인 요청을 넣은 첫 배치와 정확히 일치했다.
10건을 성격별로 갈라봤다
하나씩 열어보니 셋으로 갈렸다. 목록 페이지 7개, 소개와 문의 같은 안내 페이지 2개, 그리고 실제 글 1편이다.
여기서 눈에 걸린 게 있다. 사이트맵에 든 글이 아닌 페이지는 12개였는데, 홈과 개인정보처리방침, 이용약관을 뺀 9개가 통째로 걸려 있었다. 목록 페이지는 일부가 아니라 전부였다.
페이지마다 품질을 따져 하나씩 뺀 게 아니라 유형 단위로 묶어서 판정한 것으로 읽혔다. 글은 일흔 편 넘게 있는데 그중 걸린 건 발행 이틀차 1편뿐이었다.
코드로 고칠 수 있는 건 하나뿐이었다
그렇게 보니 손댈 게 거의 없었다.
목록 페이지 7개는 그대로 뒀다. 고유한 텍스트가 설명 한 줄뿐이라 구글이 색인 가치를 못 찾는 건 맞다. 하지만 목록 페이지는 원래 대부분 이 판정을 받는다. 색인이 안 되더라도 크롤은 되니 개별 글로 크롤러를 흘려보내는 통로 역할은 살아 있고, 검색 유입은 어차피 개별 글이 담당한다. 잃는 트래픽은 거의 없는데 7개 페이지의 문구를 전부 다시 쓰는 작업이라 값에 비해 범위가 컸다.
안내 페이지 2개도 뒀다. 광고 심사는 크롤이 되면 되고 색인이 필수가 아니다. 두 달째 크롤조차 안 되던 상태라 색인 요청을 넣었던 것이고, 크롤이 됐으니 목적은 달성됐다.
남은 건 글 1편이었다. 들어오는 링크를 세보니 부모 글의 관련글 목록 하나와 홈 하나, 둘뿐이었다. 사이트 평균이 2.85개였으니 그 아래다. 본문 안에서 문맥으로 걸린 링크는 0개였다. 상위 글 본문의 적당한 자리에 한 문장을 넣어 링크를 추가했고, 들어오는 링크가 3개로 늘었다.
그게 전부였다. 10건을 다 뜯어보고 코드로 한 줄 고친 셈이다. 나머지는 기다려야 하거나 애초에 색인될 필요가 없는 페이지였다.
다음 달, 전체 수출본을 받고 보니
2주쯤 지나서 이번엔 이 항목 하나만 보지 않고 커버리지 전체 수출본을 받았다. 색인 35, 미색인 65였다.
사유별로 보니 내가 붙잡고 있던 항목은 5건으로 줄어 있었다. 대신 “발견됨 – 현재 색인이 생성되지 않음”이 37건이었다. 긁으러 오지도 않은 주소가 그만큼 남아 있었다. 리디렉션으로 분류된 게 20건, 태그로 제외한 게 2건, 주소를 못 찾는 게 1건이었다.
리디렉션 20건은 의도한 처리라 문제가 아니었다. 영구 리디렉션은 검증을 돌리면 계속 리디렉션되는 게 정상이라 영원히 실패로 뜬다. 그래서 재검증 버튼을 누르지 않기로 했다. 이쪽은 따로 할 얘기가 많아 다음 편으로 미룬다.
그 20건을 상수로 빼고 보면 색인 35, 안 긁힌 것 37, 긁고 뺀 것 5였다. 내가 한 달 가까이 들여다본 쪽은 5건이고 병목은 37건이었다. 그리고 이쪽은 개별 글 판정이 아니다. 주소 79개짜리 사이트에서 37개를 안 가지러 오는 건 사이트 단위로 크롤 배급이 눌린 신호로 읽어야 했다.
추이를 뽑아보니 더 분명했다. 대량 발행 직후 한 번 13건이 늘고 나서, 그 뒤 2주 동안 색인 수가 한 건도 움직이지 않았다.
내부 링크 구조도 같이 확인했다. 홈에서 1클릭으로 모든 글이 링크되고 목록 페이지도 전부 링크하고 있었다. 본문 인바운드가 0인 글은 2편뿐이었고 그마저 부모 글에서는 링크를 받았다. 구조는 정상이었다. 한 달 전에 넣은 링크 한 줄은 원인이 아닌 곳을 고친 것이었다.
공들인 글만 골라서 빠졌다
긁고 나서 뺀 5편은 따로 볼 만했다. 처음엔 분량이 얇아서 그런가 했는데 세보니 반대였다.
전체 글의 본문 글자 수를 공백 제외로 다시 세서 분류별 순위를 매겼다. 5편 중 4편이 각 분류에서 가장 긴 글이었다. 6,401자, 6,245자, 5,633자, 4,634자였고 마지막 한 편만 1,894자로 사이트 최하위였다. 얇아서 빠진 게 아니라 제일 공들인 글만 골라서 빠진 것이다.
공통점은 둘이었다. 전부 경쟁이 제일 센 대표 키워드를 노린 글이고, 기관 공식 페이지가 같은 표를 그대로 갖고 있는 주제였다. 그리고 전부 골격이 같았다. 자격, 조건 표, 모의 계산, 신청 절차, 서류 목록, 실수 3가지, 자주 묻는 질문, 결론. 반면 이 항목에 한 번도 안 들어온 글들은 소제목부터 각도가 달랐다. 소문이 사실이 아니라는 식으로 시작하거나, 숫자의 종류가 다르다는 지적으로 시작한다.
다만 확정은 못 했다. 같은 골격인데 이 항목에 없는 글도 있었다. 골격 하나로는 설명이 안 되고, 골격과 헤드 키워드가 겹칠 때 걸린 것으로 읽는 게 맞았다.
그래서 5편을 한꺼번에 고치지 않았다. 색인에 반영되는 데 2~4주가 걸리는데 동시에 바꾸면 무엇이 먹혔는지 구분이 안 되고 되돌릴 근거도 안 남는다. 원인이 분명한 최하위 분량 1편만 다시 썼다. 1,894자에서 3,359자가 됐고, 쓰는 과정에서 라이브 본문에 틀린 항목이 하나 있는 것도 찾아 고쳤다.
사이트맵이 멈춰 있었다
이번에 같이 발견한 게 하나 더 있다. 사이트맵의 최종 수정일이 발행일을 그대로 쓰고 있었다.
글을 고치고 확인일을 올려도 사이트맵이 내보내는 날짜는 처음 올린 날에서 멈춰 있었다. 구조화 데이터에는 수정일이 이미 들어가 있는데 사이트맵만 안 따라가던 상태다. 수정일이 있으면 그걸 쓰고 없으면 종전대로 발행일로 떨어지게 바꿨다.
바꾸고 나니 주소 67개의 날짜가 한꺼번에 변했다. 그중에는 수치만 대조하고 본문은 그대로인 글도 섞여 있다. 최종 수정일은 원칙적으로 내용이 실제 바뀐 날이어야 하니 깨끗한 처리는 아니다. 다만 이미 색인이 2주째 정체라 잃을 게 없었고, 앞으로 글을 갱신했을 때 신호가 따라가는 구조 자체는 있어야 했다. 본문 수정일을 따로 두는 건 손이 더 가서 미뤘다.
정리하면
색인이 안 늘 때 제일 먼저 의심한 건 콘텐츠 품질이었다. 뜯어보니 그게 아니었다.
10건을 하나씩 가른 결과는 목록 페이지 7, 안내 페이지 2, 발행 이틀차 글 1편이었다. 고칠 수 있는 건 하나였고 나머지는 기다리거나 내버려 두는 게 답이었다. 서치콘솔의 숫자는 조치해야 할 목록처럼 보이지만 실제로는 유형이 섞여 있었다.
더 크게 틀린 건 보는 범위였다. 드릴다운 하나만 열어놓고 10건을 한 달 가까이 들여다봤는데, 전체 수출본을 받고 보니 그 항목은 5건이고 앞 단계에 37건이 쌓여 있었다. 지표를 부분만 보면 작은 쪽을 크게 본다.
그리고 분량이 원인일 거라는 짐작도 틀렸다. 가장 긴 글들이 빠져 있었다. 쌓아 올리는 방향이 무조건 맞는 게 아니라는 뜻이다.
다음 수출본에서는 두 숫자만 본다. 색인이 움직였는지, 안 긁힌 37건이 줄었는지. 리디렉션 쪽은 보지 않는다.


