3

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

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

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

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

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

例如:

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

4

1 回答 1

6

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

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

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

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

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

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

X-Requested-With: XMLHttpRequest

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

于 2013-07-19T08:57:05.787 回答