整理日期: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 分发,主站保留动态内容与小文件 |
二、主题功能修复(代码层面)
1. 图片懒加载正则修复
- 修复
imageLazyLoad()对已带loading属性的图片重复插入、破坏 HTML 的问题 - 顺带补上
decoding="async",图片解码异步化,滚动更流畅
2. 评论 @ 引用空值保护
- 修复父评论被删除时,
getCommentAt()访问不存在的父评论作者导致的警告
3. 顶部分类 / 置顶文章空值处理
- 修复分类配置为空时返回
[0]导致empty()判断失效的问题 - 修复
strtr(" ", "")在 PHP8 下不生效的隐藏 bug(空格未去除) - 置顶文章过滤空项,避免无效查询
4. 缩略图字段类型兜底
- 修复自定义字段
type为 null 时Undefined array key警告
5. SmartSpam 敏感词误报 bug
- 修复插件
check_in()函数:敏感词列表为空时误判所有评论为敏感词(explode("\n","")返回非空数组 +strpos($str,"")恒为 0)
6. 后台自定义字段错位修复
- 通过后台钩子注入 CSS,修复 Typecho 1.3 后台「自定义字段」区域 input 与描述文字错位重叠的问题
7. Footer 样式笔误修复
- 修复
dark:dark:重复前缀、多余引号导致的暗色模式样式不生效
三、性能优化
| 优化点 | 说明 |
|---|---|
| N+1 查询修复 | isShuoShuoType() 由"每篇文章查一次库"改为"一次性查出全部 cid + in_array 判断",首页/归档页大幅减少查询次数 |
| 归档页只取短列 | getArchives() 不再 SELECT 巨大的 text 正文,只取 cid/title/slug/created |
| 图片 decoding="async" | 配合 loading="lazy",图片异步解码,提升滚动体验 |
| 资源分配优化 | 大文件(字体、图片、JS)走 CDN,小文件(CSS)留主站——实测主站比 CDN 更快,避免为小文件增加 CDN 依赖点 |
四、SEO 优化
| 优化点 | 说明 |
|---|---|
| canonical 标签 | 首页 + 文章页都补上 canonical,权重聚焦,防重复内容 |
| article:modified_time | 文章页输出修改时间,让搜索引擎知道内容更新过 |
| 首页 WebSite JSON-LD | 增加 WebSite + SearchAction 结构化数据,支持搜索引擎站内搜索框增强 |
| 文章页 BlogPosting 增强 | JSON-LD 补充 mainEntityOfPage + articleBody(正文全文),利于富摘要 |
| robots.txt 修复 | 修复编码乱码,正确 Allow/Disallow |
| sitemap.xml | Sitemap 插件正常输出 |
五、图标系统重构
- 主题新增 内联 SVG 图标系统,彻底移除 iconify 第三方 CDN 与 iconify API 依赖
- 图标零外部请求、首屏直接渲染、无图标闪烁
- 修复全部 23 个图标转换不完整问题(多 path 图标如 user-circle、sun-moon 完整还原)
六、404 页面增强
原 404 页只有"返回首页"一个链接,现增强为三个帮助找回内容的区块:
- 搜索框 —— 直接搜索站内文章
- 最近文章 —— 列出最近 8 篇
- 热门标签 —— 按使用量排序的标签导航
减少访客因链接失效而流失。
七、代码清理与安全
| 项 | 说明 |
|---|---|
| 清除调试残留 | 删除评论功能里两处 console.log |
| 数据库导出移出站点目录 | 数据库导出文件不再存放于 web 根目录 |
| 关闭 XML-RPC | 减少垃圾评论入口 |
| 评论防刷 | 评论间隔 60 秒已开启 |
| 评论 nofollow | 评论外链已加 rel="external nofollow" |
八、当前插件清单
CommentNotifier(评论邮件提醒)· Links(友情链接)· Sitemap(站点地图)· SmartSpam(反垃圾)· tagshelper(标签助手)
九、数据健康检查
- 评论 3100+ 条,无垃圾、无孤儿评论
- 文章 300+ 篇,无空内容
- 无失效图片(指向已知失效域名的图片引用为 0)
记录于 2026-08-19,供日后维护参考。
都是性能体验优化吗
是的,都是性能体验优化,主要是加快访问速度和seo,前端 没动
虽然不是很懂构架啊,SEO啊,但是看起来很完善了。
我是Typecho1.3,PHP8.5.8,MySQL好像是9.0.2。宝塔面板 13,然后插件也用了CommentNotifier,Links,还有RssManage,IP属地显示等。
AI你想要啥都能改,提要求就行,我都做了几个功能完善的站点了