2010-05-17 6 views
3

스크립트에 대한 링크가 포함 된 사이트의 평가 시스템을 구현했습니다. 그러나 사이트의 3/5 평가와 1 ~ 5 등급 평가의 대부분이 검색 엔진 크롤러 등이 통과하고 있다고 의심하기 시작했습니다. 사용되는 URL은 다음과 같이 :robots.txt의 특정 URL을 허용하지 않습니다.

User-agent: * 
Disallow: /rate 

이가 부정확하거나 Googlebot이 다른 사람들이 단순히 우리의 robots.txt를 무시하고 있습니다 :

http://www.thesite.com/path/to/the/page/rate?uid=abcdefghijk&value=3 

우리는 우리가 우리의 robots.txt에 다음을 추가 시작했을 때?

+0

정확하지 않은 '/ rate' URL은 허용되지 않으므로 잘못되었습니다. 아마도 존재하지 않을 것입니다. 나는 해결책을 제시 할만큼 충분한 것을 모른다. –

답변

4

검색 엔진은 일반적으로 양식을 제출하지 않으므로 작업을 변경하는 작업에는 POST를 사용해야합니다. 또한 웹 사이트를 재귀 적으로 다운로드 한 사용자 (예 : wget)가 수표를 제출하지 못하게됩니다.

사이트에 따라 자바 스크립트로 투표를 처리하는 것도 해결책 일 수 있습니다. robots.txt 파일에 관한

: - 즉 http://www.thesite.com/robots.txt - 이 루트 경로에 있어야 가지고 있으며, 여러분의 평가 시스템에/ㅋ 경우/속도는 Disallow: /rate

+0

내 의심을 확인합니다. 평가를 수정하여 게시물을 사용하거나 루트에서/rate 스크립트에만 액세스하므로 비율이 실제로 맞습니다. 모두 고마워요 – chrism

+0

POST를 사용하십시오. 읽기 전용이 아닌 작업을 수행하는 작업에 GET을 사용하면 로그인하지 않아도됩니다 (예 : 관리 영역의 '삭제'링크는 괜찮을 것입니다). – ThiefMaster

+0

빨리 할 것이지만 지금은 수정해라. (어쨌든 말을 풀고 난 후 안정 게이트를 잘 닫는다.) 나는 루트에서 스크립트를 실행하도록 할 것이다. – chrism

0

나에게 잘못 보인다. http://www.thesite.com/rate (및 그 아래 페이지 IIRC)에만 액세스 할 수 없습니다. 플러스 일부 크롤러는 robots.txt을 무시합니다!

평가가 GET이 아닌 POST에 대한 응답으로 만 변경되도록하는 것이 좋습니다. 검색 엔진 never POST를 사용하십시오.

관련 문제