除了谷歌提出的hashbang方法之外,还有谁能给我一个很好的理由为什么不使用hijax(渐进增强)方法?据我所知,hijax方法仍然是更好的方法:
我到目前为止发现的唯一反驳论点是,当他们点击搜索引擎中的链接并启用了javascript时,您需要重定向到启用javascript的版本(使用#-tag)。
对于Google的hashbang版本,很难提供基于no-javascript的版本,Bing和Yahoo无法抓取您的网站。
亲切的问候,
大安
答案 0 :(得分:6)
“价值分配”的答案并不完全正确。
问题是关于为搜索引擎显示内容 。 Hashbang是谷歌的答案。也就是说,没有启用JS的用户(或其他不支持hashbang的搜索引擎或社交网络刮刀)将永远不会看到您的内容。谷歌可以看到它,因为他们正在检查hashbang。
另一方面,Hijax总是允许非JS用户/机器人看到你的内容,因为不依赖于hash / hashbang。 Hijax依赖于标准查询字符串参数。这意味着您的应用程序必须具有后端逻辑,以便为非JS用户代理呈现您的内容。最后,通过Hijax JS,用户可以获得异步体验,而非JS用户可以获得完整的页面加载。Google继续推荐Hijax。 Hashbang是他们在野外已经存在的非hijax应用程序,和/或没有后端的JS应用程序。
http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html (参见渐进增强部分)
答案 1 :(得分:5)
原因是价值分配
好的,假设用户链接到http://www.example.com/stuff#fluff
该链接实际上被视为http://www.example.com/stuff#fluff
的链接,但是
http://www.example.com/stuff#fluff
和http://www.example.com/stuff
是相同的HTML内容,Google会将值分配规范化(汇总)到http://www.example.com/stuff
您与非JavaScript客户(googlebot)沟通的网站www.example.com/stuff/fluff未在整个过程中出现
Fazit:所以Google基本上会将http://www.example.com/stuff#fluff
的链接视为对http://www.example.com/stuff
的投票
用户链接到http://www.example.com/stuff#!fluff
Googlebot会将其解释为www.example.com/stuff?_escaped_fragment_=fluff
由于它提供了不同的内容(即:www.example.com/stuff
的不同内容),谷歌不会将其与任何其他网址进行规范化(汇总)。
Google会向其用户显示http://www.example.com/stuff#!fluff
Fazit:谷歌将http://www.example.com/stuff#!fluff
的链接视为对www.example.com/stuff?_escaped_fragment_=fluff
的投票(但以http://www.example.com/stuff#!fluff
显示给用户)
答案 2 :(得分:5)
我认为这不再是一个问题,因为Bing(这也意味着雅虎)开始使用google的hashbang提议抓取ajax页面!
答案 3 :(得分:1)
使用双链接(AJAX和普通链接),它们与Bing,Yahoo和其他
兼容答案 4 :(得分:0)