【发布时间】:2013-07-19 08:41:05
【问题描述】:
在我们的网站上,我们通过 Ajax 调用加载相同的内容(当用户点击菜单时,只是为了防止重新加载整个页面,从而改善用户体验)。
所以这很好用,但实际上这个 Ajax 加载的内容实际上是原始内容的副本。
我可以阻止 Google 将此内容编入索引吗?
http://dinox-h.hu/en/gallery.php
在左侧菜单中,您可以看到链接:
例如:
【问题讨论】:
在我们的网站上,我们通过 Ajax 调用加载相同的内容(当用户点击菜单时,只是为了防止重新加载整个页面,从而改善用户体验)。
所以这很好用,但实际上这个 Ajax 加载的内容实际上是原始内容的副本。
我可以阻止 Google 将此内容编入索引吗?
http://dinox-h.hu/en/gallery.php
在左侧菜单中,您可以看到链接:
例如:
【问题讨论】:
尝试在您的 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 传递不同的内容。这也应该可以解决您的抓取问题,因为我怀疑抓取工具会偶然发现它。
【讨论】: