Robots.txt 파일과 Sitemap 파일 관리하기

등록일시: 2010-06-14 16:52,  수정일시: 2013-11-25 15:04
조회수: 8,659
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

검색엔진 최적화 툴킷에는 웹 사이트의 Robots.txt 파일을 관리하기 위한 로봇 배제 기능과 사이트맵 파일을 관리하기 위한 사이트맵 및 사이트맵 인덱스 기능이 포함되어 있습니다. 본문에서는 따라하기를 통해서 이 기능들을 사용하는 방법과 그 필요성을 살펴봅니다.

배경

검색엔진의 크롤러는 웹 사이트의 귀중한 시간과 자원을 소모할 뿐입니다. 따라서, 다음과 같은 작업들이 매우 중요할 수 밖에 없습니다:

  1. 비교적 중요하지 않다거나, 검색 결과 페이지에 노출되면 안 되는 콘텐츠들을 크롤러가 인덱싱하지 못하도록 막아야 합니다.
  2. 반드시 인덱싱되야 한다고 생각되는 중요한 콘텐츠들의 경로를 크롤러에게 알려줍니다.

이런 작업들을 수행하기 위해서 보편적으로 사용되는 두 가지 프로토콜이, 바로 로봇 배제 프로토콜사이트맵 프로토콜입니다.

먼저, 로봇 배제 프로토콜은 검색엔진 크롤러에게 웹 사이트를 크롤링 할 때 어떤 URL에 접근하면 안되는지를 알려주기 위한 용도로 사용됩니다. 배제 명령어는 웹 사이트 루트에 위치한 Robots.txt라는 이름의 텍스트 파일에 작성되는데, 거의 대부분의 검색엔진 크롤러들이 이 파일을 찾아서 파일에 지정된 명령들을 따릅니다.

반면, 사이트맵 프로토콜은 검색엔진 크롤러에게 크롤링 가능한 웹 사이트의 URL을 알려주기 위한 목적으로 사용됩니다. 더불어, 해당 웹 사이트 URL의 최종변경일시, 변경주기, 상대적 중요도 같은 추가적인 메타 데이터들을 제공해주기 위한 목적으로도 활용됩니다. 그러면, 검색엔진이 웹 사이트를 인덱싱 할 때 이 메타 데이터들을 활용할 수 있습니다.

전제조건

1. 웹 사이트 또는 웹 응용 프로그램 설정

본문의 내용을 따라해보려면, 직접 제어할 수 있는 IIS7에서 운영되는 웹 사이트나 웹 응용 프로그램이 필요합니다. 만약, 보유하고 있는 기존의 웹 응용 프로그램이 없다면, 마이크로소프트 웹 App 갤러리에서 한 가지를 선택해서 설치할 수 있습니다. 가령, 본문의 따라하기에서는 인기있는 블로깅 응용 프로그램인 DasBlog를 사용할 것입니다.

2. 웹 사이트 분석

웹 사이트나 웹 응용 프로그램이 준비됐다면, 검색엔진이 콘텐츠를 크롤링하는 보편적인 방식을 이해하기 위해서 웹 사이트 분석을 수행해봅니다. 웹 사이트를 분석하는 방법은 사이트 분석 도구로 웹 사이트 크롤링하기 기사와 사이트 분석 보고서 이해하기 기사에서 설명하고 있는 과정들을 참고하시기 바랍니다. 그런데, 실제로 분석을 수행해보면 검색엔진이 크롤링 할 수는 있지만 크롤링되거나 인덱스되더라도 사실 아무런 이점도 없는 몇몇 URL들을 발견할 수 있을 것입니다. 이를테면, 로그인 페이지나 리소스 페이지는 검색엔진 크롤러에 의해 요청될 필요가 없습니다. 이런 URL들의 경우, Robots.txt 파일에 규칙을 추가하여 검색엔진에 숨기는 것이 좋습니다.

Robots.txt 파일 관리

검색엔진에게 웹 사이트의 어떤 영역이 크롤링되거나 인덱스되면 안되는지를 말해주는 Robots.txt 파일을 관리하기 위해서, IIS SEO 툴킷의 로봇 배제 기능을 이용할 수 있습니다. 다음의 과정은 그 사용법을 설명하고 있습니다:

  1. 시작 메뉴에 INETMGR을 입력하여 IIS 관리 콘솔을 실행합니다.
  2. 그리고, 좌측 트리뷰에서 웹 사이트를 찾아서 선택합니다. (예, Default Web Site)
  3. 관리 영역에서 "Search Engine Optimization" 기능 아이콘을 마우스로 더블 클릭합니다:
  4. SEO 메인 페이지에서, "Robots Exclusion" 섹션의 "Add a new disallow rule" 작업 링크를 클릭합니다.

