Robots.txt 파일 만들기
시작하기
robots.txt 파일은 사이트의 루트에 위치합니다. 따라서 www.example.com
사이트의 경우 robots.txt 파일은 www.example.com/robots.txt
에 있습니다. robots.txt는 로봇 배제 표준을 따르는 일반 텍스트 파일입니다.
robots.txt 파일은 하나 이상의 규칙으로 구성됩니다. 각 규칙은 특정 크롤러가 웹사이트에서 지정된 파일 경로에 액세스하는 것을 차단하거나 허용합니다.
다음은 규칙이 2개인 간단한 robots.txt 파일입니다. 설명은 아래에서 확인할 수 있습니다.
# Group 1 User-agent: Googlebot Disallow: /nogooglebot/ # Group 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml
설명
-
이름이 'Googlebot'인 사용자 에이전트는
http://example.com/nogooglebot/
디렉터리와 모든 하위 디렉터리를 크롤링할 수 없습니다. - 그 외 모든 사용자 에이전트는 전체 사이트를 크롤링할 수 있습니다. 기본적으로 전체 액세스가 허용된다고 가정되기 때문에 이 부분을 생략해도 결과는 같습니다.
-
사이트의 사이트맵 파일은
http://www.example.com/sitemap.xml
에 있습니다.
더 많은 예는 구문 섹션을 참고하세요.
robots.txt 기본 가이드라인
robots.txt 파일에 관한 몇 가지 기본 가이드라인은 다음과 같습니다. robots.txt 구문에는 이해해야 하는 미묘한 동작이 있기 때문에 robots.txt 파일의 전체 구문을 읽는 것이 좋습니다.
형식 및 위치
거의 모든 텍스트 편집기를 사용하여 robots.txt 파일을 만들 수 있습니다. 텍스트 편집기로 표준 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는 UTF-8로 인코딩된 텍스트 파일이어야 합니다(ASCII 포함). 다른 문자 집합은 사용할 수 없습니다.
- robots.txt 파일은 하나 이상의 그룹으로 구성됩니다.
- 각 그룹은 여러 규칙 또는 명령어(지침)로 구성되며, 행마다 하나의 명령어가 있습니다.
- 그룹은 다음과 같은 정보를 제공합니다.
- 규칙이 적용되는 대상(사용자 에이전트)
- 에이전트가 액세스할 수 있는 디렉터리나 파일 또는
- 에이전트가 액세스할 수 없는 디렉터리나 파일
- 그룹은 위에서 아래 순서로 처리되며, 사용자 에이전트는 주어진 사용자 에이전트와 일치하는 가장 구체적인 첫 번째 규칙 집합 한 개에만 연결될 수 있습니다.
-
기본적인 가정은 사용자 에이전트에서
Disallow:
규칙으로 차단되지 않은 페이지 또는 디렉터리를 크롤링할 수 있다는 것입니다. -
규칙은 대소문자를 구분합니다. 예를 들어,
Disallow: /file.asp
는http://www.example.com/file.asp
에 적용되지만http://www.example.com/FILE.asp
에는 적용되지 않습니다.
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 but AdsBot crawlers 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: http://www.example.com/sitemap.xml
sitemap
을 제외한 모든 명령어는 경로 접두사, 접미사 또는 전체 문자열에 *
와일드 카드를 지원합니다.
다음 명령어와 일치하지 않는 행은 무시됩니다.
다른 예 파일
robots.txt 파일은 하나 이상의 그룹으로 구성되며, 각 그룹은 그룹 대상을 지정하는 User-agent
행으로 시작합니다. 다음은 그룹이 2개인 파일입니다. 인라인 주석에 각 그룹이 설명되어 있습니다.
# Block googlebot from example.com/directory1/... and example.com/directory2/... # but allow access to directory2/subdirectory1/... # All other directories on the site are allowed by default. User-agent: googlebot Disallow: /directory1/ Disallow: /directory2/ Allow: /directory2/subdirectory1/ # Block the entire site from anothercrawler. User-agent: anothercrawler Disallow: /
전체 robots.txt 구문
여기에서 전체 robots.txt 구문을 확인할 수 있습니다. robots.txt 구문에는 몇 가지 까다로운 부분이 있으며 이 부분을 잘 알아 둬야 하므로 전체 문서를 읽어 보시기 바랍니다.
알아 두면 좋은 robots.txt 규칙
다음은 알아 두면 좋은 몇 가지 일반적인 robots.txt 규칙입니다.
규칙 | 예시 |
---|---|
전체 웹사이트 크롤링 금지. 웹사이트의 URL이 크롤링된 적이 없어도 색인이 생성되는 경우가 있다는 점을 기억하시기 바랍니다. |
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: / |
웹페이지 하나의 크롤링 금지(슬래시 뒤에 페이지 입력) |
User-agent: * Disallow: /private_file.html |
Google 이미지의 특정 이미지 크롤링 차단 |
User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
Google 이미지의 사이트 내 모든 이미지 크롤링 차단 |
User-agent: Googlebot-Image Disallow: / |
특정 형식의 파일 크롤링 금지(예: |
User-agent: Googlebot Disallow: /*.gif$ |
전체 사이트의 크롤링을 금지하지만 페이지에 애드센스 광고를 표시하는 경우 |
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: / |
특정 문자열로 끝나는 URL에 적용($ 사용). 예를 들어, 샘플 코드는 .xls 로 끝나는 URL을 모두 차단합니다.
|
User-agent: Googlebot Disallow: /*.xls$ |