









整理日期:2026-08-19
当前环境:Typecho 1.3.0 · PHP 8.4 · MySQL 8.0.45 · Jasmine 主题 2.5.5
工具环境:Workbuddy,Cherrystudio + DeepSeek v4 Flash,消耗2亿Token
| 项目 | 升级前 | 升级后 | 说明 |
|---|---|---|---|
| 博客程序 | Typecho 1.2.1 | Typecho 1.3.0 | 官方新版本,含大量 PHP8 兼容与 bug 修复 |
| PHP | 8.2 | PHP 8.4 | 提升兼容性与安全 |
| MySQL | 5.7 | MySQL 8.0.45 | 5.7 已 EOL,升级到官方长期支持版本 |
| 全站 HTTPS | — | 强制 HTTPS | 修复 CDN 反代后 http/https 判定漂移导致的登录失效 |
| CDN 加速 | 仅静态资源 | 大文件走 CDN | 大体积字体、图片、JS 均经自建 CDN 分发,主站保留动态内容与小文件 |
imageLazyLoad() 对已带 loading 属性的图片重复插入、破坏 HTML 的问题decoding="async",图片解码异步化,滚动更流畅getCommentAt() 访问不存在的父评论作者导致的警告[0] 导致 empty() 判断失效的问题strtr(" ", "") 在 PHP8 下不生效的隐藏 bug(空格未去除)type 为 null 时 Undefined array key 警告check_in() 函数:敏感词列表为空时误判所有评论为敏感词(explode("\n","") 返回非空数组 + strpos($str,"") 恒为 0)dark:dark: 重复前缀、多余引号导致的暗色模式样式不生效| 优化点 | 说明 |
|---|---|
| N+1 查询修复 | isShuoShuoType() 由"每篇文章查一次库"改为"一次性查出全部 cid + in_array 判断",首页/归档页大幅减少查询次数 |
| 归档页只取短列 | getArchives() 不再 SELECT 巨大的 text 正文,只取 cid/title/slug/created |
| 图片 decoding="async" | 配合 loading="lazy",图片异步解码,提升滚动体验 |
| 资源分配优化 | 大文件(字体、图片、JS)走 CDN,小文件(CSS)留主站——实测主站比 CDN 更快,避免为小文件增加 CDN 依赖点 |
| 优化点 | 说明 |
|---|---|
| canonical 标签 | 首页 + 文章页都补上 canonical,权重聚焦,防重复内容 |
| article:modified_time | 文章页输出修改时间,让搜索引擎知道内容更新过 |
| 首页 WebSite JSON-LD | 增加 WebSite + SearchAction 结构化数据,支持搜索引擎站内搜索框增强 |
| 文章页 BlogPosting 增强 | JSON-LD 补充 mainEntityOfPage + articleBody(正文全文),利于富摘要 |
| robots.txt 修复 | 修复编码乱码,正确 Allow/Disallow |
| sitemap.xml | Sitemap 插件正常输出 |
原 404 页只有"返回首页"一个链接,现增强为三个帮助找回内容的区块:
减少访客因链接失效而流失。
| 项 | 说明 |
|---|---|
| 清除调试残留 | 删除评论功能里两处 console.log |
| 数据库导出移出站点目录 | 数据库导出文件不再存放于 web 根目录 |
| 关闭 XML-RPC | 减少垃圾评论入口 |
| 评论防刷 | 评论间隔 60 秒已开启 |
| 评论 nofollow | 评论外链已加 rel="external nofollow" |
CommentNotifier(评论邮件提醒)· Links(友情链接)· Sitemap(站点地图)· SmartSpam(反垃圾)· tagshelper(标签助手)
记录于 2026-08-19,供日后维护参考。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。