Pagefind 搜索索引更新笔记

770 字
4 分钟
Pagefind 搜索索引更新笔记

Pagefind 搜索索引更新笔记#

静态博客的搜索不是写完文章就自动可靠,Pagefind 需要在构建后扫描生成的 HTML。文章能打开,但搜索不到,通常就是索引没有重新生成或构建产物没有发布。

我检查 Pagefind 时,会同时看构建日志、索引文件和线上搜索效果。

Pagefind 做了什么#

Pagefind 会扫描构建后的页面,把正文内容拆成索引文件。它关注的是最终 HTML,不是 Markdown 源文件。所以只修改 src/content/posts 但没有重新 build,搜索结果不会变化。

如果构建日志里显示索引页面数量明显少于文章数量,就要检查是否有页面没有生成,或者某些页面被排除。

我会检查的文件#

Terminal window
ls -lh dist/pagefind/pagefind.js
find dist/pagefind -type f | wc -l
ls -lh dist/api/allPostMeta.json

pagefind.js 能访问说明前端搜索脚本存在;allPostMeta.json 更新说明文章元数据已经进入构建产物。这两个都正常,再去看搜索框的结果才有意义。

常见问题#

  • 新文章页面是 200,但搜索不到:大概率没有重新构建 Pagefind。

  • 本地能搜,线上搜不到:可能上传了 Markdown,却没有替换线上 dist。

  • 搜索结果标题乱码:先检查 Markdown 文件编码是不是 UTF-8。

  • 搜索结果太少:检查文章是否 draft,或构建日志里 Pagefind 扫描了多少页面。

发布后的验证#

发布后我会直接访问 /pagefind/pagefind.js,再打开 /api/allPostMeta.json 看文章总数。最后用新文章标题里的关键词搜索一次,例如 rolling、YOLO、Nginx。

实战复盘#

复盘《Pagefind 搜索索引更新笔记》时,我会把它当成一个站点维护动作,而不是单篇文章。凡是影响首页、分类、RSS、Sitemap、搜索索引或旧链接的改动,都要在发布后做一次线上验证。

如果只在源码里看起来正确,但线上接口或页面没有变化,就说明构建或发布链路还有问题。博客维护类内容必须把“怎么确认已经生效”写清楚。

以后继续扩展这类文章时,可以补充真实命令输出、截图前后的差异,以及回滚路径。这样文章会更接近操作手册,而不是零散备忘。

最小验收样例#

验收《Pagefind 搜索索引更新笔记》时,我会选一篇真实文章或一个真实页面作为样例,而不是只看源码。先确认页面能打开,再确认列表、分类、归档、搜索这些入口都能找到它。

如果文章讲的是站点维护,还要记录修改前后差异:改了哪个文件、构建产物是否更新、线上 HTTP 状态码是多少。这样后面出问题时,可以直接回到这次验收记录。

小结#

搜索问题不要只盯搜索框。先确认 Markdown 进入构建,再确认 HTML 被 Pagefind 扫描,最后才检查前端交互。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Pagefind 搜索索引更新笔记
https://blog.tjcheng.cn/posts/backfill/2026-04-29/blog-search-pagefind-notes/
作者
TengJinCheng
发布于
2026-04-29
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
TengJinCheng
Hello, I'm Teng.
公告
欢迎来到TengJinCheng工作铺!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
157
分类
7
标签
114
总字数
109,939
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.4
文章许可
CC BY-NC-SA 4.0

文章目录