googlebot是否在jQuery $ .get()调用中抓取网址并且可以阻止它吗?

时间:2010-10-22 06:22:35

标签: jquery ajax indexing web-crawler googlebot

我有一个页面,其中包含使用this ajaxForm jQuery plugin的表单。表单提交,完成后,使用$ .get()调用一些新内容加载到页面。

我的问题是,Googlebot“似乎”正在为$ .get()方法中的网址编制索引。

我的第一个问题是,甚至可能吗?我的印象是Googlebot大部分都没有评估javascript(我读过一些关于它能够使用!#来为网址上的内容编制索引)。

我的第二个问题是,如果Google正在将此调用编入该网址的索引,是否有办法阻止它?

提前致谢。

3 个答案:

答案 0 :(得分:3)

您可以专门robots.txt该文件,googlebot 兑现。

来自robotstxt.org

User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html

您还可以查看Google的Webmaster Central以从列表中删除该文件。

答案 1 :(得分:2)

首先,您需要检查这是否真的是GoogleBot,因为任何人都可以伪装成GoogleBot,即使是合法用户。

  

推荐的技术是   执行反向DNS查找,验证   该名称位于googlebot.com   域,然后做一个相应的   转发DNS->使用它进行IP查找   googlebot.com名称。

来自Official Google Webmaster Central Blog: How to verify Googlebot

答案 2 :(得分:1)

googlebot将inline-javascript中的每个字符串解释为包含“/”或常见文件扩展名(“.html”,“。php”)的URL ...尤其是第一个非常烦人。

混淆您不希望被抓取的内联JS中的每个网址。即:用'|'替换“/”在服务器端并在JS中创建一个替换“|”的包装器方法再次“/”。

是的,这主要是令人讨厌的,并且有更好的方法,即:将所有js放在一个不可抓取的外部文件中。

robots.txt解决方案并不是真正的解决方案。因为URL仍然被找到,推送到发现(管道谷歌用来确定接下来要抓取什么),但随后阻止了抓取,这基本上是一个错过的机会。