今天完成项目部署上线,使用百度收录的时候,百度诊断发现vue项目蜘蛛获取到的是单页面,还未被渲染的html,整个人都傻了,后来查询所有资料,发现使用vue做seo优化有4种,静态,预加载,ssr等,最后折腾了一天发现 要么太麻烦 要么达不到动态渲染,很不利于seo优化。
后来想到了既然想要动态的响应渲染,那可以直接通过后端 查询出数据,直接将渲染完毕的html响应给蜘蛛,那么就不需要通过异步请求接口来返回了,反而没那么麻烦了。
然后就采用springboot+thymeleaf 写了两个页面的seo优化,将两个页面动态渲染后响应给蜘蛛。
nginx 配置:匹配蜘蛛 转发端口响应渲染好的html 不是蜘蛛 那么就转发 前端接口。
由于 蜘蛛分析的是body + title 内容 所以 thymeleaf 可以只写 head 和 body js 和 css 可以直接不写这样方便多了
用户访问可以获取接口信息
蜘蛛访问可以获取html代码