我一直在疯狂地研究,试图找到一种使我的主干应用程序 seo 友好的方法。理想情况下,我想使用 https://github.com/thomasdavis/seoserver这应该是一个没有麻烦的设置,但是有一个问题。
所有这些解决方案都使用需要散列 url 的重写规则:
RewriteCond %{QUERY_STRING} ^escaped_fragment=(.)$
RewriteRule (.) http://address-of-seoserver:3000/%1? [P]
我在我的主干应用程序中使用 HTML5 推送状态 URL。有什么方法可以告诉谷歌只重定向没有散列 url 的应用程序页面吗?
最佳答案
首先,由于您没有散列,因此您必须告诉谷歌您正在尝试加载 ajax 内容。 确保以下内容在所有没有散列的页面的 head 标记中
<meta name="fragment" content="!">
然后您可以对谷歌机器人使用以下重写规则。
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=
RewriteRule (.*) http://%{HTTP_HOST}:3000%{REQUEST_URI}? [P]
关于backbone.js - Backbone 与 SEO 服务器 - 让它们协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25666532/