前几天有一位新浪四川的朋友通过我的一篇 Prerender + vuejs SEO最佳实践 博文找到我
按照 Prerender 官方 和 我的实战经验 在 window 平台上搭建了一个 Prerender 渲染服务 不过区别在于
- 不是基于
Vuejs的应用 而是Angular(不过这不重要Prerender官方宣传是为前后端分离的应用做SEO的 不限定平台和语言) - 应用不是单页的 即入口是多个的
问题分析
- 通过检查已经安装好的
Prerender服务 发现是部署成功的 通过使用已经部署成功的
Prerender服务 测试应用中的摸个页面 结果如预测的一样 成功渲染(即应用处理部分是正常的)Java(Spring)中间件并没有正确的配置 或者配置了并未生效(问题所在)
解决方案
由于我并不熟悉Java 所以采用了Nginx中间件的方案(我所熟悉的)
并且由于刚好该团队采用了前后端分离的形式 但是还是用Tomcat处理静态文件的 我刚好换成用性能更佳的Nginx
但是用了 Prerender 官方的 Nginx 中间件发现只有首页是正常的 于是经过了几轮改造升级 变成如下配置
|
|
具体改动
- 去掉了官方默认只有一个入口(
index.html)的限制 改成不限制入口(任意HTML文件匹配均生效) - 新增了几个国内的爬虫标志(360 搜狗)
- 增加了未匹配文件自动转发至
Tomcat处理(该系统上传文件是在另一个Tomcat应用目录中的 所以有部分静态文件是需要转发的 于是就写了一个 未匹配文件/API都转发至应用后端所绑定的端口)
至此 改造完成 多页动静分离SEO处理方案完美诞生