VitePress Search Functionality Diagnostic Guide
Overview
This guide helps diagnose and fix search functionality issues in VitePress v1.6.3 documentation sites.
Common Search Configuration Issues
1. Missing Search Configuration
VitePress 1.6+ uses Algolia DocSearch or Local Search. The search needs to be explicitly configured in config.mts.
2. Local Search Configuration (Recommended)
For VitePress 1.6.3, the built-in local search is the simplest option:
typescript
// .vitepress/config.mts
import { defineConfig } from 'vitepress'
export default defineConfig({
// ... other config
themeConfig: {
search: {
provider: 'local',
options: {
locales: {
root: {
translations: {
button: {
buttonText: 'Search',
buttonAriaLabel: 'Search'
},
modal: {
searchBox: {
resetButtonTitle: 'Clear search query',
resetButtonAriaLabel: 'Clear search query',
cancelButtonText: 'Cancel',
cancelButtonAriaLabel: 'Cancel'
},
startScreen: {
recentSearchesTitle: 'Search History',
noRecentSearchesText: 'No recent searches',
saveRecentSearchButtonTitle: 'Save to search history',
removeRecentSearchButtonTitle: 'Remove from search history',
favoriteSearchesTitle: 'Favorites',
removeFavoriteSearchButtonTitle: 'Remove from favorites'
},
errorScreen: {
titleText: 'Unable to fetch results',
helpText: 'You might want to check your network connection.'
},
footer: {
selectText: 'to select',
navigateText: 'to navigate',
closeText: 'to close',
searchByText: 'Search by'
},
noResultsScreen: {
noResultsText: 'No results for',
suggestedQueryText: 'Try searching for',
reportMissingResultsText: 'Believe this query should return results?',
reportMissingResultsLinkText: 'Let us know.'
}
}
}
}
}
}
}
}
})3. Algolia DocSearch Configuration
If using Algolia DocSearch (free for open source):
typescript
// .vitepress/config.mts
export default defineConfig({
themeConfig: {
search: {
provider: 'algolia',
options: {
appId: 'YOUR_APP_ID',
apiKey: 'YOUR_API_KEY',
indexName: 'YOUR_INDEX_NAME'
}
}
}
})Troubleshooting Steps
Step 1: Check if Search is Configured
- Open
.vitepress/config.mts - Look for
themeConfig.searchconfiguration - Verify the
provideris set to either'local'or'algolia'
Step 2: Verify Build Process
After adding search configuration:
bash
# Install dependencies
npm install
# Build the site
npm run docs:build
# Test locally
npm run docs:devStep 3: Check for Version-Specific Issues
VitePress 1.6.3 may have specific requirements:
- Ensure you're using the correct import syntax
- Verify all dependencies are up to date
- Check for any breaking changes in the changelog
Step 4: Common Fixes
Fix 1: Add Missing Search Config
If search is completely missing, add the local search provider:
typescript
import { defineConfig } from 'vitepress'
export default defineConfig({
title: 'StratiqX Docs',
description: 'Strategic Intelligence Documentation',
themeConfig: {
search: {
provider: 'local'
},
nav: [
// your nav items
],
sidebar: {
// your sidebar config
}
}
})Fix 2: Clear Cache and Rebuild
bash
# Remove cache
rm -rf .vitepress/cache
rm -rf .vitepress/dist
# Reinstall dependencies
rm -rf node_modules package-lock.json
npm install
# Build fresh
npm run docs:buildFix 3: Check Markdown Frontmatter
Ensure your markdown files don't have search: false in their frontmatter:
markdown
---
title: Page Title
# Make sure this is not set to false
search: true
---Version-Specific Notes for VitePress 1.6.3
Breaking Changes from 1.5.x to 1.6.x
- Search configuration moved to
themeConfig.search - Local search is now the default and recommended option
- Algolia configuration structure may have changed
Recommended Configuration for StratiqX Docs
typescript
// .vitepress/config.mts
import { defineConfig } from 'vitepress'
export default defineConfig({
title: 'StratiqX Docs',
description: 'Strategic Intelligence Hub Documentation',
base: '/',
themeConfig: {
// Enable local search
search: {
provider: 'local',
options: {
miniSearch: {
/**
* @type {Pick<import('minisearch').Options, 'extractField' | 'tokenize' | 'processTerm'>}
*/
searchOptions: {
fuzzy: 0.2,
prefix: true,
boost: { title: 4, text: 2, titles: 1 }
}
}
}
},
nav: [
{ text: 'Home', link: '/' },
{ text: 'Documentation', link: '/v1/' }
],
sidebar: {
'/v1/': [
{
text: 'Getting Started',
items: [
{ text: 'Overview', link: '/v1/' },
// Add more items
]
}
]
}
}
})Testing Search Functionality
1. Local Development Test
bash
npm run docs:dev- Navigate to your local dev server
- Press
/orCtrl+Kto open search - Type a query and verify results appear
2. Production Build Test
bash
npm run docs:build
npm run docs:preview- Test the search in the production build
- Verify it works on all pages
3. Deployment Test
- After deploying to docs.stratiqx.ai
- Clear browser cache
- Test search functionality on live site
Additional Resources
Next Steps
- Review current
.vitepress/config.mtsconfiguration - Add or update search configuration
- Clear cache and rebuild
- Test locally before deploying
- Deploy and verify on production site
Support
If issues persist after following this guide:
- Check VitePress GitHub issues for known bugs
- Verify Node.js version compatibility (recommend Node 18+)
- Review browser console for JavaScript errors
- Check network tab for failed search index requests