【发布时间】:2012-10-04 20:55:16
【问题描述】:
如果你想用 Silex 实现对 SEO 友好的单页 ajax 网站,最好的方法是什么?
我想使用路由(没有硬编码的 url)并支持带有 hashbangs 或 HTML5 pushState 的后退按钮(浏览器历史记录)。
我想这可以通过 JavascriptRoutingServiceProvider 和 pathjs 或类似的组合来完成。但我想有人已经解决了这个问题,所以我很想听听你的经验。
【问题讨论】:
如果你想用 Silex 实现对 SEO 友好的单页 ajax 网站,最好的方法是什么?
我想使用路由(没有硬编码的 url)并支持带有 hashbangs 或 HTML5 pushState 的后退按钮(浏览器历史记录)。
我想这可以通过 JavascriptRoutingServiceProvider 和 pathjs 或类似的组合来完成。但我想有人已经解决了这个问题,所以我很想听听你的经验。
【问题讨论】:
我将专注于 SEO 友好部分。
如果您和您的网站访问者对此没有任何问题,您可以在您的网站中使用尽可能多的“花哨的东西”。
但请记住,您添加的“花哨的东西”越多,Google 和其他搜索引擎就越会将您推离他们自己。
请记住,没有确定的拍摄方式。我会告诉你应该怎么做。
注册 "Google Webmasters Tools" 并使用它,特别是“Fetch as googlebot”它会告诉您在阅读(抓取)您的网站时出现的问题和错误。
在开发网站时,使用 firefox 插件"User agent switcher" 它会告诉你当 google 看到你的页面时你的页面是什么样子的。
在关闭 js 和 css 的情况下测试您的页面,这就是 google 和其他搜索引擎如何查看您的页面。
如果使用这些方法,您会发现问题和错误,并且发现 google 在阅读您的网页和网站时遇到了困难,而不是警告您从您的网站中删除一些“花哨的东西”。
还有很多其他与 SEO 相关的事情,但以上内容将帮助您入门并让您走上正确的轨道,使您的网站对搜索引擎来说可读、可抓取、可索引。
【讨论】:
这是我修复它的方法。
如果启用了 javascript,我将阻止主菜单链接默认行为和sending ajax requests instead。请求完成后,我将使用 window.history.pushState() 保存浏览器历史记录。
我将layout 设为有条件的。如果是整页刷新(禁用 bot 或 javascript)或主要内容(如果是 ajax 请求),我将加载带有页眉和页脚的内容。
这样,无论是否启用 javascript,我都有一致的行为,但使用 ajax 代替整页刷新。最重要的是我保留了 Silex 路由。
欢迎反馈。
【讨论】:
我完全同意上面的 Metadice。放置在网站上的物品应该非常实用,因为有很多噱头可以帮助这个和那个以及 SEO 产品。有时我们会认为自己太聪明了,好像为 Google 这样的公司工作的人不如我们聪明!对对对!
我遵循基本裁决。我必须有一个优先事项,那就是在我的网站上拥有最新的相关内容以及大量内容。满足搜索者的需求。其他一切都是次要的。换句话说,1 页内容和 10 个插件根本不会削减它......
我有一整篇文章基于这样一个事实,即 Google 很少关心帮助你炫耀你的穿着和眼泪……他们想做的就是将最固定的点和相关内容与搜索词结合起来……句号。
要查看更详细的文章,请随时访问我的文章帖子:
【讨论】: