robots.txt 파일 작성 및 제출 방법

robots.txt 파일을 사용하여 사이트에서 크롤러가 액세스할 수 있는 파일을 제어할 수 있습니다.

robots.txt 파일은 사이트의 루트에 위치합니다. 따라서 www.example.com 사이트의 경우 robots.txt 파일은 www.example.com/robots.txt에 있습니다. robots.txt는 로봇 배제 표준을 따르는 일반 텍스트 파일입니다. robots.txt 파일은 하나 이상의 규칙으로 구성됩니다. 각 규칙은 모든 또는 특정 크롤러가 robots.txt 파일이 호스팅되는 도메인 또는 하위 도메인에서 지정된 파일 경로에 액세스하는 것을 차단하거나 허용합니다. robots.txt 파일에서 다르게 지정하지 않는 한 모든 파일은 암시적으로 크롤링에 허용됩니다.

다음은 두 가지 규칙이 포함된 간단한 robots.txt 파일입니다.

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

Sitemap: https://www.example.com/sitemap.xml

이 robots.txt 파일의 의미는 다음과 같습니다.

  1. 이름이 Googlebot인 사용자 에이전트는 https://example.com/nogooglebot/으로 시작하는 URL을 크롤링할 수 없습니다.
  2. 그 외 모든 사용자 에이전트는 전체 사이트를 크롤링할 수 있습니다. 이 부분을 생략해도 결과는 동일합니다. 사용자 에이전트가 전체 사이트를 크롤링할 수 있도록 허용하는 것이 기본 동작입니다.
  3. 사이트의 사이트맵 파일https://www.example.com/sitemap.xml에 있습니다.

더 많은 예는 구문 섹션을 참고하세요.

robots.txt 파일 만들기 기본 가이드라인

robots.txt 파일을 만들어 일반적으로 액세스 가능하고 유용하게 하려면 네 단계가 필요합니다.

  1. robots.txt라는 파일을 만듭니다.
  2. robots.txt 파일에 규칙을 추가합니다.
  3. robots.txt 파일을 사이트 루트에 업���드합니다.
  4. robots.txt 파일을 ���스트합니다.

Robots.txt 파일 만들기

거의 모든 텍스트 편집기를 사용하여 robots.txt 파일을 만들 수 있습니다. 예를 들어 메모장, TextEdit, vi, emacs는 유효한 robots.txt 파일을 만들 수 있습니다. 워드 프로세서는 사용하지 마세요. 워드 프로세서는 파일을 고유의 형식으로 저장하는 경우가 많고, 둥근 따옴표와 같은 예상치 못한 문자를 추가하여 크롤러에 문제를 일으킬 수 있습니다. 파일 저장 대화상자에서 메시지가 표시되면 UTF-8 인코딩으로 파일을 저장해야 합니다.

