Seo hashHistory、转义片段和Google
我与React Router合作已有一段时间了,我一直在使用Seo hashHistory、转义片段和Google,seo,react-router,google-search,Seo,React Router,Google Search,我与React Router合作已有一段时间了,我一直在使用hashHistory来处理路由。在某个时候,我会将应用程序转换为浏览器历史记录,但我很好奇,为什么谷歌的“以谷歌身份获取”功能除了根路由之外似乎不适用于其他任何东西(/)。很明显,它在呈现一些东西,而不是服务器未处理的路由。(下图) 我看到谷歌已经做到了,这让我相信我不再需要处理?\u转义\u片段=,但即使如此,我也无法让谷歌呈现任何其他路线 例如,网站是www.learnphoenix.io,课程列在www.learnphoeni
hashHistory
来处理路由。在某个时候,我会将应用程序转换为浏览器历史记录
,但我很好奇,为什么谷歌的“以谷歌身份获取”功能除了根路由之外似乎不适用于其他任何东西(/
)。很明显,它在呈现一些东西,而不是服务器未处理的路由。(下图)
我看到谷歌已经做到了,这让我相信我不再需要处理?\u转义\u片段=
,但即使如此,我也无法让谷歌呈现任何其他路线
例如,网站是www.learnphoenix.io
,课程列在www.learnphoenix.io/#/phoenix chat/lessons
下。然而,Google在webmaster中的功能重定向到主页,只呈现主页。使用\u转义\u片段
会得到相同的结果
有没有一种方法可以让谷歌使用
hashHistory
对我的网站进行索引,或者我必须接受只有我的主页才会被索引,直到我切换到browserHistory
?默认情况下,谷歌似乎忽略了url片段(#)。根据这篇可能注明日期的文章,使用#!将告诉谷歌,这些片段可以用来定义不同的规范页面
尽管ReactRouter不支持Hashbang,但还是值得一试,因为它应该被弃用
更好的选择可能是咬紧牙关,在react路由器中使用browserHistory
(pushState)。问题是,如果您运行的是静态无服务器应用程序,那么像/phoenix chat/lessons
这样的路径将返回404。在美国焊接学会(AWS)中,也有关于这一点的黑客攻击。将404页面设置为应用程序索引页面
感觉很脏,但还是值得一试。希望这个答案对你有价值 是的,这可能是我们能得到的最好的了。我想对于单页应用程序,你真的需要确保就谷歌而言,它实际上是一个单页。