谷歌会将 hashbang/escaped_fragment 内容的正确 URL 编入索引吗

Posted

技术标签:

【中文标题】谷歌会将 hashbang/escaped_fragment 内容的正确 URL 编入索引吗【英文标题】:Will google index the correct URL for hashbang/escaped_fragment content 【发布时间】:2011-12-18 17:48:01 【问题描述】:

我最近阅读了 Google 的 Making AJAX Applications Crawlable,因为我想知道如何正确地为 SEO 准备使用 hashbang 导航的动态网站。 我现在明白,对于mysite.com/#!/foobar,我应该在mysite.com/?_escaped_fragment_=foobar 提供等效的html 快照。

我只想知道谷歌是否正确地将我的页面索引为http://example.com/#!/foobar 或者如果它使用这个escaped_fragment url?我假设(但想确定)它会正确使用我的 hashbang url 来搜索结果,但索引内容取自 escaped_fragment 页面。

一些确认会帮助我睡得更好。谢谢

【问题讨论】:

我认为这或多或少是它的目的。有点跑题了——我绝对讨厌这种设计模式,在使用无脚本浏览时非常烦人,我通常会避免仅出于这个原因使用它的网站。 同意。使用它来加载您的页面内容是very bad idea。 谢谢。在这种情况下,您会为 AJAX 网站或其他状态应该可收藏的动态网站推荐哪些导航技术? 为了兴趣,你为什么不用脚本浏览? 修复网址:developers.google.com/webmasters/ajax-crawling 【参考方案1】:

默认情况下,谷歌会为你的页面创建 escaped_fragment url。那可能最终看起来很难看。

您应该使用 301 将 escaped_fragment url 重定向到具有更漂亮 url 的页面页面

假设您的服务器从 googlebot/任何符合 hashbang 的爬虫(例如“targetPage?_escaped_fragment_=command=play%26id=4ee7af”)获取 URL 请求

您应该让您的 targetPage 接受 targetPage?_escaped_fragment_= .... 并创建一个 301 重定向到自身作为“targetPage?command=play&id=4ee7af”(或任何其他漂亮的 url,只要它指向同一页面)

如果您使用的是 J2EE,您可以创建一个 servlet 过滤器来拦截并 301 重定向到同一页面的更清晰的 url。

【讨论】:

以上是关于谷歌会将 hashbang/escaped_fragment 内容的正确 URL 编入索引吗的主要内容,如果未能解决你的问题,请参考以下文章

Chromium和Chrome的区别

将 recyclerview 与数据库一起使用

直击“鸿蒙”?谷歌宣布:或将于8月启用AAB取代APK格式

关于谷歌今年的I/O 2019开发者大会 我们有哪些期待

使用 Timthumb 时的 SEO 友好 URL

Google Play 应用签名的工作原理