【问题标题】:SEO in a backbone application so that google can index home, after phantomjs在骨干应用程序中进行 SEO,以便谷歌可以在 phantomjs 之后索引主页
【发布时间】:2012-05-30 09:39:43
【问题描述】:

我有 Backbone 网站。我使用了 phantomjs,以便搜索引擎可以按照 _escaped_fragment_spec 通过 js 链接 (#!/something) 进行查找。我已经使用 google webtools 进行了检查,看看 google 会如何看待我的网站,而且大部分看起来都是正确的。

但是,主页(例如:www.example.com;链接中没有#!的那个),google没有发送_escaped_fragment_spec,所以页面没有发送到phantomjs,也没有应用js,因此谷歌正在寻找一个几乎是空的页面。

有谁知道如何指出这一点或解决问题?

谢谢

编辑: 根据谷歌(https://developers.google.com/webmasters/ajax-crawling/docs/getting-started) 您应该添加到头部,但是我已经添加了它,并且 webtools - 参见 google,不会将主页作为 javascript 处理。有什么帮助吗?有问题的网站是http://www.boletus-app.com/ 谢谢

【问题讨论】:

  • 您是否在 .htaccess 中添加了任何内容以重定向到“seo 服务器”或子域,或者您是否在应用程序本身的 escaped_fragment 查询参数中进行了处理?

标签: javascript backbone.js seo phantomjs


【解决方案1】:

这个问题的答案是使用片段元标记

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

这将强制使用转义片段请求包括主页在内的所有页面

【讨论】:

    【解决方案2】:

    查询参数名为“_escaped_fragment”,而不是“_escaped_fragment_spec”。

    Google 不会在您的客户端应用中执行 JavaScript。 Google 的 AJAX 应用程序支持旨在支持您站点中的 AJAX/hashbang URL 从其他站点链接到的情况。例如,如果有人链接到http://example.com/app#!my-route,当 Google 的爬虫遇到该链接时,它会在向您的服务器请求之前将其转换为 http://example.com/app?_escaped_fragment=my-route。您的服务器代码必须处理此查询参数并生成适当的 HTML 来表示该 URL 以供 Google 索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多