【问题标题】:Making Durandal SPA site SEO friendly使 Durandal SPA 网站 SEO 友好
【发布时间】:2015-11-19 03:56:04
【问题描述】:

我正在尝试使单页应用程序可抓取,并且已成功按需创建 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() 函数,它进去了,无论函数返回什么,我都看不到变化。

【问题讨论】:

  • 首先答案是 - 没有好的方法,对 durandal 来说是一个巨大的缺点。但我所做的是创建一个站点地图,它包含每个 url,其中包含哈希,这为网络爬虫(或至少谷歌)提供了知道每个哈希实际上是不同页面的信息
  • 你有没有得到任何结果,或者你只是希望它工作? :)
  • 它有效,现在刚刚检查以确认,现在我们有 130 个实时活跃成员,并且在图表下方列出了所有不同哈希值的唯一 url。请注意,我认为这可能仅适用于 Google
  • 很高兴听到! :) 感谢您的检查。听起来很容易......只是希望谷歌不会改变事情,所以你(和我)会失去排名。

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


【解决方案1】:

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

我现在改用 pushState,所有页面都被索引了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-11
    • 2012-04-04
    • 2011-07-23
    • 2011-04-06
    • 2014-01-14
    • 2017-05-14
    • 2014-07-26
    • 1970-01-01
    相关资源
    最近更新 更多