robots.txt로 URL 차단

robots.txt 파일 만들기

시작하기

robots.txt 파일은 하나 이상의 규칙으로 구성됩니다. 각 규칙은 특정 크롤러가 웹사이트에서 지정된 파일 경로에 액세스할 권한을 차단하거나 허용합니다.

다음은 규칙이 2개인 간단한 robots.txt 파일입니다. 설명은 아래에서 확인할 수 있습니다.

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

 

설명:

  1. 이름이 'Googlebot'인 사용자 에이전트(크롤러)는 http://example.com/nogooglebot/ 폴더 또는 이 폴더의 하위 디렉토리를 크롤링해서는 안 됩니다.
  2. 다른 모든 사용자 에이전트는 전체 사이트에 액세스할 수 있습니다. 기본적으로 전체 액세스가 허용된다고 가정되기 때문에 이 부분을 생략해도 결과는 같습니다.
  3. 사이트의 사이트맵 파일은 http://www.example.com/sitemap.xml에 있습니다.

향후 더 자세한 예시가 제공될 예정입니다.

기본적인 robots.txt 규칙

robots.txt 파일에 관한 몇 가지 기본적인 규칙은 다음과 같습니다. 사이트에 적용할 robotx.txt 파일을 작성하거나 수정하려면 robots.txt 테스트 도구를 사용해 보세요. 이 도구를 사용하면 사이트를 대상으로 구문 및 동작을 테스트할 수 있습니다. 그런 다음 robots.txt 파일의 전체 구문을 읽어 봅니다. robots 구문은 보기보다 까다롭기 때문입니다.

형식 및 위치

거의 모든 텍스트 편집기를 사용하여 robots.txt 파일을 만들 수 있습니다. 표준 ASCII 또는 UTF-8 텍스트 파일을 작성할 수 있는 텍스트 편집기를 사용해야 합니다. 워드 프로세서는 파일을 독자적인 형식으로 저장하는 경우가 많고, 둥근 따옴표같이 예상치 못한 문자를 추가하여 크롤러에 문제를 일으킬 수 있으므로 사용해서는 안 됩니다.

형식 및 위치 규칙:

  • robots.txt는 ASCII 또는 UTF-8 텍스트 파일입니다. 다른 문자는 허용되지 않습니다.
  • 파일 이름은 robots.txt로 지정해야 합니다.
  • 사이트에는 robots.txt 파일이 하나만 있어야 합니다.
  • robots.txt 파일은 파일이 적용되는 웹사이트 호스트의 루트에 있어야 합니다. 예를 들어 http://www.example.com/ 아래 모든 URL의 크롤링을 제어하려면 robots.txt 파일이 http://www.example.com/robots.txt에 있어야 합니다. http://example.com/pages/robots.txt와 같이 하위 디렉토리에 있어서는 안 됩니다. 웹사이트 루트에 액세스하는 방법을 모르거나 액세스 권한이 필요한 경우, 웹 호스팅 서비스 제공업체에 문의하세요. 웹사이트 루트에 액세스할 수 없다면 메타태그와 같은 다른 차단 방법을 사용하세요.
  • robots.txt 파일은 http://website.example.com/robots.txt와 같은 하위 도메인이나 http://example.com:8181/robots.txt와 같은 비표준 포트에 적용할 수 있습니다.

구문

  • robots.txt 파일은 하나 이상의 규칙 집합으로 구성됩니다.
  • 각 규칙에는 하나 이상의 사용자 에이전트가 지정되며, 에이전트가 액세스할 수 있거나 액세스할 수 없는 디렉토리 또는 파일이 명시됩니다.
  • 규칙은 위에서 아래 순서로 처리되며, 사용자 에이전트는 해당 사용자 에이전트와 일치하는 가장 구체적인 첫 번째 규칙 집합 하나와만 연결될 수 있습니다.
  • 기본적으로 사용자 에이전트는 Disallow: 규칙으로 차단되지 않은 페이지 또는 디렉토리를 크롤링할 수 있다고 가정됩니다.
  • 규칙은 대소문자를 구분합니다. 예를 들어 Disallow: /file.asphttp://www.example.com/file.asp에 적용되지만 http://www.example.com/File.asp에는 적용되지 않습니다.

