brunch

글로벌 SEO 전략 - robots.txt 설정 방법

by 비산프로

안녕하세요! 오늘은 글로벌 서비스를 운영하는 경우 여러 국가별 검색엔진의 특징을 반역해서 SEO(검색엔진최적화) 진행을 위해 가장 기본이 되는 robots.txt 설정 방법에 대해 함께 나누고자 합니다.


우선 robots.txt가 무엇인지 말씀드리자면, "우리 홈페이지 서버에 접근하는 검색엔진 크롤러에게 어떤 유형의 페이지는 크롤링해도 괜찮고 어떤 페이지는 안돼"를 알려주는 텍스트 파일입니다. 그냥 "웹사이트 서버에 robots.txt 파일을 업데이트 해두면 검색엔진 크롤러가 이거 보고 우리 웹사이트 내용 수집해 간다" 정도만 이해하셔도 됩니다.


실제 robots.txt가 어떻게 생겼는지 살펴볼까요? 기본적으로 특정 사이트 URL에다가 /robots.txt 입력 후 엔터를 치면 해당 페이지가 어떻게 검색엔진 크롤러의 접근을 통제하고 있는지 확인 할 수 있습니다.


www.apple.com의 robots.txt 현황


애플은 전세계를 고객으로 하는 서비스라서 Baidu, HaoSouSpider 같은 중국의 검색엔진에 대한 통제를 별도 설정한 것을 볼 수 있습니다. 여기서 가장 근간이 되는 것은 첫 번째 영역입니다.


애플 robots.txt 기본 설정 현황

User-agent : *

뜻 : 모든 크롤러 대상


Disallow : /*shop/browse/overlay/*

뜻 : www.apple.com/ 을 기본으로 "shop/browse/overlay/" 가 있으면 크롤링 하지 마라

참고 사항 : *(와일드카드)는 "아무 글자나 올 수 있다"라는 표시

해당 URL 예시 : https://www.apple.com/shop/browse/overlay/promo?item=iphone


Allow: /ac/globalnav/2.0/*/images/ac-globalnav/globalnav/search/*

뜻 : www.apple.com/ac/globalnav/2.0/*/images/ac-globalnav/globalnav/search/ 형태의 URL 뒤에 나오는 모든 페이지들에는 접근해도 괜찮다.

참고 사항 : "Allow"는 크롤러 접근을 허용하는 뜻으로 기본적으로 Disallow만 설정해놔도 나머지는 검색엔진 크롤러가 알아서 수집합니다. 다만, "Disallow" 해당 경우 중 예외를 주고 싶은 경우 Allow 설정을 따로 할 수 있습니다.

해당 URL 예시 : https://www.apple.com/ac/globalnav/2.0/en_US/images/ac-globalnav/globalnav/search/icon_search.png


위와 같이 애플은 전세계 검색엔진을 대상으로 위와 같은 규칙을 가지고 우리 사이트에 대한 크롤링을 모든 검색엔진들에게 허용하고 있습니다. 이것이 기본 원칙입니다. 여기서 밑으로 가면 특정 엔진에 대한 별도 설정이 시작됩니다.


중국 검색엔진 대상 크롤링 규칙 설정 현황


User-agent: Baiduspider

뜻 : 명령 대상은 바이두 크롤러


