【问题标题】:Does googlebot crawl urls in jQuery $.get() calls and can it be prevented?googlebot 是否会在 jQuery $.get() 调用中抓取 url,是否可以防止?
【发布时间】:2011-04-29 00:10:38
【问题描述】:

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

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

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

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

提前致谢。

【问题讨论】:

  • Google 实际上确实评估了很多 JavaScript。最常见的 js 导航技术是可抓取的。也有一些 Flash 内容。他们比你想象的更聪明...... ;)
  • “他们比你想象的更聪明......;)”为什么我不感到惊讶:)。感谢您的信息

标签: jquery ajax indexing web-crawler googlebot


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    来自robotstxt.org

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

      • 谢谢@sanmai。这是很好的信息,但老实说,我只说 googlebot,因为我正在搜索 google.com 并找到链接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-11
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 2021-03-22
      • 2010-11-29
      • 2015-08-05
      相关资源
      最近更新 更多