一个博客除了评论还需要什么:叶扬的博客基础功能建设清单

博客能打开、能发文、能评论,只是"活着";要让文章在十年后还能被人搜到、读到、读得舒服,需要一整套基础功能。这篇文章做一次系统盘点:一个完整博客应该具备哪些功能,叶扬的博客已经有什么、缺什么,以及接下来的建设路线图。

2026-09-15 更新:本文写于系列开工前(9 月 13 日),是一张"开建前的清单"。两天后 G01–G16 正篇已全部收官,清单上的待办基本打勾,下文表格与路线图已按现状回填,每项都附上对应的实战教程链接。

为什么要先列清单再动手

刚把博客搭起来的时候,很容易看到别人有什么就往自己站上搬:今天加个看板娘,明天加个音乐播放器,后台挂三四个统计脚本。几年后回头看,这些"装饰"大多随第三方服务倒闭而失效,真正支撑博客运转的基础功能反而一直欠债。

所以叶扬先按"读者从站外到读完一篇文章"的完整路径,把功能分成五类:

  1. 内容组织与导航——读者进来之后怎么找到内容;
  2. 阅读体验——找到之后能不能舒服地读完;
  3. 订阅与传播——读完愿不愿意订你、分享你;
  4. SEO 与收录——新读者怎么从搜索引擎走进来;
  5. 统计与运维——博主自己怎么知道站还活着、谁在读。

下面逐类盘点,并标注本站现状。

一、内容组织与导航

这是博客的骨架,决定一篇老文章半年后还能不能被翻出来。

功能 作用 本站现状
文章列表 / 分页 首页按时间倒序展示,数量多了分页 ✅ 框架自带(每页 15 篇);G13 另补数字分页条
标签聚合 同主题文章互相关联 ✅ 已有标签页
站内搜索 按关键词找旧文 ✅ 框架自带
时间线归档 按年月浏览全部文章,写久了价值越高 ✅ 已建,见 G10
关于页 About 博主是谁、怎么联系,建立信任的第一页 ✅ 已建(singlePage 机制见 G01,页面在 /about
友情链接 博主社交与互相引流 ⬜ 可选,后期再说

这里有个认知:标签是"按主题找",归档是"按时间找",搜索是"按关键词找",三者不可互相替代。文章上了几十篇之后,归档页会成为自己回顾写作历程最常用的入口。

二、阅读体验

功能 作用 本站现状
文章目录 TOC 长文导航与定位 ✅ 桌面端已升级为 G16 tocbot(嵌套层级 + 滚动高亮当前章节),手机端 ☰ 浮层见 G14
评论系统 读者互动、博主反馈通道 ✅ utterances(基于 GitHub Issues)
图表支持 技术文画流程图、时序图 ✅ Mermaid 已本地部署,G15 升级为自动检测、按需加载
代码高亮 + 复制按钮 技术博客刚需 ✅ 框架自带 GitHub 同源高亮
暗色模式 夜间阅读,GitHub 同源配色 ✅ 框架自带
上一篇 / 下一篇 文末连续阅读引导 ✅ 已建,见 G08
字数与阅读时长 读者决定"要不要现在读完"的参考 ✅ 已建,见 G09
图片灯箱 / 懒加载 点击看大图、节省流量 ✅ 已装官方 lightbox,见 G05
文末版权声明 声明转载规则,固定一块 CC 协议 ✅ 已用 bottomText 配置实现,见 G02
回到顶部 长文回退导航 ✅ 桌面目录卡片附带 Top 按钮(G16 保留)

阅读体验类功能有一个共同原则:只在长内容上才体现价值,所以宁可后补,不要提前污染短文章。这也是叶扬把"上下篇导航"和"阅读时长"排在 TOC 之后的原因——先解决"文章内部找不到路",再解决"读完往哪走"。

三、订阅与传播

功能 作用 本站现状
RSS 订阅 不依赖平台的长期订阅方式,博客的灵魂功能 ✅ 框架自动生成 rss.xml
Open Graph / Twitter Card 链接发到社交平台时展示标题、摘要、封面 ✅ 框架自带 og:title/description/url/type,封面经 G03 配置 ogImage(自制 1200×630 og.png);无独立 twitter:card 标签,推特会复用 OG
分享按钮 复制链接 / 分享到社交平台 ⬜ 低优先级

叶扬把 RSS 看得比一切分享按钮都重。微博、X、公众号都可能封号或倒闭,RSS 是互联网上唯一一个订阅关系完全属于读者自己的协议:读者拿着一个 XML 地址,用任何阅读器都能订阅,博主关站之外没有任何人能切断它。Gmeek 默认生成 RSS,这是选框架时的加分项。

OG 标签则是最被低估的传播功能:同样一条链接丢进聊天框,带封面摘要的卡片和一条光秃秃的 URL,点击率差距非常明显。

四、SEO 与收录

这是五类里唯一"做了会持续带来陌生读者"的类别,也是 GitHub Pages 博客最容易欠债的地方。

功能 说明 优先级 现状
sitemap.xml 把全部文章 URL 主动交给搜索引擎 P0 G04sitemap_gen.py 构建期自动生成)
Google Search Console 提交 sitemap、查看收录与搜索词 P0 G04 已提交 rss.xml,收录复查中
Bing 站长工具 国内环境下必应收录远好于 Google,值得同步提交 P0 G04 已完成,当天即被抓取
description / 结构化数据 每篇文章摘要、JSON-LD,影响搜索结果摘要 P1 ◑ description 框架自动取正文开头;JSON-LD 仍缺
canonical 链接 避免多 URL 重复收录 P1 ⬜ 框架未自带,是清单上仅剩的技术缺口
robots.txt 爬虫规则入口 P1 G11
favicon 与站点封面 浏览器标签页、收藏夹里的辨识度 P1 G03(自制"叶"字徽章 favicon + og.png)
百度收录 对 github.io 域名极不友好,需要独立域名才有意义 P2 ⏭️ 评估后主动跳过(未备案、性价比低),非欠债

