个人站长维护清单:备份、升级与出事时先看哪里

静态站也要维护,只是维护的东西不一样。这份清单是我自己用的:每月做什么、每年做什么、出问题时按什么顺序排查。

文章目录

静态站没有服务器补丁要打,但「没人管」和「不用管」是两回事。 下面是我自己用的维护清单,按频率分三档,每一条都能在十分钟内做完。

每月:五分钟体检

  • 打开首页、随便点一篇文章,确认没有 404 和错版;
  • 看一眼托管平台(Cloudflare Pages)最近一次构建是否成功;
  • 确认域名和 HTTPS 证书没过期——证书通常是自动续期的,但域名不是;
  • 如果这个月写了文章,检查 RSS 里有没有正常出现新条目。

每季度:半天保养

1. 内容备份

静态站的好处是「内容就是文件」,所以备份等于给仓库做一次异地副本:

# 打一个带日期的压缩包(排除依赖目录)
git archive --format=zip -o "site-$(date +%Y%m%d).zip" HEAD

同时建议确认远端仓库还在(GitHub 上的那份就是异地备份)。 只存在一台电脑里的东西迟早会丢——这句话值得当真。

2. 依赖升级

npm outdated          # 看哪些包有新版本
npx @astrojs/upgrade  # 官方脚本:把 Astro 与官方集成一起升到最新
npm run build         # 升完必须重新构建一次

升级不要跳过构建验证:大版本升级时配置项会改名,光看 npm install 成功说明不了什么。

3. 死链检查

站内链接由校验脚本负责;站外链接只能人工抽查,尤其是引用别人博客的那些。

出事时:按这个顺序排查

  1. 线上打不开:先去 Cloudflare 控制台看最近一次部署记录,再看域名解析是否正常;
  2. 样式全乱:多半是构建产物没更新或 CDN 缓存了旧文件,触发一次重新部署即可;
  3. 只有某篇文章出问题:对比它的 frontmatter 和其他文章,八成是字段写错;
  4. 本地能跑、线上不行:检查构建环境变量(比如 NODE_VERSION)和线上构建日志。

一条经验:先看日志,再猜原因。「我觉得可能是……」通常要浪费半小时。

每年:续费与体检

  • 域名续费(建议直接开自动续费,忘记续费被人抢注的例子不少);
  • 检查邮箱是否还能收到域名注册商的通知邮件;
  • 如果换过域名或改过站点结构,更新 robots.txt 与站点地图里的地址。

一条长期的建议

把「为什么这么做」写进仓库里。配置项、脚本、奇怪的兼容代码, 当时不写注释,半年后自己也会看不懂——那时候你面对的就是一个陌生项目了。

这也是我给这个站写方案文档和注释的原因:维护的最大成本从来不是技术,是记忆。