형식 및 위치 규칙

  • 파일 이름은 robots.txt로 지정해야 합니다.
  • 사이트에는 robots.txt 파일이 하나만 있어야 합니다.
  • robots.txt 파일은 파일이 적용되는 웹사이트 호스트의 루트에 있어야 합니다. 예를 들어, https://www.example.com/ 아래 모든 URL에 관한 크롤링을 제어하려면 robots.txt 파일이 https://www.example.com/robots.txt에 있어야 합니다. 이 파일을 하위 디렉터리(예: https://example.com/pages/robots.txt)에 배치하면 안 됩니다. 웹사이트 루트에 액세스하는 방법을 잘 모르거나 액세스 권한이 필요한 경우 웹 호스팅 서비스 제공업체에 문의하세요. 웹사이트 루트에 액세스할 수 없다면 meta 태그와 같은 다른 차단 방법을 사용하세요.
  • robots.txt 파일을 하위 도메인(예: https://website.example.com/robots.txt) 또는 비표준 포트(예: https://example.com:8181/robots.txt)에 게시할 수 있습니다.
  • robots.txt 파일은 파일이 게시된 프로토콜, 호스트, 포트 내의 경로에만 적용됩니다. 즉, https://example.com/robots.txt의 규칙은 https://example.com/의 파일에만 적용되며 https://m.example.com/과 같은 하위 도메인이나 http://example.com/과 같은 대체 프로토콜에는 적용되지 않습니다.
  • robots.txt 파일은 UTF-8로 인코딩된 텍스트 파일이어야 합니다(ASCII 포함). Google은 UTF-8 범위에 속하지 않는 문자를 무시할 수 있으므로 robots.txt 규칙이 무효화될 수 있습니다.

robots.txt 규칙 작성 방법

규칙은 크롤러가 크롤링할 수 있는 사이트의 부분에 관한 지침입니다. robots.txt 파일에 규칙을 추가할 때 다음 가이드라인을 따르세요.

  • robots.txt 파일은 하나 이상의 그룹(규칙의 집합)으로 구성됩니다.
  • 각 그룹은 한 행에 하나의 규칙(지시어라고도 함)으로 구성됩니다. 각 그룹은 그룹의 대상을 지정하는 User-agent 행으로 시작합니다.
  • 그룹은 다음과 같은 정보를 제공합니다.
    • 그룹이 적용되는 대상(사용자 에이전트)
    • 에이전트가 액세스할 수 있는 디렉터리나 파일
    • 에이전트가 액세스할 수 없는 디렉터리나 파일
  • 크롤러는 위에서 아래로 그룹을 처리합니다. 사용자 에이전트는 주어진 사용자 에이전트와 일치하는 가장 구체적인 첫 번째 그룹인 한 가지 규칙 집합에만 연결될 수 있습니다. 동일한 사용자 에이전트에 여러 그룹이 있는 경우 처리가 진행되기 전에 여러 그룹이 하나의 그룹으로 결합됩니다.
  • 기본적인 가정은 사용자 에이전트에서 disallow 규칙으로 차단되지 않은 페이지나 디렉터리를 크롤링할 수 있다는 것입니다.
  • 규칙은 대소문자를 구분합니다. 예를 들어, disallow: /file.asphttps://www.example.com/file.asp에 적용되지만 https://www.example.com/FILE.asp에는 적용되지 않습니다.
  • # 문자는 주석의 시작 부분을 표시합니다. 댓글은 처리 중에 무시됩니다.

Google 크롤러는 robots.txt 파일에서 다음 규칙을 지원합니다.

  • user-agent: [필수, 그룹당 하나 이상] 규칙은 규칙이 적용되는 검색엔진 크롤러(자동화 클라이언트)의 이름을 지정합니다. 이 명령은 모든 규칙 그룹의 첫 행입니다. Google 사용자 에이전트 이름은 Google 사용자 에이전트 목록에 나열되어 있습니다. 별표(*)를 사용하면 이름을 명시적으로 지정해야 하는 여러 AdsBot 크롤러를 제외한 모든 크롤러에 규칙을 적용할 수 있습니다. 예:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all crawlers except AdsBot (AdsBot crawlers must be named explicitly)
    User-agent: *
    Disallow: /
  • disallow: [규칙당 하나 이상의 disallow 또는 allow 항목 필요] 사용자 에이전트가 크롤링하지 않도록 하려는 루트 도메인 관련 디렉터리 또는 페이지입니다. 규칙이 페이지를 참조하는 경우 브라우저에 표시되는 전체 페이지 이름이어야 합니다. / 문자로 시작해야 하고 디렉터리를 참조하는 경우 / 기호로 끝나야 합니다.
  • allow: [규칙당 하나 이상의 disallow 또는 allow 항목 필요] 방금 언급한 사용자 에이전트가 크롤링할 수 있는 루트 도메인 관련 디렉터리 또는 페이지입니다. 이는 disallow 규칙을 재정의하여 허용되지 않은 디렉터리에 있는 하위 디렉터리 또는 페이지를 크롤링할 수 있도록 합니다. 단일 페이지의 경우 브라우저에 표시된 전체 페이지 이름을 지정합니다. / 문자로 시작해야 하고 디렉터리를 참조하는 경우 / 기호로 끝나야 합니다.
  • sitemap: [선택사항, 파일당 0개 이상] 웹사이트의 사이트맵 위치입니다. 사이트맵 URL은 정규화된 URL이어야 합니다. Google은 http, https, www를 포함하는 URL과 포함하지 않는 대체 URL을 가정하거나 확인하지 않습니다. 사이트맵은 Google에서 크롤링할 수 있거나 할 수 없는 콘텐츠를 표시하는 것이 아니라 크롤링을 해야 하는 콘텐츠를 표시할 때 좋은 방법입니다. 사이트맵에 관해 자세히 알아보기 예:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: https://www.example.com/sitemap.xml

sitemap을 제외한 모든 규칙은 경로 접두사, 접미사 또는 전체 문자열에 * 와일드 카드를 지원합니다.

다음 규칙과 일치하지 않는 행은 무시됩니다.

각 규칙에 관한 자세한 내용은 Google의 robots.txt 사양 해석 페이지를 참고하세요.

robots.txt 파일 업로드

robots.txt 파일을 컴퓨터에 저장했다면 검색엔진 크롤러에서 사용할 수 있습니다. 이 작업에 도움이 되는 한 가지 도구는 없습니다. robots.txt 파일을 사이트에 업로드하는 방법은 사이트와 서버 아키텍처에 따라 달라지기 때문입니다. 호스팅 회사에 문의하거나 호스팅 회사의 문서를 검색하세요. 예를 들어 '업로드 파일 infomaniak'를 검색합니다.

robots.txt 파일을 업로드한 후 공개적으로 액세스할 수 있는지, Google에서 파싱할 수 있는지 테스트합니다.

robots.txt 마크업 테스트

새로 업로드한 robots.txt 파일에 공개적으로 액세스할 수 있는지 테스트하려면 브라우저에서 시크릿 브라우징 창(또는 이에 상응하는 창)을 열고 robots.txt 파일 위치로 이동합니다. https://example.com/robots.txt를 예로 들 수 있습니다. robots.txt 파일의 콘텐츠가 표시되면 마크업을 테스트할 수 있습니다.

Google에서는 다음과 같이 robots.txt 마크업을 테스트하는 2가지 옵션을 제공합니다.

  1. Search Console의 robots.txt 테스터 이 도구는 사이트에서 이미 액세스할 수 있는 robots.txt 파일에만 사용할 수 있습니다.
  2. 개발자는 Google 검색에서도 사용되는 Google의 오픈소스 robots.txt 라이브러리를 확인하고 빌드합니다. 이 도구는 컴퓨터에서 로컬로 robots.txt 파일을 테스트하는 데 사용할 수 있습니다.

robots.txt 파일을 Google에 제출

robots.txt 파일을 업로드하여 테스트한 후에는 Google 크롤러가 자동으로 robots.txt 파일을 찾아 사용하기 시작합니다. 다른 작업이 필요하지 않습니다. robots.txt 파일을 업데이트한 후 최대한 빨리 Google의 캐시된 사본을 새로고침해야 한다면 업데이트된 robots.txt 파일 제출 방법을 참고하세요.

알아 두면 좋은 robots.txt 규칙

다음은 알아 두면 좋은 몇 가지 일반적인 robots.txt 규칙입니다.

유용한 규칙
전체 웹사이트 크롤링 금지

크롤링된 적이 없어도 웹사이트 URL의 색인이 생성되는 경우가 있다는 점을 기억하시기 바랍니다.

User-agent: *
Disallow: /
디렉터리 및 디렉터리 콘텐츠의 크롤링 금지

디렉터리 이름에 슬래시를 추가하여 전체 디렉터리의 크롤링을 금지합니다.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
크롤러 하나에만 액세스 허용

googlebot-news만 전체 사이트를 크롤링할 수 있습니다.

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
하나를 제외한 모든 크롤러에 액세스 허용

Unnecessarybot은 사이트를 크롤링하지 못할 수 있으며 다른 모든 크롤러는 크롤링할 수도 있습니다.

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

단일 웹페이지 크롤링 금지

예를 들어 https://example.com/useless_file.html에 있는 useless_file.html 페이지와 junk 디렉터리에 other_useless_file.html 페이지의 크롤링을 금지합니다.

User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html

하위 디렉터리를 제외한 전체 사이트 크롤링 금지

크롤러는 public 하위 디렉터리에 한하여 액세스할 수 있습니다.

User-agent: *
Disallow: /
Allow: /public/

Google 이미지의 특정 이미지 크롤링 차단

예를 들어 dogs.jpg 이미지를 금지합니다.

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Google 이미지의 사이트 내 모든 이미지 크롤링 차단

Google은 이미지와 동영상을 크롤링하지 않고는 색인을 생성할 수 없습니다.

User-agent: Googlebot-Image
Disallow: /

특정 형식의 파일 크롤링 금지

예를 들어 모든 .gif 파일의 크롤링을 금지합니다.

User-agent: Googlebot
Disallow: /*.gif$

전체 사이트 크롤링은 금지하지만 Mediapartners-Google 크롤링은 허용

이 구현으로 검색결과에서 페이지를 숨길 수 있지만 Mediapartners-Google 웹 크롤러는 여전히 페이지를 분석하여 사이트 방문자에게 표시할 광고를 결정할 수 있습니다.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
*$ 와일드 카드를 사용하여 특정 문자열로 끝나는 URL에 적용

예를 들어 .xls 파일은 모두 금지합니다.

User-agent: Googlebot
Disallow: /*.xls$