【问题标题】:Prevent google from indexing ajax loaded content防止谷歌索引 ajax 加载的内容
【发布时间】:2013-07-19 08:41:05
【问题描述】:

在我们的网站上,我们通过 Ajax 调用加载相同的内容(当用户点击菜单时,只是为了防止重新加载整个页面,从而改善用户体验)。

所以这很好用,但实际上这个 Ajax 加载的内容实际上是原始内容的副本。

我可以阻止 Google 将此内容编入索引吗?

http://dinox-h.hu/en/gallery.php

在左侧菜单中,您可以看到链接:

例如:

http://dinox-h.hu/puffer_tartalyok_galeria.php?ajax=1

【问题讨论】:

    标签: html ajax indexing


    【解决方案1】:

    尝试在您的 Ajax 交付页面上添加以下内容:

    <meta name="robots" content="noindex,nofollow" />
    

    这将告诉网站抓取工具不要抓取页面。您也可以在robots.txt 中添加页面,如下所示:

    User-agent: *
    Disallow: /*?ajax=1
    

    这将阻止任何带有 ?ajax=1 的 URL 被编入索引(如果机器人尊重您的 robots.txt)。更好的解决方案还包括创建站点地图并告知各种搜索引擎。

    编辑 提供 Ajax 内容 IMO 的更好方法是在通过 Ajax 请求您的页面时发送以下标头:

    X-Requested-With: XMLHttpRequest
    

    jQuery 默认会执行此操作,因此只要您可以在服务器端检查它,您就可以交付您常用的内容,例如没有模板。然后,您可以根据请求的类型非常轻松地从同一 URL 传递不同的内容。这也应该可以解决您的抓取问题,因为我怀疑抓取工具会偶然发现它。

    【讨论】:

    • 我有站点地图(也有替代内容)。站点地图不包含 ajax 网址。现在我尝试使用 robots.txt 防止索引。没关系?我决定机器人因为 ajax 加载的内容不包含 head、html 部分所以我不想破坏代码......
    • 使用 robots.txt 也很好,但我实际上建议使用标头检查方式来传递不同的内容。
    • tnx 大师!我必须阅读您解决方案的“X-Requested-With:XMLHttpRequest”部分,因为我不明白。我不是专家! :)
    • Google 可能仍会为被 robots.txt 阻止的文件编制索引。来源:support.google.com/webmasters/answer/6062608?hl=en
    猜你喜欢
    • 1970-01-01
    • 2020-01-10
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多