vue项目不被百度收录,怎么解决?SEO问题

2021-02-26

先说一下传统页面和框架开发的区别

    传统html是通过a标签跳转来作为切换的,每一个页面都是一个html,这样百度很容易抓取到的,也能顺着a链接到你的子级页面。
    像vue、react、angular开发的都是spa应用,他只有一个页面index,他们都是内加载,动态加载切换路由的,所以你再多页面百度蜘蛛只能爬到首页,这就是spa的一大痛点

想具体了解单页面应用和多页面应用区别的自行百度下这里先不多说了哈

说下两种解决方案的区别各自根据开发需求选择解决方案:

第一种:
SSR:服务端渲染(Server Side Render),即:网页是通过服务端渲染生成后输出给客户端。比如JSP、PHP、JavaWeb等都是SSR架构,也就是服务端取出数据和模板组合生成 html 输出给前端,前端发生请求时,重新向服务端请求 html 资源,路由也由服务端来控制。

    Nuxt.js是vue官方给我们提供了一种SSR框架:它是使用 Webpack 和 Node.js 进行封装的基于Vue的SSR框架,不需要自己搭建一套 SSR 程序,而是通过其约定好的文件结构和API就可以实现一个首屏渲染的 Web 应用。
    开发难度:因为Nuxt.js也是一种框架,新项目推荐使用,如果是旧项目,小点的话还好,项目大的话改起来很麻烦,或者重构,配置繁琐,优点:能即时渲染,也是实际商业应用中大部分所需要的

第二种:
预渲染:它只在构建时为了特定的路由生成特定的几个静态页面,等于我们可以通过 Webpack 插件将一些特定页面组件 build 时就编译为 HTML 文件,直接以静态资源的形式输出给搜索引擎。

    开发难度:配置简单,容易上手,优点是:设置预渲染简单,并可以将你的前端作为一个完全静态的站点,缺点是不能像SSR一样即时渲染。

今天说下预渲染解决方案的具体使用:


如上图打包出来像我一样每个页面都有自己的文件夹并对应自己的页面index就完成了,这样就把单页面打包成了多页面
SSR解决方案(Nuxt.js)的使用:Nuxt.js框架具体使用方法,推荐使用

总结

每个框架都有他自己对应的ssr方案,今天这里提到了vue的,有心的童鞋可以自行查阅其他框架方面的

再说几点关于seo方面的小技巧

    多使用语义化标签,用header,section、footer把区域模块都划分清楚,这样也有利于蜘蛛爬取
    多使用h标签,尤其是h1,蜘蛛会认为你这是重要文案
    给每个页面(mate)添加自己的关键词、描述和标题,vue怎么添加的不会的同学 上车

- - - 推荐阅读 - - -