robots.txt는 검색로봇들이 웹 사이트의 페이지를 수집할 수 있게 해주거나 반대로 접근을 막는 역할을 합니다.
페이지를 수집하거나 막는 역할이 전부인 이 robots.txt가 SEO 최적화에 있어 왜 중요할까요? 바로 robots.txt가 검색엔진 로봇에 웹사이트의 사이트맵 위치 정보를 알려주는 역할을 하기 때문입니다.
또한 robots.txt를 조절해 검색엔진 로봇들의 무분별한 크롤링으로 인한 중복 페이지 수집을 막을 수도 있습니다. 페이지 중복은 검색엔진들이 패널티를 주는 요인입니다. 이를 최대한 피하는게 좋겠죠.
크롤링 되기를 원하지 않는 웹 페이지가 있다면 robots.txt 이용해 접근을 차단할 수 있습니다. 검색엔진은 robots.txt 파일이 없다면 모든 콘텐츠를 수집할 수 있다고 여기기 때문입니다.
robots.txt 파일은 html이 아닌 일반 텍스트 파일로 작성되어야 하며 파일 이름에는 소문자를 사용해야 합니다. 항상 사이트의 루트 디렉토리에 위치해야 하는데 다른 곳에 robots.txt을 올리면 검색로봇이 이를 찾을 수 없기 때문입니다.
또한 열린 소스이기에 어느 사이트든 주소 뒤에 /robots.txt를 붙인다면 어떤 형식으로 만들어졌는지 확인 가능합니다.
Robots.txt 파일은 크롤링 예산 최적화하는 데 좋습니다. 검색엔진이 웹사이트를 크롤링하는 자원은 일별 주별로 한정되어 있기 때문에 불필요한 웹페이지는 Sitemap에서 제외해서 크롤링이 되지 않도록 한다면 크롤링 자원을 낭비하지 않게 할 수 있겠죠. robots.txt는 서버가 과부하되는 것 역시 방지합니다.
그렇다면 로봇파일 설정은 어떻게 하는 걸까요?
User-agent: *
Disallow: /
이렇게 제작한다면 웹페이지에서 모든 검색엔진의 접근을 거부한다는 뜻입니다. 만약 특정한 검색엔진만 허용하고 싶다면 이렇게 수정하세요.
User-agent: *
Disallow: /
User-agent: Yeti
Allow: /
이렇게 만들면 네이버 검색엔진만 허용한다는 뜻입니다.
User-agent: Googlebot
Disallow: /
반대로 이 경우는 구글 검색엔진의 접근만 차단하게 됩니다.
하지만 아예 검색엔진의 접근을 막아버린다면 당연히 SEO 최적화에 좋지 않습니다. 그렇기에 특정한 몇가지 콘텐츠만 차단하는 것도 방법입니다.
User-agent: *
Disallow: /sale/
이렇게 설정한다면 검색엔진이 /sale/ 디렉토리 안의 페이지를 제외한 모든 콘텐츠를 크롤링할 수 있습니다. 이런 방식으로 무분별한 웹페이지의 수집을 막는다면 SEO 최적화에 훨씬 도움이 될 수 있겠죠.
Sitemap은 크롤링이 쉽게 되지 않은 웹 페이지들도 검색될 수 있도록 검색엔진에 위치를 알리는 역할을 합니다. Sitemap이 검색엔진 로봇으로 전달되면 크롤링을 통해 웹페이지나 블로그가 색인 될 수 있어 좋습니다.
Sitemap은 모든 URL에 관련한 메타데이터를 사용하여 사이트의 URL을 나열하는 XML 파일입니다.
User-agent: *
Allow: /
Sitemap: http://www.example.com/sitemap.xml
이런 형태로 sitemap.xml의 위치를 robots.txt에 기록하게 만들어 검색 엔진이 웹페이지를 보다 쉽게 크롤링하게 도울 수 있습니다. 또한 Sitemap은 정해진 제작양식이 있기 때문에 그에 맞춰 제작되어야 합니다. 제작된 Sitemap은 보통 루트 디렉토리에 업로드합니다.
Sitemap을 사용한다면 검색엔진들은 페이지가 얼마나 자주 업데이트 되는지, 각 페이지가 언제 마지막으로 수정되는지에 대한 정보들을 알 수 있습니다. 이는 사이트가 얼마나 잘 관리되고 있는지를 나타내며 궁극적으로는 SEO 최적화에 도움을 줍니다.
robots.txt는 SEO에 있어 반드시 필수적으로 해야하는 일은 아니지만 사용하기에 따라 SEO 최적화에 큰 도움이 되는 무기입니다. 웹사이트에 적절한 robots.txt 설정으로 상위랭킹을 노려보세요.
검색 엔진 최적화(SEO) 및 데이터 분석이 필요하시면 하이프마크에 문의해주세요.
감사합니다.