首页 » 博客 » 如何:允许 Google 抓取您的 AJAX 内容

如何:允许 Google 抓取您的 AJAX 内容

营销心理学更新:现在有一个更好的方法来解决我在这篇文章中描述的问题。我推荐你关注我关于这个主题的新文章:使用 pushState() 创建可爬取、链接友好的 AJAX 网站

我将把这篇文章留在这里以示怀旧!这篇文章首先要讨论的是 SEO 人员经常面临的一个特殊困境:

  • 使用 AJAX 将内容加载到页面的网站可以更快并提供更好的用户体验
  • 但是:这些网站对于 Google 来说可能很难(或不可能)抓取,并且使用 AJAX 可能会损害网站的 SEO。

幸运的是Google

已经为网站站长们提供了一个方案,帮助 电报数据库 他们实现两全其美。我将在本文后面提供 Google 文档的链接,但这些建议可以归结为一些相对简单的概念。

尽管谷歌一年前就提出了这个提案,但我觉得它并没有引起太多关注——尽管它对SEO来说应该特别有用。这篇文章的目标读者是那些还没有探索过谷歌AJAX抓取提案的人——我会尽量写得简短,并且不会太过专业!

我会解释这些概念,并向你展示一个已经应用这些概念的著名网站。我还制作了自己的演示版本,其中包含可供你下载和查看的代码。

基础知识

本质上,遵循此提案的网站 技能和领导力发展 需要提供两个版本的内容:

  1. 为支持 JS 的用户提供“AJAX 样式”的 URL 内容
  2. 搜索引擎的内容,位于静态的“传统”URL – Google 将其称为“HTML 快照”

过去,开发者在 AJAX 网站上 使用 URL 中的“命名锚点”部分(即“井号”# 及其后的文本)。例如,请看这个演示  – 点击菜单项会更改命名锚点,并将内容动态加载到页面中。这对用户来说很棒,但搜索引擎蜘蛛却无法处理。

新提案不再使用井号 #,而是要求使用井号和感叹号:#!

!组合偶尔会被比我更极客的人称为“hashbang”;我喜欢这个词的发音,所以我会坚持使用它。

Hashbang Wallop:AJAX 爬取协议

只要你在 URL 中使用井号,Google 就会 新加坡电话列表 识别出你遵循了他们的协议,并以一种特殊的方式解析你的 URL——他们会提取井号后的所有内容,并将其作为 URL 参数传递给网站。他们使用的参数名称是:

然后,Google 会重写该 URL,并从该静态页面请求内容。为了展示重写后的 URL 是什么样子,以下是一些示例:只要您可以让静态页面(这些示例中右侧的 URL)显示与用户看到的相同的内容(在左侧 URL),那么它就会按计划工作。

关于静态 URL 的两点建议

目前,Google 似乎在其索引中返回的是静态 URL——这很合理,因为他们不想将非 JS 用户的访问引导到需要 JavaScript 的页面,从而损害他们的体验。因此,网站可能需要添加一些 JavaScript 代码来检测是否启用了 JS 的用户,并将他们引导至已访问页面的“增强型” AJAX 版本。

 

滚动至顶部