sf的回答越来越碎了,你要么给个答案,要么别发言啊,几个字又不是什么答案的线索……
简单说下自己的看法。
针对vue等SPA应用,要做SEO唯一的解决方案叫“直出”,说白了,就是首屏以html字符串的方式输出。这就是react、vue都要支持服务端渲染的能力。所谓服务端渲染(server side render),就是在服务端将react组件使用renderToString方法,渲染成字符串,再和html模板拼装一下,得到和普通网页一样的html源代码,进行输出。
比如用户进入到/cat/detial1.html这个url,查看页面源代码,是detail1的具体内容,页面已经显示出来了,无论是用户打开页面,还是搜索引擎蜘蛛,都可以看到具体的内容,注意,这个时候前端打包的bundle文件还没有加载完。直到bundle下载完执行时,bundle代码会去检查当前html中的DOM节点,如果发现存在问题,会去对DOM进行更新,之后,再实现原来react中的onClick等事件绑定。这个过程的后半部分和你现在的方式基本是一致的。
为什么是“首屏”呢,因为它还是SPA,bundle加载完之后,和你现在的应用的操作是一样的。这是路由的功能。
服务端渲染是个大问题,我也是在学习过程中,仅做一个思路。