博客域名迁移手册
🚀 个人博客域名迁移实战手册(进阶版)
一、 源码层:GitHub 仓库与 Hexo 配置
在推送代码前,必须确保博客的身份信息已经更新。
1.1 CNAME 文件
检查 GitHub 仓库 public 文件夹(或 source 文件夹)下的 CNAME 文件,将其内容改为新域名:harrysong\online。
1.2 Hexo 配置文件
修改根目录下的 _config.yml 中的 url 字段。该配置直接关系到生成的站点地图(Sitemap)和资源绝对路径。
1.3 清理与重构
执行以下命令,强制刷新静态资源,确保所有静态页面中嵌入的链接都已指向新域名:
hexo clean |
二、 图床层:npm 与自定义镜像域名
这是本次迁移方案中最核心的环节。若使用 static\harrysong\space 子域名作为 npm 图床加速镜像,需完成以下配置闭环:
2.1 子域名解析
在 Cloudflare 控制台中,为新域名添加 static(自定义)类型的 CNAME 解析记录。
2.2 全站内容替换
使用全局搜索替换工具,批量修改博客文章源码,将所有旧图床域名:static\harrysong\space 替换为新域名:static\harrysong\online。
三、 安全与边缘计算层:Cloudflare Worker 调优
该环节是最容易出现图片加载异常(403/404)的关键位置,务必仔细核对。
3.1 Worker 逻辑更新(防盗链)
Referer 白名单:若 Worker 配置了 Referer 防盗链规则,必须将新域名
harrysong\.online加入白名单匹配规则。硬编码修改:若代码中存在旧域名硬编码(Hardcode),需同步批量更新。
3.2 触发器(Triggers)绑定
核心步骤:在 Cloudflare Worker 控制面板,将新域名路由(示例:
static\harrysong\online\)添加至 HTTP Routes 路由列表。重要注意:仅修改代码、未绑定路由,流量会直接穿透 Worker 直达源站,导致防盗链、资源加速等功能全部失效。
四、 托管层:Netlify 的平滑过渡
4.1 主域名变更
登录 Netlify 后台,将 harrysong\online 设置为站点 Primary domain(主域名)。
4.2 HTTPS 证书重新激活
开启 Cloudflare DNS 解析小黄云(代理模式)后,在 Netlify 后台手动刷新 SSL 证书状态。
避坑提示:若出现证书签发失败,大概率是 Cloudflare SSL/TLS 安全模式过高;迁移期间建议临时调整为 Full(完全模式)。
五、 流量收拢:301 永久重定向
为保留旧域名 SEO 权重、留存历史外链流量,需在 Cloudflare 配置域名重定向规则。
5.1 重定向规则配置
使用 Redirect Rules 规则,将旧域名 harrysong\space 全部请求设置为 301 永久重定向,跳转至新域名。
5.2 保留访问路径
开启路径携带功能,保证精准跳转,示例:harrysong\space/post\1 ➜ harrysong\online\post\1,禁止仅跳转首页。
⚠️ 避坑检查清单(Checklist)
DNS 小黄云:Worker 依赖 Cloudflare 代理,相关解析记录代理状态必须为 Proxied(已代理)
缓存清理:迁移完成后,在 Cloudflare 后台执行 Purge Everything,清除全局缓存,避免读取旧重定向规则
Referer 校验:图片加载异常时,按 F12 打开浏览器开发者工具,核查请求头 Referer 是否为新域名、Worker 响应状态是否正常