3

我有一个页面,它有一个使用这个 ajaxForm jQuery 插件的表单。表单提交,完成后,调用 $.get() 将一些新内容加载到页面。

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

我的第一个问题是,这可能吗?我的印象是 Googlebot 在大多数情况下都没有评估 javascript(我读到了一些关于它能够使用 !# 为 url 上的内容编制索引的内容)。

我的第二个问题是,如果 Google 将这个调用编入索引到那个 url,有没有办法阻止它?

提前致谢。

4

3 回答 3

3

你可以robots.txt专门的文件,googlebot应该尊重它。

来自robotstxt.org

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

您还可以查看 Google 的网站管理员中心以从列表中删除该文件。

于 2010-10-22T06:26:30.790 回答
2

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

推荐的技术是执行反向 DNS 查找,验证名称是否在 googlebot.com 域中,然后使用该 googlebot.com 名称执行相应的正向 DNS->IP 查找。

来自Google 官方网站管理员中心博客:如何验证 Googlebot

于 2010-10-22T06:28:14.097 回答
1

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

混淆内联 JS 中您不想被抓取的每个 URL。即:将“/”替换为“|” 在服务器端并在 JS 中创建一个替换“|”的包装方法 再次到“/”。

是的,这很烦人,还有更好的方法,即:将所有 js 放在不可抓取的外部文件中。

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

于 2010-11-16T13:39:26.517 回答