2011-03-05 4 views
13

크롤러가 내 도메인의 루트 디렉토리 (예 : index.html 파일)에 액세스 할 수있게하고 싶지만 더 깊은 것은 없습니다 (즉, 하위 디렉토리 없음). robots.txt 파일에서 모든 하위 디렉토리를 개별적으로 나열하고 거부하지 않아도됩니다. 현재 다음과 같은 사항이 있지만 도메인의 루트에있는 내용을 포함하여 모든 것을 차단하고 있다고 생각합니다.Robots.txt, 도메인 루트에만 액세스 할 수있게하려면 어떻게해야합니까?

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

내가 시도하는 것을 달성하기 위해 어떻게 내 robots.txt를 쓸 수 있습니까?

미리 감사드립니다.

+1

"로봇 범용"방식으로는 수행 할 수 없습니다. .htaccess 또는 이와 유사한 서비스에 액세스 할 수 있습니까? – alexn

+0

.htaccess에 대한 액세스 권한이 있습니다. 기본적으로 robots.txt, 메타 태그 및 메타 http 헤더를 사용하는 나의 목표는 개인적으로 할 수있는 모든 작업을 수행하여 내 기본 페이지 (예 : index.html)가 검색 ​​엔진 결과로 끝나는 것을 막는 것입니다. – WASa2

답변

10

모든 크롤러에서 사용할 수있는 것은 없습니다. 유용 할 수있는 두 가지 옵션이 있습니다.

Disallow: /*/ 

주요 검색 엔진 크롤러가 와일드 카드를 이해하지만, 작은 것들의 불행하게도 대부분은하지 않습니다 : 와일드 카드 같은 것을 지원해야 할 수

로봇입니다.

루트에 비교적 적은 파일이 있고 새 파일을 자주 추가하지 않는 경우 Allow을 사용하여 해당 파일에 대한 액세스를 허용 한 다음 Disallow: /을 사용하여 다른 모든 것을 제한 할 수 있습니다. 즉 :

User-agent: * 
Allow: /index.html 
Allow: /coolstuff.jpg 
Allow: /morecoolstuff.html 
Disallow:/

여기의 순서는 중요합니다. 크롤러는 첫 경기를 치러야합니다. 따라서 첫 번째 규칙이 Disallow: / 인 경우 올바르게 작동하는 크롤러는 다음 Allow 행에 도달하지 않습니다.

크롤러가 Allow을 지원하지 않으면 Disallow: /이 표시되고 사이트에는 크롤링되지 않습니다. 물론, 로봇이 이해하지 못하는 것을 robots.txt에서 무시합니다.

모든 주요 검색 엔진 크롤러는 Allow을 지원하며 많은 작은 검색 엔진 크롤러도 지원합니다. 구현하기 쉽습니다.

1

간단히 말해서 robots.txt 표준을 사용하여 멋지게 할 방법이 없습니다. Disallow는 경로 접두사를 지정합니다. 와일드 카드 및 허용 비표준입니다.

그래서 다음 접근법 (kludge!)이 작동합니다.

User-agent: * 
Disallow: /a 
Disallow: /b 
Disallow: /c 
... 
Disallow: /z 
Disallow: /A 
Disallow: /B 
Disallow: /C 
... 
Disallow: /Z 
Disallow: /0 
Disallow: /1 
Disallow: /2 
... 
Disallow: /9 
관련 문제