基于Vue SEO的四种方案(小结)

2020-06-14 06:27:21易采站长站整理

启动之后或者用postman在请求头增加 User-Agent 值为 Baiduspider ,效果一样的。

部署上线

线上要安装

 node 
 pm2 
phantomjs
,nginx相关配置:


upstream spider_server {
server localhost:3000;
}

server {
listen 80;
server_name example.com;

location / {
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

if ($http_user_agent ~* "Baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator|bingbot|Sosospider|Sogou Pic Spider|Googlebot|360Spider") {
proxy_pass http://spider_server;
}
}
}

优势:

完全不用改动项目代码,按原本的SPA开发即可,对比开发SSR成本小不要太多;
对已用SPA开发完成的项目,这是不二之选。

不足:

部署需要node服务器支持;
爬虫访问比网页访问要慢一些,因为定时要定时资源加载完成才返回给爬虫;
如果被恶意模拟百度爬虫大量循环爬取,会造成服务器负载方面问题,解决方法是判断访问的IP,是否是百度官方爬虫的IP。

总结

如果构建大型网站,如商城类,别犹豫,直接上SSR服务器渲染,当然也有相应的坑等你,社区较成熟,英文好点,一切问题都迎刃而解。

如果只是个人博客、公司官网这类,其余三种都可以。

如果对已用SPA开发完成的项目进行SEO优化,而且支持node服务器,请使用 Phantomjs 。

很少写文章,这是我这个月对Vue SEO方案的探索,写的不对的地方请指出,谢谢理解~