2009-09-18 124 views
2

我收到了一堆Ajax化的鏈接,它們可以執行投票,投票,標記後期標準社區審覈等內容。如何防止Googlebot抓取Ajaxified鏈接?

問題是,googlebot抓取這些鏈接,並投票,下注和標記項目。

將此添加到robots.txt會阻止Googlebot抓取這些鏈接嗎?或者還有什麼我需要做的?

User-agent: Googlebot 
Disallow: /item/*/flag/ 
Disallow: /item/*/vote/ 

謝謝!

編輯:更改方法發佈和谷歌博客仍然標記帖子。

語法是:

<a href="onclick="$.ajax({data:'authenticity_token=' + encodeURIComponent('blahblahblah'), dataType:'script', type:'post', url:'/item/flag/236?method=post'}); return false;"> 

有什麼想法?

回答

4

您應該將這些鏈接更改爲POST而不是GET,那麼您將不必擔心抓取工具。還有其他原因可以做到這一點:網頁緩存可能會決定緩存GET,因此當用戶點擊鏈接時,實際上並未擊中您的服務器。他們不會緩存POST。

+0

+1。不要將鏈接用於不安全的操作。 http://www.w3.org/2001/tag/doc/whenToUseGet.html#checklist – Quentin 2009-09-18 18:21:13

+0

謝謝你們! – kareem 2009-09-18 19:08:47

+0

@rafe,我編輯了上面的帖子 - 編輯:改變方法發佈和谷歌博客仍然標記帖子。 – kareem 2011-01-25 22:29:52

0

除了由於它們具有變革性而使它們成爲POST請求之外,訪客用戶(未登錄的用戶)不應該有權在社區審覈中投票。所以,只是排除他們投票並修復你的機器人問題。