Files
blog/评论孤儿修复方案-2026-10-06.md
T
zqlit c2f890a0f7 feat: favicon 边缘缓存 + CDN 整站刷新兜底 + 评论孤儿修复归档
- blog-admin tools.ts: favicon 响应加 s-maxage/CDN-Cache-Control,
  让 CF 边缘可缓存,边缘命中即不进 Worker,KV 读取量大幅下降
- scripts/refresh_cdn.js: 裸域名自动补尾斜杠(多吉云 rtype=path 是目录刷新,
  https://usj.cc 只刷首页,https://usj.cc/ 才是全站),并打印刷新清单
- 新增文档:评论孤儿修复方案、函数版证书管家方案、诊断报告
2026-10-06 12:46:05 +08:00

5.2 KiB
Raw Blame History

评论区孤儿评论修复方案(2026-10-06)

✅ 状态:已执行完成(2026-10-06 12:2x)

  • 21 条 UPDATE 全部成功,816 条评论已迁回正确页面
  • 22 个目标 key 条数精确到位;残留老 key 已清空
  • 端到端验证通过:/20230424.html(苏州一日游)已能显示评论
  • 备份:.editor-tmp/BACKUP_816条_20261006.txt
  • 未迁移的 13 个 key / 377 条保持原位未动

一句话结论

你的评论一条都没丢。 线上 D1 里有 3423 条评论, 其中 1193 条因为老站 URL「日期错了一天」变成了孤儿(挂在 404 页面上), 816 条可以精确找回,377 条因现站已无对应文章而保留原样。


一、线上库真实基线

comments 表:3423 条(存活 3380 条)
id 范围:10393 ~ 15674
94 个 page_key:
  · /comment.html 留言板                1001 条
  · 65 个「老站日期型」key(/20230423.html)  1975 条
  · 28 个「新站时间戳型」key(/20260708110221.html) 404 条

你举例的 /20230424.html(苏州一日游)有 40 条评论 —— 找到了,挂在 /20230423.html 上。


二、问题成因

老站迁移时,部分文章的 URL 日期错位了一天:

错误 URL(有评论) 正确 URL(无评论)
苏州一日游 /20230423.html(40 条,title 显示 "404 Page not found") /20230424.html(页面正常,0 条)
新的开始 /20230527.html(76 条,title=404) /20230528.html(页面正常,0 条)
  • 评论绑在老 URL 上
  • 页面只认新 URL(老 URL 返回 302 → /404.html)
  • 所以评论「有数据但显示不出来」

三、修复方案(待批准执行)

23 个孤儿 key / 816 条 → 改挂到现站正确 slug。 UPDATE comments SET page_key='/新key' WHERE page_key='/老key'(按 page_key 定位,不用 id)

孤儿 key 条数 → 目标 文章标题
/20230527.html 76 /20230528.html 新的开始
/20220810.html 58 /20220811.html typecho实现QQ头像用户评论加密
/20220906.html 57 /20220907.html 主力机由荣耀20切换到iPhone13
/20221102.html 52 /20221103.html 毕业篇:最后几个月的大学生活
/20221203.html 50 /20221204.html 2022·襄阳第一场雪
/20220227.html 48 /20220228.html 2022,除夕过后的那些事
/20211121.html 46 /20211122.html 这组照片的主题,咱就叫它光吧
/20220430.html 40 /20220501.html iphone快捷指令发布动态说说(合并)
/20230423.html 40 /20230424.html 苏州一日游 ★
/20220503.html 34 /20220501.html iphone快捷指令发布动态说说(合并)
/20211222.html 33 /20211223.html 放假之前最后一次的照片合集
/20230803.html 32 /20230804.html 家乡随拍
/20230125.html 31 /20230126.html 感谢哥哥给的网站
/20220619.html 30 /20220620.html 我跳绳的那些日子
/20221016.html 28 /20221017.html 毕业纪念篇:图书馆
/20220104.html 26 /20220102.html 祝大家元旦快乐
/20211113.html 24 /20211114.html 双十一已经变味了
/20230409.html 22 /20230410.html 四月随笔
/20211210.html 21 /20211211.html 盘点注册的域名
/20211007.html 19 /20211008.html 记录人生第一次洗牙
/20210911.html 19 /20210912.html 别让抖音支配了你的大学生活
/20221213.html 16 /20221214.html Apple Watch Series7 体验
/20230716.html 14 /20230717.html 襄阳唐城

✅ 已核实:18 个目标页当前评论数全部为 0 —— 不会覆盖、不会冲突。


四、不迁移的(377 条,保留原样)

现站已无对应文章,评论保留在原位不删(万一以后想恢复旧文章,评论还在):

孤儿 key 条数 内容主题
/20220115.html 54 开发 app / uniapp
/20220410.html 51 iPhone 更新
/20211117.html 47 Twitter 主题界面
/20211111.html 43 网站头像插件
/20211203.html 32 人像摄影
/20220328.html 32 青年大学习
/20211124.html 30 RSS 阅读器(蚁阅)
/20260724101237.html 24 流量卡/广电(现站 slug 冲突)
/20211024.html 20 医疗/手术
/20211017.html 17 弟弟听力/同济医院
/20211015.html 14 恋爱话题
/20220607.html 11 腾讯游戏/王者
/202610011226.html 2 Gitea 测试文

五、执行方式

# 1. 备份(先把这 816 条 dump 出来)
# 2. 执行 21 条 UPDATE(按 page_key 定位)
# 3. 核对:目标 slug 评论数 = 预期值;总量仍为 3423

SQL 在 .editor-tmp/FINAL_SQL.json。


六、顺带修掉的两个坑

  1. scripts/refresh_cdn.js —— 多吉云 rtype=path 目录刷新必须带尾斜杠(已加兜底 + 日志)
  2. blog-admin/src/routes/rss/tools.ts —— 加 s-maxage / CDN-Cache-Control,让 CF 边缘真正缓存