Skip to content
docs
Setup
Troubleshooting

Troubleshooting

Unfortunately, there are some issues with Nextra. The goal of this document is to provide guidance on how one can fix these issues. Below I’ll highlight some problems you may encounter and how you may address them.

Search

Note: It is recommended that you do NOT use search when running pnpm dev for the Nextra docs site. Most of the issues related to Nextra search occur when running pnpm dev exclusively. You may find that it miraculously works when you deploy your site or test it locally via pnpm build && pnpm start. See below for why.

How Nextra search works

Nextra v3 relies on FlexSearch, an in-memory search library, unlike other documentation templates like Docusaurus which rely on Algolia as a hosted search service.

When a Nextra docs project is compiled, the NextraSearchPlugin (a webpack plugin in Nextra) goes through each file, collects the relevent frontmatter and data for each page, adds it to a JSON file nextra-data-<LOCALE>.json, keyed by locale (e.g., nextra-data-en.json), and adds that JSON file to the .next build output folder.

See below for where you can find that file.

          • nextra-data-en.json
    • _meta.ts
    • index.mdx
  • When users then query for a certain keyword, FlexSearch combs through the indexes to surface the relevant content and pages.

    Problems

    Content does not appear in search results

    When running pnpm dev and searching for content, you may notice that you can find content for the current page (or descendents of the current page), but not for other pages.

    Unfortunately, Nextra often does not compile indexes correctly when using pnpm dev. When running pnpm dev, the /_next/static/chunks/nextra-data-en.json only contains the relevant material for the current page.

    Error: Rendered more hooks than during the previous render.

    This may occur when running pnpm dev and selecting the search field.

    If you inspect element, this error is typically accompanied with a 404 (Not Found) for /_next/static/chunks/nextra-data-en.json. The reason for this error is similar to the Content does not appear in Search results error mentioned above.

    When running pnpm dev, Nextra’s NextraSearchPlugin goes to the current page (often index.mdx if you’re on localhost:3030/en) and reads the frontmatter on index.mdx.

    You’ll notice that there’s a searchable: false located at the top of the index file, like so:

    ---
    searchable: false
    ---

    This causes the NextraSearchPlugin to skip the creation of the nextra-data-en.json, thus causing the 404 (Not found).

    Caching

    When searching, you may sometimes notice that the search results are not up to date or missing recently added changes. This is often because the nextra-data-en.json file has been cached and not updated to the latest.

    Solution

    To address this issue, inspect element on the page, and navigate to the Network tab. Then click on the Disable Cache checkbox right below the Network tab and refresh the page.

    Alternatively open a new Incognito window and navigate to the page.

    Solutions

    Most of the problems mentioned above can be fixed by running pnpm build && pnpm start. From this command, the indexes should be compiled for all pages.

    In some instances, you may want to also disable caching and force refresh the page (for more info see the caching section).