分享一个基于puppeteer的高性能spa(vue, react等)SEO解决方案
这是什么?
这是一个高性能的基于puppeteer
的SSR
方案, 他使用Headless Chrome从网页中生成html,然后以http的方法返回html内容
解决了什么问题
很多公司和开发者使用JavaScript框架(包括AngularJS,BackboneJS,ReactJS, VueJS)开发应用程序和网站。但很多搜索引擎,社交媒体,爬虫不支持抓取JavaScript的网页,也就无法做网站SEO。
<b>通过UserAgent判断,如果是来自于爬虫, 则通过nginx(tomcat, Apache)等反向代理到本服务,则可以把渲染好的html网页内容传递给搜索引擎, 从而间接实现SEO, 从而间接实现 SEO, 这样,既可以保持纯粹的前端开始思路, 还能节省 SSR 造成的服务器负担</b>
也可以使用在爬虫采集, 生成网页截图,生成网页PDF场景
github
https://github.com/zuoyanart/sparender
使用
git clone
cd sparender
npm i
npm start
免费接入
请求地址: http://api.zuoyanit.com/render
请求方式: GET
请求示例: http://api.zuoyanit.com/render/http://www.zuoyanit.com
反向代理配置请参阅: 文档
-
为了防止滥用,使用前请联系作者,设置域名白名单
-
免费提供200个页面(以redis中存的记录条数为准)
查看效果
http://127.0.0.1:3001/render?url=http://www.example.com
功能
- puppeteer连接池
- render并发限制
- log4j 日志
- 已集成任务调度
- 生产,开发环境配置
- redis缓存
- 自动来路, 如果来自移动端则自动设置请求UA和viewpoint(使用iphoneX的环境参数)