编程笔记

lifelong learning & practice makes perfect

awsome blog|如何使用hexo高效构建博客

目标

为了更好保存和记录博客,使用github+Tencent cos+Tencent CDN 存储blog,利用github action自动部署

依赖

  1. hexo
  2. github
  3. Tencent cos + Tencent CDN + github action

步骤

hexo+blog内容

在 source/_post 下添加markdown文件,完成后推送到github会触发github actions 自动构建

部署

使用github action部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
name: Deploy
on: [push]
jobs:
build:
runs-on: ubuntu-latest
name: A job to deploy blog.
steps:
- name: Checkout reposistory
uses: actions/checkout@master
# 下载主题仓库
- name: Checkout submodules
run: git submodule update --init --recursive

# 构建
- name: hexo-build
run: yarn install && yarn add hexo-cli && yarn exec hexo generate

# 推送到腾讯COS存储桶
- name: DeployTecentCos
uses: TencentCloud/cos-action@v1
with:
secret_id: ${{ secrets.TENCENT_CLOUD_SECRET_ID }}
secret_key: ${{ secrets.TENCENT_CLOUD_SECRET_KEY }}
cos_bucket: ${{ secrets.COS_BUCKET }}
cos_region: ${{ secrets.COS_REGION }}
local_path: public
remote_path: /
clean: true

CDN

内容缓存到CDN,刷新策略:每次更新先刷新缓存再预热,使新内容下发到cdn节点,优化加载速度
由于只是个人blog,数据量很小,这里使用全量刷新,一个大站全量刷新会导致大量回源(是不合适的,源站可能撑不住)

CDN文档

SEO

搜索引擎

  • Bing: 使用 indexnow + github actions 自动推送到搜索引擎
  • Google: 提交sitemap

indexnow推送使用 bojieyang/indexnow-action@v2 提交,博客构建完后工具会通过sitemap.xml获取新增的博文推送到Bing

外链

在github,v2ex等高权重的网站提交外链有助于提高网站访问量

可以通过 ahrefs 查询网站网站权重,外链等数据

广告

可参考这篇文章hexo 添加自定义广告给网站引入谷歌广告

参与Google广告实验还可以使用官方功能自动优化广告展示,设置广告优化方式,展示位置等

自动广告

点击广告->按网站->编辑,如图:

自动广告

编辑后可以预览效果:

自动广告

广告单元,可以在网站不同位置设置不同的展示效果:

自动广告

参考

欢迎关注我的其它发布渠道