Disallow: /*

뜻 : 기본적으로 우리 페이지 크롤링 금지한다


Allow: /cn-edu/*

뜻 : 단, https://www.apple.com/cn/-edu/ 로 시작하는 URL에 대해서는 크롤링 허용한다.

해당 URL 예시 : https://www.apple.com/cn-edu/programs/discount


위와 같이 기본적인 대원칙을 먼저 쓰고 그 다음에 검색엔진별로 예외를 둘 수 있는 사항에 대해 하부 조건을 설정하는 방식으로 robots.txt를 설정할 수 있습니다. 사실 제가 되게 개념적인 얘기만 드렸기 때문에 SEO(검색엔진최적화)를 처음 접하는 분들이 이 내용을 보고 robots.txt를 설정하는 것은 불가합니다. 기본적인 내용은 네이버 robots.txt 설정하기구글 robots.txt 파일 작성 및 제출 방법 안내 사항을 참조하시기 바랍니다.


여기서 글을 마친다면, 이 포스팅만의 특징이 없겠죠? 그래서 시작합니다. 제가 이 글을 쓰게 된 가장 본질적인 이유! 네이버 크롤 예산 효율화를 위한 네이버 크롤러 대상 타국가 페이지 크롤러 접근 금지 설정입니다.


여러분들께서 다국적 사이트를 운영하는데, 국가별 페이지가 100만 개 이상인 경우 "색인 완료된 페이지 수 강화" 그리고 "웹페이지 콘텐츠 최신화 색인 빈도 증가"에 대한 고민이 있을 것 입니다. 100만 개가 넘는 페이지를 운영중에 있다면, 검색엔진 크롤러가 모든 페이지를 다 수집해서 색인해 놓는 다는 것이 한계가 있습니다. 그러다보면 중요한 페이지를 검색엔진이 수집/색인하지 않는 경우가 발생할 수 있는데, 이런 경우를 방지하기 위해 "꼭 필요한 페이지만 색인해"라는 차원에서 robots.txt를 설정하는 것도 있습니다.


특히나 네이버는 완전 한국 특화 서비스라서, 네이버 크롤러가 미국, 중국, 대만, 일본 페이지에 대해서도 색인을 하며 크롤 예산을 낭비할 필요가 없겠죠?? 그래서 네이버한테 "다른 국가 페이지는 크롤러 접근 불허한다"는 설정이 필요합니다.


네이버는 기본적인 설정을 다음과 같습니다.

User-agent: Yeti
Allow: /


사실 아까 맨 앞에서 말씀드렸던 User-agnt : * 이것만 해두면 따로 설정할 필요는 없는데, 네이버 크롤러에게만 해당하는 별도 설정을 하려면 Yeti 한테 따로 명령할 것을 작성해야 합니다. 그런에 예를들어 "중국의 모든 페이지들은 크롤러 접근을 불허한다." 는 설정을 한다고 가정해보겠습니다.


User-agent: *
Disallow: /*shop/browse/overlay/*
Disallow: /*shop/iphone/payments/overlay/*
Disallow: /cn/*/aow/* Disallow: /tmall*
Allow: /ac/globalnav/2.0/*/images/ac-globalnav/globalnav/search/*

User-agent: Yeti
Disallow: /cn/*


이렇게 설정을 완료 했다면, 내 뜻대로 잘 됐는지 테스트를 해봐야겠죠? 테스트에는 dentsu의 TechnicalSEO.com 을 활용하면 좋습니다. 우선 내가 설정한 robots.txt 내용을 입력합니다.


TechnicalSEO.com 테스터 설정


실제 URL은 그렇지 않지만, 설명을 위해 중국의 apple 페이지가 "https://www.apple.com/cn/" URL로 되어있다고 가정하겠습니다. 또한 테스터에서 User Agent를 Yeti를 제공하지 않기 때문에 "Googlebot"으로 설정하고 테스트를 진행해보겠습니다.


1. URL 입력

2. User Agent 선택

3. TEST 클릭

4. 결과 확인 : Disallowed


해당 URL의 크롤러 접근 허용이 안되는 것을 확인할 수 있죠? 이렇게 실제 서버에 업데이트 하기 전 테스트 할 수 있는 방법이 있습니다. 꼭! 꼭! 꼭! 확인하고 업데이트 하세요. 그리고 반드시 해당 설정을 하기 전에 네이버에서 검색했을 때 한국 페이지를 어떤 URL로 색인했는지 확인하세요.


네이버의 애플 메인 홈페이지 색인/노출 현황

네이버는 https://www.apple.com/kr/ 대신 https://www.apple.com/ 을 색인하고 있습니다. 그래서 한국페이지 제외 모든 국가 크롤러 접근 허용 금지에 기본을 https://www.apple.com/kr/ 로 생각하고 나머지 모두를 Disallow 설정해버리면....큰 일 납니다. 타국가 크롤러 접근 금지 설정 전에는 반드시 네이버가 무슨 페이지를 메인으로 색인하고 있는지 살펴보자! 를 원칙으로 알아두세요!


그럼 이번주 검색엔진최적화(SEO) 이야기를 여기서 마쳐보겠습니다. 감사합니다.

keyword
이전 25화브랜드 프로모션 구글 AI오버뷰 상위 노출 방법