单页面SEO解决方案

单页应用实际是把视图(View)渲染从Server交给浏览器,Server只提供JSON格式数据,视图和内容都是通过本地JavaScript来组织和渲染。而搜索搜索引擎抓取的内容,需要有完整的HTML和内容,单页应用架构的站点,并不能很好的支持搜索。

路由与状态的管理

传统的页面型产品是不存在这个问题的,因为它就是以页面为单位的,也有的时候,服务端路由处理了这一切。但是在单页应用中,这成为了问题,因为我们只有一个页面,界面上的各种功能区块是动态生成的。所以我们要通过对路由的管理,来实现这样的功能。

#号在浏览器的URL中是一个锚点,在当前页改变#号的参数,页面会跳转到锚点所在的位置,通过JavaScript我们可以获取到#号后的参数, 改变#号后的参数,页面并不会重载,于是大多数的单页架构网站,都在URL中采用#号来作为当前视图的URL地址。

prerender.io

万金油的 prerender.io.也就是根据用户请求的UA类型,普通用户请求,按照正常流程走.而蜘蛛爬虫之类的用户请求,采用由prerender执行页面js后生成的静态页面发送给爬虫.从而达到通用的单页面seo.不关乎于框架.(注意游戏直播的鼻祖 twitch也是采用prerender.io的)

参考资料

原文: https://leohxj.gitbooks.io/front-end-database/content/sap/sap-seo.html