(펌)검색엔진 배제표준을 따르는 방법(robots.txt)

검색엔진 2006. 3. 16. 20:37

"인터넷 검색엔진 배제표준"을 따르는 방법


검색엔진에서 내홈페이지가 서치당하지 않기위해 쓰는 방법
최근 웹 검색엔진의 성능이 월등히 향상되면서 HTML로 작성된 웹페이지의 내용은 물론 웹사이트에 올려놓은 PDF나 DOC같은 문서파일 내용까지 검색이 가능합니다. 이런 정보유출 방지 대책의 일환으로 "인터넷 검색엔진 배제표준(Robots Exclusion Protocol)"을 적용하시기 바랍니다. 이를 이용하여 사이트의 모든 페이지에 대하여 노출은 차단할 수 있고, 차단을 원하는 페이지에 대해서만 노출차단도 가능합니다.
인터넷 검색엔진 배제표준이란 보안이 필요한 내용이 검색엔진에 유출 되지 못하도록 웹페이지를 작성하는 방법을 기술한 국제기술표준입니다.


robots.txt 작성방법

1. robots.txt를 웹 서버의 홈페이지 최상위 디렉토리에 저장

사이트가 특정 호스트(host)와 포트(port) 번호에서 HTTP 서버로 운영되는 것으로 정의되었으면, 로봇은 단순히 사이트 URI에서 "/robots.txt"를 찾을 것입니다. robots.txt의 위치 예제입니다.

사이트 URI robots.txt의 URI
http://www.w3.org/ http://www.w3.org/robots.txt
http://www.w3.org:80/ http://www.w3.org:80/robots.txt
http://w3.org/ http://w3.org/robots.txt

싸이트에는 하나의 "/robots.txt" 만을 가질 수 있습니다. 구체적으로, "robots.txt" 화일들은 로봇이 그것을 사용자 디렉토리에서 찾지 않기 때문에, 사용자 디렉토리에 위치시켜서는 안됩니다. 사용자가 자신의 "robots.txt"를 만들기를 원하면, 단일 "/robots.txt" 안에 모두 통합(merge)할 필요가 있습니다.

2. robots.txt의 내용

- 모든 로봇에 대한 모든 디렉토리 검색 거부시

User-agent:*
Disallow:/


- 모든 로봇에 대한 서버 일부분만 검색거부시
 (예: /secure 디렉토리, /policy 디렉토리만 검색거부)

User-agent:*
Disallow:/secure/
Disallow:/policy/


URI는 대소문자 구별하며, "/robots.txt" 문자열은 모두 소문자이어야 하며, 공백은 허용되지 않습니다.

만일 그 값이 "*" 이면
, 그 레코드는 다른 레코드들과 하나도 맞지 않는 어떤 로봇에서나 가능한 디폴트 접속(access) 정책(policy)을 나타냅니다. "/robots.txt" 안에서 여러개의 그러한 레코드를 갖는 것은 허용되지 않습니다.

"Disallow"(허용 안함) 필드는 방문 할 수 없는 부분 URI를 지정
합니다. 이는 완전 경로(full path) 또는 부분 경로가 될 수 있습니다. 이 값으로 시작되는 URI는 읽혀지지 않을 것입니다. 예를 들어 ,

Disallow: /help
/help.html과 /help/index.html 둘 다 허용 안함,

Disallow: /help/
/help/index.html는 허용 안하나, /help.html은 허용 됨.

"Disallow"에서 빈 값은, 모든 URI들이 읽혀 질 수 있음을 가리깁니다. robots.txt 화일에는 최소한 한개의 "Disallow" 필드(field)가 있어야 합니다.

robots.txt 생성 예시

# http://www.xxx.com/에 /robots.txt 파일을 생성하는 예시
User-agent: webcrawler
Disallow:

처음 라인은 "#"로 시작하는 데, 이것들은 코멘트이므로 로봇들이 무시합니다.
webcrawler라는 로봇에 대해 아무것도 불허하지 않는다는 것을 얘기합니다. 다시말해 어디에나 갈 수 있다고 허락하는 것입니다.

User-agent: lycra
Disallow: /

lycra라는 로봇에 대해, "/"에 상대적으로 아래 있는 모든 URL에 대해 접근을 제한하겠다는 뜻입니다. 모든 URL은 "/"로부터 시작되므로 이것은 이 로봇에 이 사이트 전체를 불허하겠다는 뜻입니다.

User-agent: *
Disallow: /tmp
Disallow: /logs

모든 로봇들에 대해 /tmp나 /logs로 시작하는 URL을 읽어가지 못하도록 막는 것을 얘기 합니다.

3. 웹문서를 만드는 개인이 할 수 있는 배제 수단은 아래와 같은 메타태그를 HTML 문서 작성시 <head> </head> 태그 사이에 넣으면(입력하면) 됩니다.

<meta NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
메타태그 적용 예시

<html>
<head>
<title>한국해양대학교</title>
<meta NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
</head>
<body>
test
</body>
</html>


* 자세한 로봇배제에 대한 표준은 인터넷(www.robotstxt.org)을 이용하시기 바랍니다.

참고사이트 :
http://users.unitel.co.kr/meeki/robot/ksfaq.html
http://www.searchengineworld.com/robots/robots_tutorial.htm


http://blog.naver.com/8core.do?Redirect=Log&logNo=20001644843에서 퍼서 스타일시트 문제로 약간 교정함

: