nodejs抓取动态网页(让百度下我的动态填充vue单页面ssr解决问题)
优采云 发布时间: 2021-10-22 11:03nodejs抓取动态网页(让百度下我的动态填充vue单页面ssr解决问题)
遇到的问题:
最近在写个人博客的时候,遇到了一个大家可能会遇到的问题。
vue单页SEO很弱,尤其是百度不会抓取动态脚本
Vue-router配合前后端分离,防止蜘蛛爬行时动态填充meta标签
Vue单页是大势所趋,写起来不仅很酷,当然也可以选择多页
但是即使面对文章和文档有多个页面,也不能说每个文章生成一个vue页面。
ssr当然可以解决这个问题,但是仔细想想,ssr不是和之前的.php页面一样吗?
所有数据都是提前拉取然后填充返回浏览器,消耗服务器资源较多,配置麻烦
当然预渲染不能解决这个问题
所以问题来了,我只想百度抓取我的动态文章,但是配置一个繁琐的ssr并不是最好的选择
我的解决方案:
由于我只是想让百度抓取我的动态文章,其实蜘蛛抓取我的静态页面的时候,html meta标签就已经填好了
那么就很简单了,我们只需要实现一个很简单的ssr阉割版即可。
ps:好久没在百度找到相关的文章,不知道是不是我百度姿势不对
具体思路:
因为我的服务器后端语言是php,服务是nginx,所以我这里展示的所有后端代码都是基于php的。当然你可以选择nodejs或者其他语言来实现。这是一个简单的想法
如上所述,我们将实现一个阉割版的 ssr。实际上,当服务器有请求时,在静态html元标记上填写数据,然后将其返回给请求者。
这里的实现是基于搭建的vue单页,所以请先搭建一个vue单页
先改造建dist下的index.html
获取最上面的变量,因为接口都是现成的,所以偷懒直接获取接口
将获取到的数据输出到meta标签
<p>