前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单页面Vue网站无服务端实现静态化SEO

单页面Vue网站无服务端实现静态化SEO

作者头像
羽翰尘
修改2019-11-26 16:53:35
3.7K0
修改2019-11-26 16:53:35
举报
文章被收录于专栏:技术向技术向

本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/vue_seo_spa_new_way/

思路

单页面做SEO自然很困难,因为所有的内容都是动态生成的,而爬虫不会去费劲抓回这些异步的数据。那么如果我做两个页面呢?

  • 一个页面是首页 + 管理后台,首页需要实时更新,加一些meta就会被收录,且通常搜索引擎过来的流量很少是直接到首页;管理后台最适合单页面,不需要被搜索。以下称为非SEO页。
  • 另一个页面是SEO页面,实质内容页,或者说是营销页。以下称为SEO页。

非SEO也就采用next-blogger现有的代码结构,全站Vue。

SEO页采用部分vue的方式,分块如下:

  1. header 一些栏目的链接,设置为固定的即可
  2. title,meta 在写文章时就指定,设置为固定
  3. article 文章的主题内容,设置为固定
  4. related article 相关文章,使用vue或者其他js,动态从服务器获取
  5. comments 动态内容,使用vue或者其他js动态获取
  6. category,tag 链接,动态内容,跳转到非SEO页

非SEO页与SEO页的跳转方式:

SEO页全部采用静态固定链接,在非SEO页跳转到SEO页之前,必须将该页面生成并发送到服务器

SEO页的生成:

  1. 搭建vue工程做出该页面
  2. 将js、css等静态文件先部署到服务器
  3. 使用模板软件或者自己写函数,实现渲染功能
  4. 将渲染软件部署到云函数或者本地服务器
  5. 非SEO页的管理页面增加按钮,发送文章内容到渲染服务器
  6. 将渲染之后的SEO页保存到静态文件托管文件服务器,发送方可以是渲染服务器,也可以是浏览器
  7. 推送链接到CDN服务商
  8. 检查链接是否可访问,推送链接到搜索引擎,原创内容等
  9. 使用第三方内容平台的api,推送该内容到第三方内容平台,如知乎、csdn、博客园、脚本之家

技术内容与实现过程可以看使用Python jinja2和云函数做页面渲染

时间记录:

  • 20190405 还需要做的事 footer的站点名称与header保持一致;header动态获取和链接; SEO页的更新: 只要将更新后的页面保存到静态文件托管服务器即可
  • 20190408 完成编码并上线
  • 20190619 完成编码过程博文撰写Nginx配置 我们实现页面静态化之后,如果刷新会出现404,这时候需要修改Nginx的一些配置。

Nginx的Rewrite实现router history 刷新 无404

一个典型的Nginx的配置为

[root@test-huanqiu ~]# cat /Data/app/nginx/conf/vhosts/testwx.wangshibo.com.conf 
         server {
         listen 80;
         server_name testwx.wangshibo.com;
         root /Data/app/xqsj_wx/dist;
         index index.html;
         access_log /var/log/testwx.log main;
         location / {
             try_files $uri $uri/ @router;
             index index.html;
         }
        location @router {
            rewrite ^.*$ /index.html last;
        }
}

这里的rewrite规则很重要,因为既要保证服务端在刷新时返回index.html文件内容,浏览器的地址栏又不能变。在这里解释了flag标志的含义,即last代表浏览器地址不变。在Apache中应该是PT。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 思路
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档