Robots.txt에 Disallow를 더 잘해야 하는 이유
조율 調律
1. [명사] 악기의 음을 표준음에 맞추어 고름.
2. [명사] 문제를 어떤 대상에 알맞거나 마땅하도록 조절함을 비유적으로 이르는 말.
출처 : 표준대국어사전
proNo (제품번호)는 7267787703으로 같다. 그러나 dispno(디스플레이 번호), smidl(의미는 알 수 없다), pisl(의미는 알 수 없다) 등은 다른 URL 요소(매개변수)가 있다. 이러한 매개변수 자체가 문제는 아니다. 분석을 위해서 필요할 수 있고, 때론 특정한 기능을 구현하기 위해 필요할 수 있다. 여러 가지로 필요한 부분이다. 다만 구글 봇은 이러한 페이지 하나하나를 다 크롤링 예산에 포함한다는 것이다.
매개변수뿐 아니라 생각보다 다양한 이유로 우리의 사이트의 'Crawling budget' 이 불필요한 곳에 낭비되고 있다. 날짜를 선택하는 기능, List를 소팅하는 기능, 리다이렉션 등 어려운 개발 용어가 아니라 우리가 자주 사용하는 많은 기능이 낭비를 일으킨다. 보다 자세한 크롤링 예산을 불필요하게 잡아먹는 페이지 구조에 대해서는 Webmaster Central 블로그의 What Crawl Budget Means for Googlebot 이라는 글을 읽어보시길 추천드린다.
결론은 소제목의 문장, 그 자체이다. 아래는 내가 가장 많은 벤치마킹을 진행하는 Glassdoor의 Robots.txt이다. (URL : https://www.glassdoor.com/robots.txt) 캡처 본은 일부분일 뿐인데, 많은 Disallow 조건들이 있다. 특정한 매개변수에 대한 조건, 폴더들에 대한 조건들을 세세하게 규정해두었다. 불필요한 매개변수와 꼭 검색에 노출되지 않아도 되는 문서들을 수집부터 막는 것이다.
이 부분부터는 실제로 SEO를 하시는 분을 위해 작성했다. 서치 콘솔이 등록되어 있다는 가정하에 작성했기 때문에 미등록이신 분께는 죄송하다는 말씀을 드린다. 또 사이트 페이지수 1만 개를 넘지 않는 분은 굳이 이 작업을 할 필요가 없다. 그 이하 규모는 구글 봇이 스스로 잘 찾을 수 있으리라 본다. 물론 하시면 좀 더 효율성이 좋아지긴 할 것이다.
disallow 추가 작업을 위해서는 지금 우리 사이트의 크롤링의 수준을 확인해야 한다. 아래의 보고서를 통해서 크롤링 통계를 확인하시면 된다. 일일 평균 크롤링 페이지수가 우리 사이트가 가진 콘텐츠를 적절하게 색인할 수 있을지 고민해보셔야 한다.
[크롤링 통계 확인 보고서]
보고서 : https://www.google.com/webmasters/tools/crawl-stats
서치 콘솔 메뉴 위치 : '기존 도구 및 보고서' > '크롤링 통계'
구글 가이드 : https://support.google.com/webmasters/answer/35253?hl=ko
이 단계는 실제로 적절하게 색인되고 있는지를 확인하는 단계라고 본다. 다만 이 보고서는 크롤링에 대한 보고서가 아니다. 거기에 색인수는 크롤링 현황뿐 아니라 여러 가지 요소에 영향을 받는다. 그래서 이 숫자만을 보고 모든 것을 단언할 수는 없다. 다만 구글 봇이 우리가 검색에 노출하기 원하는 페이지들을 적절하게 발견하여 크롤링해두었는지를 유추해 볼 수는 있다.
[색인 생성 범위 보고서]
색인 생성 범위 보고서 : https://search.google.com/search-console/index
구글 가이드 : https://support.google.com/webmasters/answer/7440203?hl=ko
아래의 상황이 발견된다면, 여러분의 사이트에 Disallow 작업을 진행하는 것을 고려해 볼 수 있다.
[Disallow를 고려해볼 상황]
별다른 오류도 없는데, 색인 범위의 숫자가 너무 적다
'제외됨' 항목 중 '크롤링됨 - 현재 색인 생성되지 않음'의 숫자마저 적다
크롤링됨 - 현재 색인 생성되지 않음 발견된 URL 목록에 매개 변수만 다른 중복문서들이 많다
그리고 난 후에 적절한 Disallow를 해야 할 것들- 기능하는데 필요하지 않은 매개변수, 내가 검색에 노출하지 않아도 되는 페이지, 동일한 내용을 담고 있지만 URL만 다른 페이지들- 찾아보시라. 그리고 아래 조건문을 참고하여 Robots.txt의 Disallow 리스트를 만들면 된다. 모든 페이지를 다 리스트 업 할 필요가 없다. 아래 조건문 3가지 정도만 기억하여서 URL을 그룹화해서 정리하시면 된다. 아래 조건문을 고려하면, 개발자와 이야기하는 부분이 쉬워진다. What Crawl Budget Means for Googlebot 의 모든 개발적인 문제 상황을 처리할 수 있다면 좋겠지만, 마케터나 기획자 수준에서 눈에 보이는 중복문서와 매개변수 만 정리하셔도 충분하실 것 같다.
[Disallow 조건문]
/폴더명/ : 해당 폴더에 속한 모든 웹문서는 수집하지 않음
/ABC$ : ABC로 끝나는 URL을 수집하지 않음
/*ABC : /이후 ABC를 포함하는 모든 URL (/123ABC, /1ABC/가나 등)
개발자 문서 : https://developers.google.com/search/reference/robots_txt?hl=ko#url-matching-based-on-path-values
크롤링 예산을 관리는 전체 SEO관점에서는 큰 부분은 아니다. 직접적으로 검색 순위를 결정하는 요소가 아니다. 이런 작업이 무슨 의미가 있는가 싶을 수 있다. 작업을 해도 여전히 신규 콘텐츠의 색인이 더딜 수 있다. 큰 변화를 체감하지 않을 수도 있다. 더욱이 모두가 신경 써야 할 사항도 아니다.
그러나 언제나 "악마는 디테일에 있다". 성과가 더딜수록, 디테일에 부족함이 없는지 살피시기를 부탁드린다. SEO에서 게임 체인져는 없다. 한 땀 한 땀 쌓아 올린 최적화가 성과를 가져온다. 최적화가 순위 요소에만 국한되어서는 안 된다. 검색엔진에 대한 전반적인 부분에 대한 최적화도 신경 써주시면 좋겠다.
Robots.txt를 잘 만들면 사람의 마음도 '조율' 할 수 있습니다. 물론 미국 갈 수 있는 사람만요. :D