静态博客没有数据库,也没有后台索引服务,但这不代表内容只能靠人记住网址。本站用几种「构建期生成」的方式,让内容可被搜索、订阅和抓取。
搜索索引在构建时生成
Pagefind 会扫描构建产物里的 HTML,生成一套可以前端查询的索引。整个过程不需要服务器:
pnpm buildnpx pagefind --site dist构建完成后,搜索框直接查询本地索引。文章内容变化时,索引也会在下次构建时更新。
RSS 和 Atom 是长期订阅的基础
RSS 看起来像上个时代的东西,但它仍然是内容订阅最稳定的方式之一。本站同时生成 RSS、Atom 和 JSON 订阅源,读者可以用任意阅读器订阅。
| 输出 | 路径 | 用途 |
|---|---|---|
| RSS | /rss.xml | 通用订阅 |
| Atom | /atom.xml | 标准化订阅 |
| Sitemap | /sitemap-index.xml | 搜索引擎抓取 |
| llms.txt | /llms.txt | 面向 AI 阅读的站点摘要 |
关闭的页面不能进站点地图
站点地图应该只包含真正可访问的页面。如果某个功能被关闭,页面会跳转到 404,但它仍然可能出现在地图里,造成无效抓取。
本站用一份统一的禁用页面清单来过滤:
if (skillsConfig.enable === false) disabled.push("skills");if (projectsConfig.enable === false) disabled.push("projects");配置和数据只维护一处,页面入口、导航裁剪和站点地图都读同一份状态。
站点地图不是「页面清单」,而是「可访问页面清单」。
面向机器阅读的文本
除了给搜索引擎看的 sitemap,本站还生成 llms.txt 和 llms-full.txt,用纯文本描述站点结构和主要内容。这不是为了排名,而是为了让自动阅读工具更容易理解站点。
需要多少 SEO 技巧?
对个人博客来说,最重要的是标题、描述、可访问的 URL 和稳定的订阅源。复杂的排名技巧收益有限,先把基础做对更重要。
发布检查清单
每次发布后可以检查这几项
搜索索引是否更新
构建日志里应该出现 Pagefind 的索引结果,页面数量与文章数量大致对应。
订阅源是否包含新文章
打开 RSS 或 Atom,确认最新一篇出现在列表顶部。
站点地图是否排除了关闭页面
检查
sitemap-index.xml,确认没有已关闭功能的路径。描述和标题是否完整
分享卡片和搜索结果都依赖 frontmatter 里的
title与description。
小结
搜索、订阅和站点地图都不是「上线之后再补」的功能。它们和文章一起生成,才能保证内容在发布的那一刻就是可发现的。
对静态站点来说,这可能是最划算的一类工程投入:构建一次,长期受益。
本站技术手记
连载中分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 4 天
部分内容可能已过时