1

我在页面上通过 ajax 从服务器加载了一些 div,但在场景中谷歌和其他搜索引擎不索引这个 div 的内容。我看到的唯一解决方案是,它识别页面何时由搜索机器人获取并返回没有 ajax 的完整页面。1)有更简单的方法吗?2)如何区分人类和机器人?

4

3 回答 3

3

您还可以在站点地图中提供指向非 ajax 版本的链接,并且当您提供该文件(给机器人)时,请确保已将规范链接元素包含到您希望用户看到的“真实”页面:

<html>
    <head>
        [...]
        <link rel="canonical" href="YOUR_CANONICAL_URL_HERE" />
        [...]
    </head>
    <body>
        [...]
        YOUR NON_AJAX_CONTENT_HERE
    </body>
</html>

编辑:如果这个解决方案不合适(下面的一些评论指出这个解决方案是非标准的,只有“三巨头”支持),你可能需要重新考虑是否应该制作非 ajax 版本标准解决方案,并使用 JavaScript 隐藏/显示信息,而不是通过 AJAX 获取信息。如果获取的是业务关键信息,您必须意识到并非所有用户都启用了 JavaScript,因此他们将无法看到此信息。在这种情况下,渐进式增强方法可能更合适。

于 2009-05-23T12:26:07.610 回答
2

如果您试图向您的用户展示与抓取工具不同的内容,Google 会感到不安。我建议简单地缓存您的查询或需要 AJAX 的任何内容,然后使用 AJAX 仅替换您需要更改的内容。您还没有真正解释这个 div 中只有 AJAX 可以提供的内容。如果您可以在没有 AJAX 的情况下做到这一点,那么您应该不仅适用于 SEO,而且适用于盲文阅读器、移动设备和没有 javascript 的人。

于 2009-05-25T10:10:20.987 回答
0

您可以在robots.txt. 该站点地图应该是您的静态页面的列表。您应该在同一个 URL 上向 Google 提供不同的页面,因此您应该有一个包含静态和动态内容的不同 URL。通常,静态 URL 是.../blog/03/09/i-bought-a-puppy,动态 URL 类似于.../search/puppy.

于 2009-06-20T00:40:39.477 回答