거부 및 허용 규칙 추가하기

그러면, "Add Disallow Rules" 대화 상자가 나타날 것입니다:

로봇 배제 프로토콜은 크롤링을 허용하는 URL 경로와 크롤링을 허용하지 않는 URL 경로에 대한 정보를 검색엔진에게 알려주기 위해서, 각각 "Allow"와 "Disallow"라는 명령어를 사용합니다. 이 명령어들은 모든 검색엔진을 대상으로 지정될 수도 있고 user-agent HTTP 헤더로 구분할 수 있는 특정 사용자 에이전트별로 지정할 수도 있습니다. "Add Disallow Rules" 대화 상자에서는 "Robot (User Agent)" 텍스트 박스에 크롤러의 사용자 에이전트 정보를 입력해서 명령어들이 적용될 검색엔진 크롤러를 지정할 수 있습니다.

그리고, "URL Path" 트리뷰를 이용하면 거부할 URL들을 선택할 수 있는데, 이 때 "URL structure" 드롭다운 리스트 박스에서 몇 가지 옵션을 선택할 수 있습니다:

  • Physical Location - 웹 사이트의 물리적 파일 시스템 구조에서 경로를 선택할 수 있습니다.
  • From Site Analysis (분석 이름) - IIS 사이트 분석 도구로 분석된 사이트인 경우, 분석된 가상 URL 구조에서 경로를 선택할 수 있습니다.
  • <Run new Site Analysis...> - 웹 사이트에 대한 사이트 분석을 수행하고, 그 결과로 얻어진 가상 URL 구조에서 URL 경로를 선택할 수 있습니다.

전제조건 섹션에서 얘기했던 과정들을 모두 마쳤다면, 이미 드롭다운 리스트 박스에 선택할 수 있는 사이트 분석이 존재할 것입니다. 드롭다운 리스트 박스에서 분석을 선택한 다음, "URL Paths" 트리뷰에서 검색엔진으로부터 숨길 필요가 있는 URL들의 체크박스를 클릭해서 선택합니다:

거부할 디렉터리와 파일들을 모두 선택했으면 "OK" 버튼을 클릭합니다. 그러면, 선택한 거부 항목들의 목록이 메인 기능 뷰에 나타납니다:

더불어, 웹 사이트의 Robots.txt 파일의 내용도 함께 수정됩니다. (만약, 기존에 생성된 Robots.txt 파일이 없다면 새 파일이 생성됩니다.) 아마 파일의 내용은 다음과 거의 유사할 것입니다:

User-agent: *
Disallow: /EditConfig.aspx
Disallow: /EditService.asmx/
Disallow: /images/
Disallow: /Login.aspx
Disallow: /scripts/
Disallow: /SyndicationService.asmx/

만약, Robots.txt 파일이 크롤링에 어떤 영향을 주는지 확인해보려면 사이트 분석 기능으로 웹 사이트를 다시 분석해봅니다. 그리고, 분석 보고서 요약 페이지의 "Links" 카테고리에서 "Links Blocked by Robots.txt" 항목을 선택해보면, 방금 생성한 Robots.txt 파일에 의해 거부되어 크롤링되지 않은 모든 링크들의 목록이 나타납니다.

사이트맵 파일 관리

검색엔진에게 웹 사이트의 어떤 페이지들을 크롤링하고 인덱스해야 하는지를 말해주는 사이트맵을 작성하기 위해서, IIS SEO 툴킷의 사이트맵 및 사이트맵 인덱스 기능을 이용할 수 있습니다. 다음의 과정들은 그 방법을 설명하고 있습니다:

  1. 시작 메뉴에 INETMGR을 입력하여 IIS 관리 콘솔을 실행합니다.
  2. 그리고, 좌측 트리뷰에서 웹 사이트를 찾아서 선택합니다. (예, Default Web Site)
  3. 관리 영역에서 "Search Engine Optimization" 기능 아이콘을 마우스로 더블 클릭합니다:
  4. SEO 메인 페이지에서, "Sitemaps and Sitemap Indexes" 섹션의 "Add a new sitemap" 작업 링크를 클릭합니다.
  5. 그러면, "Add Sitemap" 대화 상자가 나타날 것입니다.
  6. 사이트맵 파일의 이름을 입력하고 "OK" 버튼을 클릭하면, "Add URLs" 대화 상자가 나타납니다.

사이트맵에 URL 추가하기

나타난 "Add URLs" 대화 상자는 다음과 같은 모습일 것입니다:

