유틸리티, 정보/WEB TIP

robots.txt 구문에 대해 자세히 알아보기

romeo1052 2016. 2. 18. 21:00
반응형

인터넷 상에 존재하는 웹봇들이 정보를 수집하여, 검색에 뜨게 끔 해주는 웹봇에 대한 자기 웹페이지 설정입니다.

즉, robots.txt 에서 어떻게 작성하느냐에 따라서 웹봇이 접근가능할지, 못할지가 결정됩니다.


지금부터 설정방법에 대해서 알아보도록 하겠습니다.


일단 "robots.txt" 파일을 생성해주세요.


파일을 열어서 텍스트 편집기에서 수정해주시면 됩니다.

 


User-agent: *

Allow: /

Disallow: /

Crawl-delay: 3600

 


위와 같은 메뉴 4개가 존재합니다.

User-agent: 봇 명칭

Allow: 허용

Disallow: 비허용

Crawl-delay: 재방문 시간제한

 


예제를 들어서 말씀드리겠습니다.

 


= 예제 1 =

User-agent: *

Allow: /

Disallow: /homepage/

Crawl-delay: 180

 


모든 봇에 해당

전체 접근 가능

/homepage/ 접근 불가능

3분에 한번씩만 접근 가능

 


= 예제 2 =

User-agent: *

Disallow: /

Allow: /homepage/

Crawl-delay: 180

 


모든 봇에 해당

전체 접근 불가능

/homepage/ 만 접근 가능

3분에 한번씩 접근 가능

 


= 예제 3 =

User-agent: Googlebot

Disallow: /

 


구글 봇에만 해당

전체 접근 불가능

 


= 봇 이름 =

구글 : Googlebot

네이버 : Naverbot

다음 : Daumoa

야후 : Yahoo! Slurp

Microsoft : Msnbot

Bing : Bingbot

 


위와 같이 설명드렸습니다.

 


이가 필요한 이유는, 검색 웹봇에 의한 검색으로 인한 페이지 노출이 되면 안되는 곳에는 꼭 !! 접근 불가능 처리를 해주셔야 합니다.

 

 

 

robots.txt 구문에 대해 자세히 알아보기

https://support.google.com/webmasters/answer/6062596?hl=ko&ref_topic=6061961

가장 간단한 형태의 robots.txt 파일은 user-agentDisallow 두 개의 키워드를 사용합니다. user-agent는 검색 엔진 로봇(또는 웹 크롤러 소프트웨어)으로서 대부분의 사용자 에이전트는 웹 로봇 데이터베이스에 포함됩니다. Disallow는 사용자 에이전트가 특정 URL에 액세스하지 못하게 하는 명령입니다. 반면 허용되지 않은 상위 디렉토리에 속한 하위 디렉토리인 특정 URL에 Google이 액세스할 수 있도록 하려면 제3의 키워드인 Allow를 사용하면 됩니다.

Google에서는 Google 검색에서는 Googlebot, Google 이미지 검색에서는 Googlebot-Image 등 다양한 사용자 에이전트를 사용합니다. Google 사용자 에이전트는 대부분 Googlebot용으로 설정한 규칙을 따르지만, 이 옵션을 무시하거나 특정 Google 사용자 에이전트에 특정 규칙이 적용되도록 할 수도 있습니다.

키워드 사용을 위한 구문은 다음과 같습니다.

User-agent: [the name of the robot the following rule applies to]

Disallow: [the URL path you want to block]

Allow: [the URL path in of a subdirectory, within a blocked parent directory, that you want to unblock]

이 두 행은 파일에서 단일 항목으로 간주되어, Disallow 규칙이 그 위에 지정된 user-agent에만 적용됩니다. 원하는 만큼 여러 개의 항목을 포함시킨 하나의 항목을 만들어 여러 개의 Disallow 행을 여러 개의 user-agent에 적용할 수도 있습니다. 아래 예처럼 별표(*)를 표시하여 user-agent 명령이 모든 웹 크롤러에 적용되도록 설정할 수 있습니다.

User-agent: *

차단...

예시

전체 사이트(슬래시(/) 사용)

Disallow: /

디렉토리 및 디렉토리에 포함된 모든 콘텐츠(슬래시 뒤에 디렉토리 이름 기입)

Disallow: /sample-directory/

웹페이지는 슬래시 다음에 페이지를 표시합니다.

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: /

명령문은 대소문자를 구분합니다. 예를 들어 Disallow: /file.asphttp://www.example.com/file.asp를 차단하지만http://www.example.com/File.asp는 허용합니다. 또한 Googlebot은 공백과robots.txt의 알 수 없는 명령어를 무시합니다.

패턴 일치 규칙

예시

문자열을 차단(별표* 사용): 예를 들어 예시 코드는 이름이 'private'으로 시작하는 모든 하위 디렉토리에 대한 액세스를 차단합니다.

User-agent: Googlebot

Disallow: /private*/

물음표(?) 포함하는 모든 URL에 대한 액세스를 차단: 예를 들어 예시 코드는 사용자의 도메인 이름으로 시작하여 그 뒤에 아무 문자열이 이어진 뒤 물음표가 오고 마지막으로 다른 문자열이 오는 모든 URL을 차단합니다.

User-agent: Googlebot

Disallow: /*?

특정 문자열 또는 문자로 끝나는 URL을 차단($ 사용): 예를 들어 예시 코드는 .xls로 끝나는 URL을 모두 차단합니다.

User-agent: Googlebot

Disallow: /*.xls$

Allow와 Disallow 명령어로 패턴 차단(오른쪽 예시 참조): 이 예에서 물음표(?)는 세션 ID를 나타냅니다. 이러한 ID를 포함하는 URL은 웹 크롤러가 중복 페이지를 크롤링하는 것을 방지하기 위해 보통 Google로부터 차단되어야 합니다. 한편 포함하려는 페이지 버전의 URL이 ?로 끝나는 경우 다음과 같은 접근법을 토대로 Allow와 Disallow 명령어를 조합하여 사용할 수 있습니다.

  1. Allow: /*?$ 명령어는 ?로 끝나는 모든 URL을 허용합니다. 즉, 도메인 이름으로 시작하여 그 뒤에 문자열과 ?가 차례로 오고 ? 뒤에 아무 문자도 오지 않는 모든 URL을 허용합니다.
  2. Disallow: / *?  명령어는 ?가 포함된 모든 URL을 차단합니다. 즉, 도메인 이름으로 시작하여 그 뒤에 문자열과 물음표가 차례로 오고 물음표 뒤에 문자열이 나오는 모든 URL을 차단합니다.

User-agent: *

Allow: /*?$

Disallow: /*?

 

 

 

사이트맵을 Google에서 사용할 수 있도록 하기(Google에 사이트맵 제출)

사이트맵을 Google에서 사용할 수 있도록 하는 방법에는 두 가지가 있습니다.

 

 

 

robots.txt 테스터로 확인 후 사용하시기 바랍니다.

 

 

다른 참고할만한 링크(영문) http://www.robotstxt.org

 

 

 

 

+추가

 

서버상의 문제로 유독 robots.txt만이 업데이트가 안되는 경우가 있을수도 있더군요.

분명히 파일은 변경이 되었는데 웹에서 보여지는것만이 원래상태에서 변함이 없는 경우가 있습니다.

확인을 해보고 변경사항이 웹에서 제대로 반영되지 않는다면 서버 관리자에게 문의하여 웹데몬을 리셋해달라고 부탁하셔야합니다.




반응형