---
title: "Search"
description: "Full-text search with Pagefind out of the box, or wire your own provider."
---

> Documentation Index
> Fetch the complete documentation index at: https://nimbus-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search

Search ships on by default, backed by [Pagefind](https://pagefind.app/) — a static, index-at-build-time engine. New sites include Pagefind and need no configuration.

## Indexing

After `astro build`, Nimbus runs Pagefind over the output `dist/` and writes a search index alongside your pages. The index is served statically, so search works on any host with no backend.

A site created without it adds Pagefind as a dev dependency:

```sh
npm i pagefind
yarn add pagefind
pnpm add pagefind
bun add pagefind
```

## Controlling what's indexed

A page's search inclusion derives from `noindex` unless you set `searchable` explicitly:

```yaml
---
title: Internal note
noindex: true        # out of search engines…
searchable: true     # …but still findable in site search
---
```

`draft: true` pages are never indexed. See [Frontmatter](/reference/frontmatter).

## Disabling or replacing search

Turn the framework search plumbing off entirely:

```ts title="astro.config.ts"
const nimbusConfig = defineNimbusConfig({
  // …
  search: false,
});
```

Or keep the UI but supply your own backend (such as a hosted search service) by implementing the `SearchProvider` interface and setting `search: { provider: "custom" }` — Nimbus then skips the Pagefind build step and lets your code render results.

Source: https://nimbus-docs.com/navigation/search/index.mdx
