我正在努力使单页面应用程序可以抓取,并且已经成功创建了HTML快照,但是我很难理解“#”片段是否被认为是“漂亮的URL”,或者它只是“#! “?
我看过http://durandaljs.com/documentation/Making-Durandal-Apps-SEO-Crawlable.html和https://developers.google.com/webmasters/ajax-crawling/docs/specification
在我看来,只有“#!”是一个漂亮的URL,Durandal不支持这个。但它支持pushState。根据上一个链接,如果页面已经使用了漂亮的网址,则应该不:
<meta name="fragment" content="!">
一个结果是页面的索引版本“www.domain.com?_escaped_fragment_=#”将是“www.domain.com#”,我们希望当然没有hashbang的URL被编入索引。 / p>
所以要把它包起来 - 我会使用#片段,而不是#!,我是否应该包含元片段 - 我们的内部链接也会有#片段,而不是#!,它们会被Google跟随?
感谢您的投入!
Sitenote 根据第一个链接,您实际上可以将片段更改为“#!”而不只是“#”,但我不能让它工作。我尝试重载convertRouteToHash()函数,它进入,无论函数返回什么,我都看不到变化。
答案 0 :(得分:0)
现在的网址片段已过时:https://developers.google.com/webmasters/ajax-crawling/docs/specification
我现在使用pushState而且所有页面都被编入索引。