Files
blog/docs/research/06-博客体验研究与优化方案.md
wait4xandGLM-5.3 a9da765cb1 docs(research): 六站博客体验研究与优化方案(scout 车道)
qh1009/nbfox/yongyuan/阮一峰/antfu/innei 六站直连抓取分析:
共性 12 项(阅读时长/双语互链/纯文本模式/评论数前置/周刊化/
EXIF 元数据卡/归档全量/偏好面板等)+ 差异化护城河 6 项 +
Sveltia vs 主流后台差距与补齐方案 + P0-P2 分级建议表。

验证: 文档 125 行入仓可读;来源快照 /tmp/uxstudy/(会话级)

Spec: none (调研文档,方案待用户审阅后立项)

Co-authored-by: GLM-5.3
2026-10-26 20:05:00 +08:00

126 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 博客体验研究与优化方案调研(六站)
> 任务产出。数据来源:2026-10-26 直连抓取六站 HTML(文本提取后人工分析)。抓取失败的站已如实标注。
> 站点快照存于 /tmp/uxstudy/*.html(临时,会话级)。目标站背景:Astro SSG 双语、灰阶极客风、命令面板/键盘弦/终端彩蛋/热力图/PWA/Artalk、自建 gitea+Sveltia 照片管线。
## 一、六站逐站笔记
### 1. qh1009.net(清凉药)✅ 已抓取(66KB,WordPress + WiThemes)
- **首页 IA**:纯内容流——俳句/诗全文直接铺在首页(非标题列表),编号制(#219…#2008),每条极短 + 标签。首页即作品。
- **排版**:文学向极简,正文居中窄栏,无目录/无进度条/无评论组件可见(0 评论数展示)。
- **特色交互**:几乎零交互,靠"编号+日期+分类词(俳/诗/译/博物)"的仪式感取胜。
- **导航/移动端**:顶部 Toggle Menu,Home/关于/作品/杂记/博物/俳/诗/译/Podcast,移动折叠。
- **内容组织**:标签云非常细(50+ 自然意象词),年归档分页。
- **管理**:WordPress(页脚 "Designed by WiThemes"),推断经典 WP 后台。
- **可借鉴**:瞬间(moments)可学"编号制"给每条瞬间一个序号,制造连续感;标签的"意象化命名"比功能化命名更有味道。
### 2. nbfox.com(麦田艺术)✅ 已抓取(187KB,WordPress 画廊站)
- **首页 IA**:题材/流派双维下拉菜单(风景画/肖像画… × 印象派/巴洛克…),首屏专题卡片(手机壁纸/梵高向日葵/浮岳三十六景)+ 大图瀑布。
- **排版**:图为主体,每图带结构化元数据卡:创作者/年代/图片原始尺寸(像素)/风格——元数据即说明文字。
- **特色**:①双维分类导航(题材×流派)②图片标注精确像素尺寸,管理下载预期 ③"超高清/热门收藏/精选"策展位。
- **导航/移动端**:粘性双搜索框 + 汉堡菜单,功能/会员/收藏夹分离。
- **内容组织**:博物馆聚合、公域版权资源库、网盘分发——内容型产品打法。
- **管理**:WordPress + WooCommerce(会员/网盘),重后台。
- **可借鉴**:**图库(gallery)加"双维筛选"**(地点×器材 或 主题×年份);每张照片展示 EXIF 元数据卡(机型/焦段/光圈/地点)——我们已有 exifr 管线,只差展示层。
### 3. yongyuan.name ✅ 已抓取(56KB,静态技术博客)
- **首页 IA**:一句个人格言 + "All Posts" 按年份倒序全量清单(2015→2024,一页全列),每条:日期/标题/分类。
- **排版**:无摘要、无图,纯列表——十年技术文一目了然,靠"全量可见"建立信任。
- **特色交互**:无。反例价值:极简到牺牲发现性(无搜索/无热门/无相关文)。
- **内容组织**:分类词前置在每行(CV/推荐系统/C++/ANN),每年末一篇"年终总结"锚点文。
- **可借鉴**:**归档页全量清单模式**(我们有 archives/,确认是否一页可览十年);"年终总结"惯例值得立为个人传统。
### 4. ruanyifeng.com/blog ✅ 已抓取(首页 20KB + 周刊分类页 176KB,自建 MT 系统)
- **首页 IA**:最新一篇全文摘要 + "继续阅读全文 »" + 右栏:最新文章 5 条 / 最新留言 / 关于 / 邮件订阅 / 授权声明 / 社交账号——**首页即门户**,信息密度极高但层级清晰。
- **文章列表**:周刊独立分类页,416 篇按年分组倒序,纯标题+日期列表。首页摘要带"分类: 周刊"标签 + 留言数(30)——**留言数前置是社交证明**。
- **内容组织(标杆点)**:①周刊作为**固定节奏产品**(周五发布,416 期,编号化)②完整档案页(分类/按月/2004 至今)③邮件订阅+RSS 双通道 ④留言 79533 条展示在侧栏(社区感)⑤版权/授权声明独立成块。
- **排版详情**:正文窄栏衬线、目录在长教程文中手写小节链接、代码块朴素无高亮(极客反潮流)。
- **可借鉴**:①**固定栏目化**——我们的"瞬间"可升格为编号制轻周刊(每周 3-5 条瞬间聚合 + 一句话评);②侧栏"最新留言"(Artalk API 可拉);③留言数展示在列表页。
### 5. antfu.me ✅ 已抓取(首页/列表页/文章页,Astro + UnoCSS,同栈)
- **首页 IA**:一段自我介绍正文 + "Recent work" 项目动态(直接拉 GitHub 数据)+ 一图流头部。无文章列表——博客藏在 /posts。
- **文章列表**:按年份分组,每条:日期 · 阅读时长("Sep 16 · 15min")· 语言徽标(中文/日本語)——**双语不是双站,是同一列表内并列两行互链**("Hello Tokyo!" / 「おはよう、東京!」相邻)。
- **排版/交互(值得抄)**:①`slide-enter-content` 入场动画(我们已有同类)②magic-link:GitHub 链接自动渲染成卡片、图片自动预加载(grep 实锤 markdown-magic-link 类)③单篇文章页有 "Demo of …" 双语切换按钮 + **Plaintext 纯文本模式**(去样式阅读)④暗色以 class 切换,全站色调极克制(text-gray-700/200)。
- **导航**:极简 5 项(Blog/Projects/Talks/Sponsors),移动端同构。
- **管理**:纯 git 仓 + 自己写的构建,无 CMS——证明"无后台"路线在顶级生产者处成立。
- **可借鉴**:①**双语互链并列**(比我们 /en/ 双轨更轻,可作文章页"读中文版"强化);②**阅读时长估算**列表页展示;③**纯文本/阅读模式**(灰阶站天然适配,一行 toggle + CSS);④首页 "Recent work" 拉 gitea commit 流(我们已有"最近心跳",可扩展为开源项目动态)。
### 6. innei.in ✅ 已抓取(141KB,Mix Space + Shiro 主题,React SSR)——中文现代个人站代表
- **首页 IA**:问候 + 一言(随机引言)+ 统计条(X 篇 · X 万字 · X 天)+ "近期笔墨"5 条(类型徽标:笔记/文章/技术)+ 页脚多宫格(关于/照片廊/联系/订阅/版式开关)。
- **特色(值得抄)**:①**站内搜索/主题/背景音乐/背景效果/余白开关全在设置面板**("版式"区:浅色·随系统·深色 / 背景音乐 关·开 / 背景效果 关·开)——把实验性开关收纳成一个面板;②多内容类型(文稿/手记/时光/思考)+ 订阅通信(Newsletter 入口);③留印记(留言板)、朋友们(友链)、一言。
- **导航**:顶部 4 项 + "更多",移动端宫格化页脚导航。
- **管理**:Mix Space 自带 admin 后台(草稿/评论/监控),有 API——对比样本。
- **可借鉴**:①**设置面板收纳实验开关**(我们的终端彩蛋/辉光/动效可聚成一个"偏好"面板并 localStorage 持久化——比散落各处更克制);②Newsletter 订阅入口;③友链页。
### 抓取情况汇总
六站全部抓取成功(qh1009/nbfox/yongyuan/ruanyifeng/antfu/innei),无备选站需补。注:本机代理(7897) TLS 握手故障,全部改直连抓取;innei.in 首屏计数显示 0(数据懒加载),已从 DOM 结构推断功能。
## 二、共性模式清单(优质站普遍做、我们没做/未确认)
| # | 是什么 | 价值 | 灰阶极客风适配建议 |
|---|---|---|---|
| 1 | **阅读时长估算**(antfu "15min") | 列表页决策成本↓ | PostList 每条加 `~8 min` 等宽字体角标,构建期按字数/分钟计算,零运行时 |
| 2 | **双语条目互链并列**(antfu 同列表 zh/en 相邻互指) | 双语发现性↑,用户不会漏另一语版 | 文章页标题下加一行 `→ EN` 静态链接即可(已有 /en/ 路由,缺的是入口可见性) |
| 3 | **纯文本/阅读模式**(antfu Plaintext) | 极客好评、灰阶天然契合 | 单条 CSS class 剥离装饰(辉光/动效/侧栏),命令面板加 `reader` 命令 + 快捷键 |
| 4 | **留言数/评论数前置到列表**(阮一峰"留言(30)") | 社交证明,激活 Artalk 存量数据 | Artalk API 构建期拉取各页评论数,写进 frontmatter 化的 JSON,列表页静态渲染 |
| 5 | **侧栏/首页"最新留言"**(阮一峰) | 站点"活着"的信号 | 首页"最近心跳"旁并列"最新评论"一条流(构建期快照,接受 24h 陈旧) |
| 6 | **固定节奏栏目化**(阮一峰周刊 416 期编号) | 读者形成期待,更新压力可控 | "瞬间"页顶加"本周瞬间 #N"聚合块,编号来自构建期统计 |
| 7 | **图片元数据卡**(nbfox 尺寸/创作者/年代) | 摄影轨的专业感 | gallery 详情展示 exifr 已提取的 EXIF(机型/焦段/光圈/ISO/时间/地点)等宽字体表 |
| 8 | **归档全量清单**(yongyuan 十年一页) | 纵深感与可扫读 | 确认 archives/ 是全量单页;不够则按年分组渲染 |
| 9 | **偏好/实验开关集中面板**(innei 版式区) | 克制与自由兼得,避免装饰散弹 | 命令面板加 `settings` 命令:辉光/动效/热力图/背景音乐各自 toggle,localStorage 持久化 |
| 10 | **Newsletter 订阅入口**(innei/antfu sponsor+订阅、阮邮件订阅) | 回访通道不被算法绑架 | P2→P1 观望:无邮件服务前先放 RSS 说明页强化;接入自托管 listmonk 是远期项 |
| 11 | **友链页**(innei 朋友们) | 个人站社区礼节,互推 | /about 或独立 /links,静态 YAML 驱动 |
| 12 | **首页项目动态**(antfu Recent work 拉 GitHub) | 开源轨的活性证明 | "最近心跳"已含 commit 脉冲,可加"开源动态"一列(gitea API,构建期) |
## 三、差异化机会(我们独有,保持强化)
1. **命令面板 Ctrl+K + vim 键位弦(g g / g s 双击 chord)**——六站无一做到;持续补齐 chord E2E 矩阵即可,是护城河。
2. **终端彩蛋页 + 页脚 commit hash**——antfu 级极客也只做了 slide 动画;我们的终端隐喻是身份标识,新功能优先以"命令"形态暴露(如 reader、settings 走命令面板而非按钮)。
3. **构建期零 JS 摄影 masonry(exifr+sharp)**——innei 照片廊是 React 重运行时;我们的构建期管线是自托管价值观的最佳注脚,配上 EXIF 元数据卡(共性#7)即成完整叙事。
4. **构建期 LLM 预翻译 + .en.md 入仓 + AI 标注**——antfu 双语靠手写;我们的管线差异化在"过程可审计"(入仓),强化 AI 译徽标的诚实性。
5. **PWA 离线全量 + 安装 CTA 三态**——六站均无 PWA;已有,勿再投入,保持零回归即可。
6. **灰阶克制本身**——阮一峰证明了"朴素不等于廉价";我们与 antfu 的 gray-700/200 同谱系,方向正确。
## 四、管理后台便利性专题
### Sveltia vs 主流后台(WordPress/Typecho/Halo)差距面
| 能力 | WP/Halo/Typecho | Sveltia(git 仓) | 补齐方案 |
|---|---|---|---|
| 草稿预览 | 即时预览 | 编辑侧预览,但布局/组件 ≠ 成品 | **/draft/ 构建路由**:draft frontmatter 的文章构建进 `/draft/<slug>/`,nginx 层加 BasicAuth 或长随机路径;发布=移除 draft 标志 |
| 媒体库 | 中央媒体库、检索、批量 | 文件夹浏览、上传即入 git | 我们照片走 gitea web 上传已等价;补 **构建期图片 lint**(exifr 校验尺寸/格式/命名规范,违规即构建警告清单页) |
| 定时发布 | 原生 | 无 | **构建期 publishDate 判定**:CI 触发频率内生效(webhook+定时 cron 双触发 gitea actions / receiver),文章带未来日期默认不出现在正式列表 |
| 批量操作 | 后台多选 | git 原生(批量改文件+一次 commit) | 无需补;可在 scripts/ 加批量 frontmatter 工具(改日期/标签) |
| 版本历史 | 修订版 | git 全量历史 | 已胜出;页脚 commit hash 已把它可视化了 |
### "自托管+git 仓"架构补齐清单(按性价比排序)
1. `/draft/` 预览路由(上面方案)——写作体验最大缺口。
2. 构建期内容 lint:断链检查、图片存在性、frontmatter schema(typebox 已在栈内)、双语文件配对校验(zh 无 en 时警告)。
3. 构建期质量报告页(仅 draft 可见):字数/阅读时长/图片体积/未翻译词条清单,写作完成度仪表。
4. Sveltia config.yml 优化:为 moments/gallery 集合配 i18n 双语字段映射、媒体文件夹预排序(按日期倒序,避免长列表翻找)。
5. 发布检查单自动化:构建尾跑 LH 冒烟(gz-server.py 已在仓)+ 死链扫描,fail 即 webhook 通知 gitea。
## 五、分级建议表
| 级 | 项 | 理由 |
|---|---|---|
| **P0** | 阅读时长角标(#1) | 一次构建期计算,全站收益 |
| **P0** | 文章页"→ EN/中文版"互链(#2) | 双语投入的回报被入口缺失吃掉 |
| **P0** | /draft/ 预览路由(四-1) | 写作流最大缺口,git 架构易实现 |
| **P0** | 构建期内容 lint(四-2) | 防线前移,typebox 已在栈内 |
| **P1** | 命令面板 reader 纯文本模式(#3) | 极客好评且实现轻,走命令面板零 UI 负担 |
| **P1** | 偏好面板收纳实验开关(#9) | 辉光/动效已有但散落,收纳更克制 |
| **P1** | gallery EXIF 元数据卡(#7) | exifr 数据已在手,纯展示层 |
| **P1** | 列表评论数 + 首页最新评论流(#4/#5) | 激活 Artalk 存量;接受构建期快照陈旧 |
| **P1** | 瞬间编号化"本周瞬间 #N"(#6) | 低成本仪式感 |
| **P1** | 归档全量清单复核(#8) | 只需确认,可能已达标 |
| **P1** | 友链页(#11) | 静态 YAML,一晚工作量 |
| **P2** | Newsletter/邮件订阅(#10) | 需自托管邮件栈(listmonk+发信域名),维护成本先于价值;先强化 RSS |
| **P2** | 背景音乐/一言/背景特效(innei 同款) | 与灰阶克制冲突:多感官装饰稀释"终端"隐喻的一致性 |
| **P2** | 首页大图专题卡、瀑布流重化(nbfox 同款视觉) | nbfox 是内容电商型画廊;我们零 JS masonry 已是更优解,加重视觉与"灰阶骨架×分轨正文"定稿相悖 |
| **P2** | 阅读进度条/浮动 TOC 大改 | 六站中仅少数有 TOC;我们长文少,现有目录足够,勿为趋势加常驻 UI |
## 风险与备注
- antfu.me 文章页部分组件(Plaintext 按钮)为客户端渲染,快照中由类名/结构推断,实现前建议人工核对 antfu 仓(antfu.me 开源)。
- innei.in 首屏计数 0 为懒加载,统计功能存在但数值未取到。
- 评论数/最新评论若走 Artalk 需注意 ESA 缓存(此前已有 /artalk/api 绕缓存议题),构建期拉取可绕开运行时问题。