seo - 使 Durandal SPA 网站 SEO 友好

标签 seo single-page-application durandal google-search

我正在尝试使单页应用程序可抓取,并已成功按需创建 HTML 快照,但我很难理解“#”片段是否被视为“漂亮的 URL”,或者它是否只是“#! “?

我读过 http://durandaljs.com/documentation/Making-Durandal-Apps-SEO-Crawlable.htmlhttps://developers.google.com/webmasters/ajax-crawling/docs/specification

在我看来只有“#!”是一个漂亮的 URL,但 Durandal 不支持它。不过它支持 pushState。根据最后一个链接,如果页面已经在使用漂亮的 URL,则不应包括在内:

<meta name="fragment" content="!">

一个效果是页面“www.domain.com?_escaped_fragment_=#”的索引版本将是“www.domain.com#”,当然我们希望没有 hashbang 的 URL 被索引。

总结一下 - 我将使用 # 片段,而不是 #!,我是否应该包含元片段 - 我们的内部链接也将有 # 片段,而不是 #!,Google 会跟踪它们吗?

感谢输入!

站点注释 根据第一个链接,您实际上可以将片段更改为“#!”而不仅仅是“#”,但我无法让它工作。我尝试重载 convertRouteToHash() 函数,它进入了,但无论函数返回什么,我都看不到任何变化。

最佳答案

现在的 URL 片段已经过时:https://developers.google.com/webmasters/ajax-crawling/docs/specification

我现在改用 pushState 并且所有页面都已编入索引。

关于seo - 使 Durandal SPA 网站 SEO 友好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204109/

相关文章:

html - 通过放置另一个以获得更好的 SEO 来覆盖标题部分中设置的默认标题标签

javascript - IdentityServer3 和 Javascript 的隐式流程 - 如何处理 client_secret

knockout.js - 如何在 Durandal 中使用 observables?

single-page-application - 如何使用区域设置 durandaljs?

ajax - 在搜索引擎中列出 ajax 数据?

url - 具有外国编码字符的 SEO 友好 URL 参数?

asp.net - 在我的网站上模拟爬虫

reactjs - SPA + 返回按钮 + 表单状态

amazon-web-services - 与 CodePipeline 相比,使用 AWS Amplify 托管 SPA 有什么缺点吗?

javascript - Durandal JS knockout 延迟更新