-
2009/08/29 6:10 오후 #3773
WP-Admin > Option > Privacy (영문판 기준)
에서 "I would like to block search engines, but allow normal visitors" 를 선택하시면 기본적인 검색엔진에서 검색하는것을 막게됩니다.
robots.txt를 따로생성하거나, <head> 부분에 meta 태그(name=’robots’ content=’noindex,nofollow’) 를 따로 추가할 필요도 없어집니다. (워드프레스에서 자동 처리함)
하지만 meta 태그의 ‘noindex,nofollow’, robots.txt 를 무시하는 검색엔진의 경우는 이 방법으로는 해결이 되지 않습니다. (예전에 naver 가 그러했는데, 지금은 어떤지 모르겠네요.)
이 경우는 통계플러그인들 중 user-agent 값을 저장해 주는 것을 사용하면서 검색엔진이 robots.txt 이외의 경로에 접근해서 crawl 하는 경우 해당 user-agent 를 .htaccess 에서 막아주면 됩니다.
아래는 제가 사용하는 .htaccess 의 일부분 입니다.
워드프레스의 rewrite rule 상단에 추가해 주시면 됩니다.# Search Engines will be blocked
SetEnvIfNoCase User-Agent "naver" bad_search_bot
SetEnvIfNoCase User-Agent "nhnbot" bad_search_bot
SetEnvIfNoCase User-Agent "yeti" bad_search_bot
SetEnvIfNoCase User-Agent "1noonbot" bad_search_bot
SetEnvIfNoCase User-Agent "waazle" bad_search_bot<Limit POST GET PUT>
Order Allow,Deny
Allow from all
Deny from env=bad_search_bot
</Limit>위의 예는 User-Agent 에 특정 문구를 포함하고 있는 방문자의 접속을 아예 차단하고 있습니다. 즉, 해당 문구를 등록할 때는 매우 유의해야 하겠죠. 잘못 차단할 경우 친구가 접속이 안된다고 난리치는 경우가 발생하게 됩니다 ^^;
.htaccess 를 활용하는 또 다른 방법으로 해당 검색엔진의 아이피 대역을 알고 있다면 아이피 대역을 막는 방법도 있습니다.
위의 Limit 내용에 차단할 아이피를 입력하면 됩니다. 마찬가지로 차단할 아이피(대역)을 입력할때 매우 주의하셔야 합니다.
<Limit POST GET PUT>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
Deny from env=bad_search_bot
# 개별 아이피 예
Deny from 111.111.111.111
# 예1) 111.111.111.0 ~ 111.111.111.255
Deny from 111.111.111.
# 예2) 111.111.0.0 ~ 111.111.255.255
Deny from 111.111.
</Limit>검색엔진들이 meta 값이나 robots.txt 를 모두 준수한다면 워드프레스에서 설정만 해주면 되고, 다른 번잡스러운 일은 하지 않아도 될텐데, 그렇지 않다는게 참 아쉽습니다.
-
AuthorPosts
- 답변은 로그인 후 가능합니다.