기본적으로 사이트맵 파일은 URL들의 목록과 해당 URL들의 변경주기, 최종변경일시, 상대적 중요도 등을 담고 있는 간단한 XML 파일입니다. "Add URLs" 대화 상자를 이용해서 새로운 URL 항목을 사이트맵 XML 파일에 추가할 수 있습니다. 사이트맵에 등록된 각각의 URL들은 전체 경로 URI 형식이어야만 합니다. (예. 프로토콜 접두사 및 도메인명을 반드시 포함해야 합니다.) 따라서, 가장 첫 번째로 지정해야 할 정보는 사이트맵에 추가할 URL에 사용될 도메인입니다.

"URL Path" 트리뷰를 이용해서 사이트맵에 추가할 인덱싱 될 URL들을 선택할 수 있으며, 이 때 "URL structure" 드롭다운 리스트 박스에서 몇 가지 옵션을 선택할 수 있습니다:

  • Physical Location - 웹 사이트의 물리적 파일 시스템 구조에서 경로를 선택할 수 있습니다.
  • From Site Analysis (analysis name) - IIS 사이트 분석 도구로 분석된 사이트인 경우, 분석된 가상 URL 구조에서 경로를 선택할 수 있습니다.
  • <Run new Site Analysis...> - 웹 사이트에 대한 사이트 분석을 수행하고, 얻어진 가상 URL 구조에서 인덱싱에 포함될 URL 경로를 선택할 수 있습니다.

전제조건 섹션에서 얘기했던 과정들을 모두 마쳤다면, 이미 드롭다운 리스트 박스에 선택할 수 있는 사이트 분석이 존재할 것입니다. 드롭다운 리스트 박스에서 분석을 선택한 다음, "URL Paths" 트리뷰에서 사이트맵에 포함될 URL들을 체크하여 선택합니다.

필요에 따라 "Change Frequency", "Last Modified Date", 그리고 "Priority" 옵션을 변경한 다음, "OK" 버튼을 클릭하면 사이트맵에 선택된 URL들이 추가됩니다. 그러면, Sitemap.xml 파일의 내용도 함께 수정되는데, (만약, 기존에 생성된 사이트맵 파일이 없다면 새로운 파일이 생성됩니다.) 아마도 파일 내용은 다음과 거의 비슷할 것입니다:

<urlset>
  <url>
    <loc>http://myblog/2009/03/11/CongratulationsYouveInstalledDasBlogWithWebDeploy.aspx</loc>
    <lastmod>2009-06-03T16:05:02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>http://myblog/2009/06/02/ASPNETAndURLRewriting.aspx</loc>
    <lastmod>2009-06-03T16:05:01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>

사이트맵 경로를 Robots.txt 텍스트 파일에 추가하기

정상적으로 사이트맵을 생성했다면 사이트맵의 위치를 검색엔진에게 알려주어 이를 사용할 수 있게 만들어야 합니다. 가장 간단한 방법은 사이트맵의 위치를 Robots.txt 파일에 추가하는 것입니다.

인터넷 정보 관리자의 사이트맵 및 사이트맵 인덱스 기능 페이지에서 앞에서 생성한 사이트맵을 선택한 다음, 우측의 "Actions" 패인에서 "Add to Robots.txt" 링크 버튼을 클릭합니다:

그러면, Robots.txt 파일의 내용이 아마도 다음과 같이 변경되어 있을 것입니다:

User-agent: *
Disallow: /EditService.asmx/
Disallow: /images/
Disallow: /scripts/
Disallow: /SyndicationService.asmx/
Disallow: /EditConfig.aspx
Disallow: /Login.aspx

Sitemap: http://myblog/sitemap.xml

검색엔진에 사이트맵 등록하기

마지막으로, Robots.txt 파일에 사이트맵 경로를 추가하는 작업을 마쳤다면, 이 사이트맵 URL을 유명 검색엔진에 제출하여 등록하는 것이 좋습니다. 그러면, 검색엔진이 제공해주는 웹마스터 도구들을 이용해서 웹 사이트에 대한 유용한 상태 및 통계 정보를 얻을 수 있습니다.

요약

본문에서는 웹 사이트의 Robots.txt 파일과 사이트맵 파일을 관리하기 위해서 IIS 검색엔진 최적화 툴킷에서 제공되는 로봇 배제 기능과 사이트맵 및 사이트맵 인덱스 기능을 사용하는 방법을 살펴봤습니다. IIS 검색엔진 최적화 툴킷은 검색엔진에 의해 이용되는 Robots.txt 파일과 사이트맵 파일을 작성하고, 내용의 정확성을 검증할 때 활용할 수 있는 통합 도구 모음을 제공해줍니다.