Built-in search is powered by Pagefind, a static search library that serves results entirely in the browser with no external service needed.
Enabling search requires two steps: setting a config flag so Yore renders the search UI, and running Pagefind after every build to generate the search index. Both are required — the UI will not work without the index.
Step 1: Enable the search UI
params:
searchEnabled: trueStep 2: Generate the search index
Pagefind reads the HTML files Hugo produces and builds a search index from them. Install Node.js, then add Pagefind to your development dependencies:
npm install -D pagefindAdd the following scripts to package.json. The build script runs Hugo then immediately indexes the output. The pagefind script lets you re-index without rebuilding.
{
"scripts": {
"pagefind": "pagefind --site public",
"build": "hugo --gc --minify && npm run pagefind",
"dev": "hugo server"
}
}Include the indexing step in your deployment script (GitHub workflow, Cloudflare build script, etc.), otherwise search will not appear on the deployed site.
Exclude a page from search
Set pageNoList: true in a page's front matter to exclude it from search results and list pages. See Archive for the full list of effects.
---
title: My Post
params:
pageNoList: true
---