jquery - 去hashbang还是不去hashbang?

标签 jquery ajax seo umbraco hashbang

我正在开发一个新网站,我想尽可能多地使用 AJAX。基本上,我希望用户几乎永远不会离开主页,所有内容都显示在弹出窗口、 slider 、部分等中。

现在我们现有的网站已经排名很高,所以我也想让 Google 满意。我一直在阅读 Making AJAX Applications Crawlable Google 并了解我必须通过 _escaped_fragment_ 为抓取工具提供相同的内容。

问题
我想使用 Umbraco 开发这个网站,它已经提供了 SEO 友好的 URL。

但问题是,如果不破解 Umbraco 核心(至少这是我的知识)并使用我在下面发布的解决方案(答案),我没有一个简单的方法来实现 _escaped_fragment_也将使没有 Javascript 的用户满意。双赢局面?你告诉我! =)

更新
昨天有另一位用户的回答(现已删除),他建议 Google 不再使用 _escaped_fragment_ 方法,并建议将其排除在外。这是真的? Google 真的会运行 AJAX 来查看内容吗?

谢谢
马尔科

最佳答案

我采纳了@Daniel Pryden 的 评论中的建议并将其作为答案发布。

我考虑过这个问题并想到 - 为什么不以老式方式、实际页面和所有内容创建网站,然后执行以下步骤。

  1. 使用 jQuery 拦截主页上的所有内部链接,并在 window.location.pathname 之前添加一个哈希 (#),从而触发 hashchange 事件。 (见第 3 步)
  2. 在除主页之外的所有页面上添加 javascript 重定向以将页面重定向回主页,但在井号 (#) 后附加 window.location.pathname。比如谷歌抓取http://www.domain.com/about-us.aspx但是当用户访问该页面时,他们将被重定向到 http://www.domain.com/#/about-us.aspx
  3. 在主页上,使用 jQuery BBQ 或类似插件监听 hashchange 事件,包括页面加载时间,以便加载动态内容。 Umbraco 可以配置为根据请求是否为 AJAX 请求提供部分或完整页面内容。

这样,没有 Javascript 的用户将拥有一个成熟的(半好看的)网站,谷歌将毫无问题地抓取所有页面,但使用 Javascript 的用户将始终留在主页上——这个很酷的概念将实现拥有 Web 应用程序而不是网站。

关于jquery - 去hashbang还是不去hashbang?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6756695/

相关文章:

javascript - 使用 jquery cookie 插件设置主体类

javascript - 用纯色或图像覆盖 div Chrome 扩展

seo - 如何将不存在的 .html 文件重定向到 mvc3 路由?

seo - 网站目录中的网页排名

html - 是否可以对 opengraph 和 schema.org 使用相同的元标记

JQuery 对话框初始化

javascript - 如何使用 jQuery 在单击特定链接时切换到特定选项卡面板?

php - jQuery AJAX 获取 MySQL 数据返回整个 index.html

javascript - jquery ajax 通过 mvc 操作方法的空响应

javascript - 帮助通过 ror 通过 ajax 执行 javascript