前言
最近好久没更新博客了
不是不想更新
相反我攒了一堆文章没发
主要是 StarBlog 所在的服务器故障了
我在各个平台的文章都是通过 StarBlog 来发送的
所以这段时间各个平台的文章更新都暂停了
为了尽快恢复更新,我决定把 StarBlog 迁移到云服务器上。
稳定一些,也可以减少一些维护成本。
访问查看效果: https://blog.deali.cn/
关于 StarBlog
StarBlog 是一个基于 .NET Core 开发的现代博客系统,2022年春节开始开发,当时是边学 .NET Core 边做的,算是一个 .NET Core 的练手项目。
自从 StarBlog 系列文章 完结之后,功能稳定下来,我就没怎么去动这个项目的代码
太久没维护总有点屎山的感觉,而且现在是 2025 年了,现在回看以前的代码总觉得哪都不满意,所以我又计划重构一个 StarBlog v2,具体的计划可以看我之前的文章: StarBlog - (32) 第一期完结
既然这次要把 StarBlog 迁移到云服务器上,那就顺手修改一下吧,v2 太遥远,先解决一些眼前的问题要紧。
更新
这大概是 v2 之前的最后一次大更新了
版本也升级到了 v1.3.0
PS: 顺带一提,这次更新我顺便整理了代码
这才引入了版本,以 第一期文章完结 的版本为
v1.0.0
节点番外篇介绍的全新访问统计功能 是
v1.2.0
版本的主要内容
这次更新主要有几块:
- 架构与依赖升级
- 界面 & 交互改进
- SEO 功能 & 搜索优化
- 性能优化
- 工具链增强
架构与依赖升级
被念叨好久的项目升级,终于来了😂
这项目从 2022 年开发,就一直在 .NET 6.0 版本,这次直接一口气升级到最新版
- 项目整体迁移至 .NET 9.0,更新主要依赖。
- 移除冗余功能(数据采集、图片库、Rin 日志系统等)。
- 前端资源改为生产版本,清理代码结构。
界面与交互改进
现在写前端都是用 Tailwind CSS 了
好久没用过 Bootstrap 了,这套界面现在看来真的有点老了
- 首页新增 Hero 区域样式与动画。
- 优化文章卡片、照片卡片和导航栏,全面中文化。
- 提升响应式设计和可访问性。
SEO 功能 & 搜索优化
SEO 是之前被我忽略的功能,这次一口气加了很多 SEO 相关的功能
- 引入结构化数据、动态元数据和图片 SEO 优化。
- 统一 Sitemap 服务(支持主/图片/索引)。
- 新增 SEO 测试页面和 robots.txt 优化。
性能优化
之前 StarBlog 部署的服务器性能较高,所以没考虑这些优化的细节
接下来需要部署在云服务器上,性能和带宽都捉急
所以我做了一些优化,尽可能提高用户访问体验
- 添加响应压缩功能
- 配置静态文件缓存策略
- 并发性能优化,让小水管服务器也能提供比较好的访问体验
工具链增强
前面说了性能优化,其实大头还是图片
所以我又基于 ImageSharp 开发了图片压缩工具,对博客里的文章配图、相册等进行压缩,这一步骤也耗费了不少时间🤣
接下来我会写几篇文章介绍一下这些新增的工具
- 新增多模式图片压缩、格式转换(WebP/JPEG/GIF)、输出目录、统计报告等功能。
- 独立了
BlogImageOptimizer
工具,支持批量压缩与 Docker 部署。 - 开发了专门用于数据处理的
DataProc
工具,支持访问记录处理、图片压缩、大模型辅助创作等功能。
主页重构
作为网站的门面,主页的重要性不言而諭
之前的主页在现在看来有点简陋了
这次我把 HERO 部分重构了一下,背景是渐变色动画,左侧加了一些介绍,右侧显示随机相册图片
按钮想复刻一下 iOS 26 的液态玻璃效果,不过太麻烦只实现了个低配版哈哈哈🤣

下方的图片也增加了加载中的动画,大大增强了用户体验!
PS: 之前没有加载动画,图片没加载出来那个地方就是空的,会导致页面闪烁