robotx.txt 파일에서 사용되는 키워드는 다음과 같습니다.

  • User-agent: [필수, 규칙당 하나 이상] 규칙이 적용되는 검색엔진 로봇(웹 크롤러 소프트웨어)의 이름입니다. 대부분의 사용자 에이전트 이름은 웹 로봇 데이터베이스 또는 Google 사용자 에이전트 목록에 명시되어 있습니다. 경로 접두어, 접미어, 전체 문자열에 * 와일드 카드를 사용할 수 있습니다. 아래 예에서와 같이 별표(*)를 사용하면 이름을 명시적으로 지정해야 하는 여러 AdsBot 크롤러를 제외한 모든 크롤러에 규칙을 적용할 수 있습니다. Google 크롤러 이름 목록 확인하기
    # AdsBot 크롤러를 제외한 모든 크롤러 차단
    User-agent: *
  • Disallow: [규칙당 하나 이상의 Disallow 또는 Allow 항목 필수] 사용자 에이전트가 크롤링해서는 안 되는 루트 도메인 관련 디렉토리 또는 페이지입니다. 페이지인 경우 브라우저에 표시되는 전체 페이지 이름이어야 하며, 디렉토리인 경우 / 기호로 끝나야 합니다.  경로 접두어, 접미어, 전체 문자열에 * 와일드 카드를 사용할 수 있습니다.
  • Allow: [규칙당 하나 이상의 Disallow 또는 Allow 항목 필수] 방금 언급한 사용자 에이전트가 크롤링해야 하는 루트 도메인 관련 디렉토리 또는 페이지입니다. 허용되지 않은 디렉토리 안에 있는 하위 디렉토리나 페이지를 크롤링할 수 있도록 Disallow를 재정의할 때 사용합니다. 페이지인 경우 브라우저에 표시되는 전체 페이지 이름이어야 하며, 디렉토리인 경우 / 기호로 끝나야 합니다. 경로 접두어, 접미어, 전체 문자열에 * 와일드 카드를 사용할 수 있습니다.
  • Sitemap: [선택사항, 파일당 0개 이상] 웹사이트의 사이트맵 위치입니다. 이 행은 선택사항이며, 각 행에 하나씩 여러 사이트맵을 지정할 수 있습니다. 사이트맵은 Google에서 크롤링할 수 있거나 할 수 없는 콘텐츠를 표시하는 것이 아니라, 크롤링을 해야 하는 콘텐츠를 표시할 때 좋은 방법입니다. 사이트맵에 관해 자세히 알아보기

알 수 없는 키워드는 무시됩니다.

다른 예시 파일

robots.txt 파일은 하나 이상의 규칙 블록으로 구성되며, 각 규칙 블록은 규칙 대상을 지정하는 User-agent 행으로 시작합니다. 다음은 규칙이 2개인 파일입니다. 인라인 주석에 각 규칙이 설명되어 있습니다.

# example.com/directory1/... 및 example.com/directory2/...에서 Googlebot을 차단합니다.
# 하지만 directory2/subdirectory1/...에는 액세스를 허용합니다.
# 사이트의 다른 모든 디렉토리는 기본적으로 허용됩니다.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# 전체 사이트에서 anothercrawler를 차단합니다.
User-agent: anothercrawler
Disallow: /

전체 robots.txt 구문

여기에서 전체 robots.txt 구문을 확인할 수 있습니다. robots.txt 구문에는 몇 가지 까다로운 부분이 있으며 이 부분을 잘 알아 둬야 하므로 전체 문서를 읽어 보시기 바랍니다.

알아 두면 좋은 robots.txt 규칙

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

규칙 예시
전체 웹사이트 크롤링 금지. 웹사이트의 URL이 크롤링된 적이 없어도 색인이 생성되는 경우가 있습니다. 참고: 이 규칙은 이름을 명시적으로 지정해야 하는 여러 AdsBot 크롤러에 적용되지 않습니다.
User-agent: *
Disallow: /

디렉토리 및 디렉토리에 포함된 내용의 크롤링 금지(디렉토리 이름 뒤에 슬래시 입력). 비공개 콘텐츠에 대한 액세스를 차단하는 데 robots.txt를 사용하면 안 됩니다. 대신 올바른 인증 방법을 사용하세요. robots.txt 파일을 통해 금지된 URL은 크롤링되지 않아도 색인이 생성될 수 있으며 robots.txt 파일은 누구나 볼 수 있으므로 비공개 콘텐츠의 위치가 공개될 수도 있습니다.
User-agent: *
Disallow: /calendar/
Disallow: /junk/
크롤러 하나에만 액세스 허용
User-agent: Googlebot-news
Allow: /

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

User-agent: *
Allow: /

웹페이지 하나의 크롤링 금지(슬래시 뒤에 페이지 입력)

Disallow: /private_file.html

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

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

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로 끝나는 URL을 모두 차단합니다.
User-agent: Googlebot
Disallow: /*.xls$
이 도움말이 도움이 되었나요?
어떻게 하면 개선할 수 있을까요?