데드 셀러 여덟 개를 죽이지 않고 묻는 법
데드라고 판정한 사이트들을 어떻게 처리할지에 대한 글입니다.
판정 자체는 따로 적어두었습니다. 이 글은 판정 다음의 절차입니다. 도메인은 살려두되 검색 인덱스에서만 빼는 작업을 어떤 방식으로 했는지를 정리합니다.
먼저 가장 흔한 오해부터 적어둡니다.
robots.txt 의 Disallow 와 meta robots 의 noindex 는 다른 일을 합니다. robots.txt 는 크롤러가 그 페이지를 가져가지 말라는 신호이고, noindex 는 가져간 페이지를 인덱스에 넣지 말라는 신호입니다. 둘이 같이 들어가면 오히려 의도와 반대로 작동합니다. robots.txt 로 막아두면 크롤러가 HTML 자체를 못 읽기 때문에 그 안의 noindex 신호도 못 읽고, 결과적으로 인덱스에 남아 있는 오래된 스냅샷이 그대로 표시될 수 있습니다.
여덟 개 사이트에는 robots.txt 를 건드리지 않고 응답 쪽에 신호를 박는 방식을 골랐습니다. 정확히는 두 군데에 같은 의미를 박았습니다.
첫째, 페이지 HTML 의 head 안에 meta robots 태그를 넣었습니다. content 값에 noindex 와 follow 를 같이 적었습니다. follow 를 같이 적은 이유는 그 사이트들이 내부 페이지로 링크하는 경우가 있고, 그 링크 자체는 살아 있는 채로 두고 싶었기 때문입니다. noindex 와 follow 는 같이 들어가 있어도 충돌하지 않습니다.
둘째, HTTP 응답 헤더에 X-Robots-Tag 를 같은 값으로 박았습니다. CloudFront 함수 쪽에서 헤더를 한 줄 추가하는 방식이었습니다. 헤더 쪽에도 박은 이유는, HTML 이 아닌 응답도 인덱스 후보가 되기 때문입니다. 사이트맵에 노출된 PDF 나 JSON 응답이 한두 군데 있었고, 그쪽까지 같이 묻으려면 헤더 단위로 가야 합니다.
여기까지가 신호 부분이고, 그 다음은 인덱스에서 실제로 빠지는 데까지 걸리는 시간 문제였습니다.
검색 콘솔의 URL 검사 도구로 핵심 페이지 몇 개만 다시 색인 요청을 넣었습니다. 나머지는 다음 크롤 주기에 자연스럽게 빠지길 기다리는 쪽으로 두었습니다. 색인 상태가 일주일 단위로 줄어드는 게 보입니다. 한 달 정도면 거의 다 빠질 것 같습니다.
분기 하나를 더 적어두면, noindex 와 404, 그리고 410 Gone 중 어느 신호를 박을지에 대한 판단이 있었습니다.
페이지 자체를 죽이고 404 로 응답하는 방법도 있었습니다. 더 분명한 신호는 410 입니다. 410 은 의도적으로 영구 제거됐다는 뜻이고, 검색 엔진이 410 을 본 페이지는 404 보다 빠르게 인덱스에서 빠집니다. 다만 둘 다 페이지 자체를 죽이는 신호입니다.
여덟 개 사이트의 페이지들은 그대로 보이게 두고 싶었습니다. 직접 URL 을 알고 들어오는 사람이 한 달에 한두 명이라도 있을 수 있고, 그 사람들에게 404 를 돌려주는 건 과한 처리 같았습니다. 인덱스에서만 빠지면 충분했습니다. 검색에서 안 보이고, 알고 들어오면 보입니다.
백링크 쪽도 살펴보았습니다. 다른 사이트에서 그 여덟 개로 들어가는 백링크가 몇 개 남아 있었습니다. noindex 처리 자체로 사라지지 않습니다. 누군가 그 링크를 클릭하면 페이지는 그대로 보이고, 다만 검색 트래픽이 사라집니다. 어차피 받아서 살리고 싶었던 사이트들이 아닙니다.
portfolio 내부에서 그 여덟 개로 향하는 내부 링크는 따로 정리했습니다. hub 페이지 두세 개에 카드 형태로 나열되어 있었는데, 거기서 빼두었습니다. hub 쪽 신호 품질을 흔들고 싶지 않았습니다.
마무리 작업으로 사이트맵에서도 빼두었습니다. 사이트맵에 남겨두면 크롤러가 굳이 다시 그 페이지를 가져가서 noindex 를 확인하는 데 비용을 씁니다. 사이트맵에서 제외해두면 크롤 빈도가 자연스럽게 떨어집니다.
여기까지가 절차이고, 한 가지 메모만 더 적어둡니다.
noindex 처리는 되돌리기 쉽습니다. 메타 태그 한 줄과 헤더 한 줄을 빼면 됩니다. 한 달 뒤에 그중 어느 사이트가 살아날 신호를 보인다면 다시 인덱스에 넣을 수 있습니다. 묻는 작업과 다시 꺼내는 작업의 비용이 비슷한 정도라서, 이 처리를 결정하는 데 마음이 가벼웠습니다. 삭제였다면 같은 결정에 도달하기까지 또 한참이 걸렸을 겁니다.