加载完成后长这样

同样的,文章列表的图片也加了图片加载动画,我就不截图了。
相关文章推荐
文章底部加了相关文章推荐
这个是增加内链的手段,对提高 SEO 性能很有用
而且也可以提高用户的阅读时间

SEO
在 SEO 方面,我也是新手
StarBlog 之前这方面基本是空白的
这次做的事情是这些
- 引入结构化数据、动态元数据和图片 SEO 优化。
- 统一 Sitemap 服务(支持主/图片/索引)。
- 新增 SEO 测试页面和 robots.txt 优化。
这里截图看看新的 SEO 测试页面

还增加了这些测试页面
Meta标签测试会随机打开一篇文章,显示 meta 标签的说明、关键词什么的

Sitemap 测试

小结
具体代码就不贴了
本文只是介绍这次新增的功能
后面看心情再介绍具体的实现吧😄
发布说明
最后是详细的发布说明
因为可能没什么人看,所以放在最后
✨ Features
- 图片优化与压缩:新增多模式图片压缩配置与智能选择功能,支持文章配图、缩略图、头图等不同模式;引入格式转换功能,自动选择最佳输出格式(WebP/JPEG),并支持GIF压缩与优化。
- 图片优化工具 :新增
BlogImageOptimizer
工具,支持批量压缩、格式转换和Docker化部署。 - 图片优化增强:添加输出目录配置、压缩统计与报告功能,提供详细的处理进度、成功率及节省空间分析。
- SEO 功能:新增结构化数据、图片SEO优化、动态元数据生成、统一的 Sitemap 服务(支持主/图片/索引),并提供 SEO 测试页面与优化后的404页面。
- 文章与推荐:相关文章推荐逻辑改为随机排序,提升推荐多样性。
- 界面与交互 :
- 新增首页 Hero 区域样式与动画交互效果。
- 优化文章卡片布局与图片组件,增加响应式支持。
- 增强照片卡片功能,支持渐变遮罩、标题显示和可访问性优化。
- 导航栏文本更新为中文,并新增 SEO 测试入口。
- 中间件与缓存:新增静态文件调试中间件,并优化缓存策略(开发环境禁用缓存,生产环境短期缓存)。
- 数据处理 :新增
FakeIpSearcher
实现,支持模拟 IP 查询。
🐞 Bug Fixes
- 修复
SeoTestController
随机文章获取时的空引用问题。 - 修复
SeoTestController
查询时的同步阻塞,改为异步查询以提升性能。 - 在
robots.txt
中禁止爬取/seo-test
路径。 - 修复
PicLibService
初始化时路径不存在导致的异常。
♻️ Refactor
- 前端优化:统一前端资源加载,切换至生产版本的 Vue.js 与 editormd,清理冗余代码与格式。
- 项目结构:将主要项目调整至
src
与tools
目录,BlogImageOptimizer
独立为工具模块。 - 移除冗余:删除数据采集、图片库、Rin 日志系统及相关依赖。
- 视图优化:改进首页布局、推荐区块排序与样式;移除未使用的缩略图与命名空间代码。
- 服务优化:为敏感词过滤服务添加日志与文件检查逻辑。
📦 Dependencies
- 升级整体项目至 .NET 9.0,更新 Markdig、MailKit、X.PagedList.EF 等依赖包。
- 更新 Serilog 文件日志组件至
6.0.0
。 - 移除未使用的 highlight.js 依赖。
- 添加 SixLabors.ImageSharp 与 Markdig 依赖以支持图片处理与 Markdown 增强。
📄 Docs
- README 更新:
- 新增
gulp min
命令说明,补充完整构建流程。 - 添加 v1.0.0 版本代码说明与技术栈优化描述。
- 增加敏感词库免责声明,明确仅限学习研究使用。
- 新增
🔧 Others
- 性能优化:
- 为 Brotli 与 Gzip 添加压缩级别配置,提高压缩效率。
- 优化图片压缩的并发处理逻辑,利用并行与线程安全集合提升性能。
- 样式优化:改进照片卡片背景与边框效果,统一视觉体验。
- 构建优化:更新
.dockerignore
规则,移除开发环境无关文件。