hashbang vs hijax

时间:2011-02-17 11:36:24

标签: javascript seo

除了谷歌提出的hashbang方法之外,还有谁能给我一个很好的理由为什么不使用hijax(渐进增强)方法?据我所知,hijax方法仍然是更好的方法:

  • 适用于非JavaScript浏览器
  • 所有搜索引擎都可以索引

我到目前为止发现的唯一反驳论点是,当他们点击搜索引擎中的链接并启用了javascript时,您需要重定向到启用javascript的版本(使用#-tag)。

对于Google的hashbang版本,很难提供基于no-javascript的版本,Bing和Yahoo无法抓取您的网站。

亲切的问候,

大安

5 个答案:

答案 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)

原因是价值分配

Hijax

  1. 好的,假设用户链接到http://www.example.com/stuff#fluff

  2. 该链接实际上被视为http://www.example.com/stuff#fluff的链接,但是 http://www.example.com/stuff#fluffhttp://www.example.com/stuff是相同的HTML内容,Google会将值分配规范化(汇总)到http://www.example.com/stuff

  3. 您与非JavaScript客户(googlebot)沟通的网站www.example.com/stuff/fluff未在整个过程中出现

  4. Fazit:所以Google基本上会将http://www.example.com/stuff#fluff的链接视为对http://www.example.com/stuff的投票

    Hashbang

    1. 用户链接到http://www.example.com/stuff#!fluff

    2. Googlebot会将其解释为www.example.com/stuff?_escaped_fragment_=fluff

    3. 由于它提供了不同的内容(即:www.example.com/stuff的不同内容),谷歌不会将其与任何其他网址进行规范化(汇总)。

    4. Google会向其用户显示http://www.example.com/stuff#!fluff

    5. 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页面!

Lense about ajax-crawling in Bing

答案 3 :(得分:1)

使用双链接(AJAX和普通链接),它们与Bing,Yahoo和其他

兼容

看看Single Page Interface and Search Engine Optimization

答案 4 :(得分:0)