对静态博客来说,SEO 是一次性投入、长期收益的典型:sitemap 配好、提交一次,之后每次发文搜索引擎都会自己来抓。这件事比任何"引流技巧"都管用。

五、统计与运维

项目 说明 本站现状
访问统计 PV/UV 看每篇文章被读了多少次 ✅ Vercount
来源与行为分析 读者从哪来、读多久 ⬜ 暂不接 Google Analytics,隐私换数据不划算
自定义 404 页 输错链接时给读者出路而不是白页 ✅ 已建,见 G11
HTTPS 传输加密、搜索引擎加分 ✅ GitHub Pages 默认开启
Markdown 原文备份 防止"账号没了文章也没了" ✅ 构建时自动备份到仓库 backup/
静态资源本地化 第三方 CDN 挂掉时页面不残缺 ✅ Mermaid、tocbot(G16)等资源全部放自己仓库

统计这块叶扬刻意保持克制:Vercount 只记数字,不追踪个人身份。博客不是商业产品,"读者从哪个关键词来"这种数据的价值,撑不起让 Google 等第三方在页面上挂追踪脚本的代价。

运维里最想强调的是备份策略。这个博客的文章虽然写在 GitHub Issues 里,但构建时会把每篇 Markdown 原文自动提交回仓库的 backup/ 目录——文章、页面、配置同处一个 Git 仓库,git clone 下来就是整站的完整离线副本。建议定期再镜像一份到私有仓库,做到双保险。

路线图:按什么顺序建

功能很多,但不能同时开工。按"投入产出比"而不是"实现难度"排,叶扬的顺序是:

P0(立刻做,半天内全部完成)

  1. 接入文章目录 TOC —— ✅ 已完成(过程见此,后经 G14/G16 两次升级);
  2. About 页面 + favicon —— ✅ 已完成(About 见 G01,favicon 见 G03);
  3. sitemap.xml + 提交 Google / Bing 站长平台 —— ✅ 已完成,见 G04(唯一持续带来新读者的投入,收录实战番外待发)。

P1(文章写多起来之前做)

  1. 自定义 404 页面 —— ✅ G11
  2. 文末版权声明 —— ✅ G02bottomText 一行配置);
  3. 上一篇 / 下一篇导航 + 字数与阅读时长 —— ✅ G08 + G09
  4. 时间线归档页 —— ✅ G10
  5. 核查并补全 OG 标签、robots.txt、canonical —— ◑ OG 框架自带 + 封面见 G03,robots 见 G11canonical 与 JSON-LD 尚未补,留作下一轮的两个小缺口。

P2(有实际需求再做)

  1. 图片灯箱(开始大量贴图时)—— ✅ 提前完成,见 G05
  2. 分享按钮(文章开始被转发时)—— ⬜ 未做,维持低优先级;
  3. 友链页(认识的博主多起来时)—— ⬜ 未做;
  4. 独立域名 + 百度收录(愿意承担年费和备案问题时)—— ⏭️ 百度已决定跳过;独立域名仍挂起,等真有需求。

建设原则

最后立三条规矩,约束以后的自己不乱加东西:

  1. 静态优先,零依赖优先。能用一个本地 JS 文件解决的,不引第三方服务;能靠 HTML/CSS 解决的,不加载库。第三方服务会死,自己仓库里的文件不会。
  2. 走插件机制,不改上游模板。所有自定义通过 static/ 目录加资源、config.json 注入脚本来实现,Gmeek 升级时不产生冲突,删一行配置即可回退。
  3. 为长期写作服务,不为"显得专业"服务。每加一个功能先问:叶扬写到第 100 篇文章时它还在发挥作用吗?答不上来就先不加。

小结

盘点完可以看到,Gmeek 框架已经替个人博客覆盖了骨架的大部分:发文、标签、搜索、RSS、评论、暗色模式、备份都在开箱之列。真正需要自己补的,集中在SEO 收录About 等固定页面长文阅读辅助三处。

这个系列随后确实按 P0 → P1 的顺序,每完成一项写一篇记录,清单即 roadmap。截至本次更新,清单上的项目除 canonical / JSON-LD 两个技术小缺口、分享按钮与友链两个主动挂起项外,已全部打勾,完整路线见 第 0 篇总揽

清单之外还有几项"计划外收获":外链自动新标签页(G12)、列表数字分页条(G13)、Mermaid 自动按需加载与给上游提的 bug 修复 PR(G15Meekdai/Gmeek#319)。写着写着从"用框架"走到了"给框架修 bug",这是列清单那天没想到的彩蛋。

✍️ 原创文章,转载请注明出处~叶扬谢谢你来过 ❤️