

Search Triggers: input focus, Ctrl + /, triple click, <code>data-ils</code> attribute
Deliver an ultra-responsive search experience to your visitors — no page reloads, no jQuery, no lag. Init Live Search is a modern, lightweight, and fully accessible live search solution for WordPress — now with native Block Editor (Gutenberg) blocks and Abilities API support (WordPress 6.9+), an optional MySQL FULLTEXT search index, optional Meilisearch integration, tag-aware matching, SEO metadata support, ACF integration, WooCommerce product filters, and customizable UI presets.
It replaces the default <input name="s"> with a clean, intuitive search modal powered entirely by the WordPress REST API. Everything loads in real-time — with zero disruption to browsing flow.
Perfect for content-heavy blogs, WooCommerce stores, or even headless sites. Every interaction is fast, fluid, and designed to work across devices.
Want typo-tolerant, sub-50ms relevance ranking on top of that? Connect your own self-hosted or cloud Meilisearch instance in a few clicks — Init Live Search will automatically prefer it for search, and just as automatically fall back to the built-in database search if it’s ever unreachable. Your visitors never see a broken search box.
Prefer working entirely in the Block Editor? Three dynamic blocks — Live Search Box, Related Posts, and AI Related Posts — live under their own Init Live Search category in the block inserter, each with a live server-side preview as you configure it, and each sharing the exact same rendering code as its shortcode counterpart. For AI agents and automated tools, two read-only abilities (search and related posts) are also exposed through the standard WordPress Abilities API on WordPress 6.9+.
It also brings AI-powered related posts and an advanced keyword generator — giving your visitors smarter ways to discover content.
This plugin is part of the Init Plugin Suite — a collection of minimalist, fast, and developer-focused tools for WordPress.
GitHub repository: https://github.com/brokensmile2103/init-live-search
init-live-search/search-posts, init-live-search/get-related-posts) — optional and fully backward-compatible on older WordPress versionsRequires PHP remains 7.4Optional FULLTEXT Search Index (1.9.5): opt-in MySQL FULLTEXT-indexed table for Title/Excerpt/Content, replacing slow LIKE '%term%' scans on large sites. Off by default, auto-builds in the background via WP-Cron once enabled (no SSH/WP-CLI needed), with wp init-live-search fulltext-reindex available for a manual/faster build. See “FULLTEXT Search Index” below for details.
Optional Meilisearch Integration: connect your own Meilisearch server (self-hosted or cloud) as the primary search engine
wp init-live-search meili-reindex for bulk-indexing or rebuilding the entire indexINIT_LIVE_SEARCH_MEILI_ADMIN_KEY constant in wp-config.php instead of the database, for extra securityAI-Powered Related Posts: brand new [init_live_search_related_ai] shortcode
[init_live_search_related_posts] (no extra styling needed) ai_candidates, ai_signals, ai_weights, ai_scoreAdvanced Keyword Generator: upgraded algorithm for admin keyword suggestions
404 Smart Redirect
Developer Filters Expansion
*_fallback, *_post_ids, *_results, *_weights, *_commands, etc.) Performance Optimizations
Backward Compatible Enhancements
[init_live_search_related_posts] and [init_live_search_related_ai] now share the same rendering pipeline Packed with everything a modern live search needs — and more:
wp_get_abilities() and the wp-abilities/v1 REST namespaceLIKE queries on the built-in database search, auto-builds in the background/recent, /popular, /tag, /id, /sku, /price, /coupon, etc.↑ ↓ Enter Esc)/fav commands?modal=search&term=...[init_live_search] shortcode: insert input or icon anywhereEnable dark mode for the modal by either:
Adding the dark class:
document.querySelector(‘#ils-modal’)?.classList.add(‘dark’);
Or using a global config:
window.InitPluginSuiteLiveSearchConfig = { theme: ‘dark’ };
Options: dark, light, auto
+ and - keyword operators (must-have, must-not-have) init-live-search/style.css The built-in database search normally uses LIKE '%term%' queries, which can’t use a regular index and get slow on sites with a large number of posts. Tick FULLTEXT Search Index (Settings Init Live Search General) to sync Title/Excerpt/Content into a dedicated indexed table (your wp_posts table is untouched) and match with MySQL’s MATCH() AGAINST() instead.
Once enabled, the index builds itself automatically in the background via WP-Cron — no SSH/WP-CLI needed — or you can speed things up with wp init-live-search fulltext-reindex. If your server doesn’t support FULLTEXT, or the index isn’t built yet, the plugin simply keeps using the standard LIKE-based search — nothing ever breaks. Tag search, SEO metadata, ACF fields, synonyms, and the +/- operators all keep working the same either way.
Init Live Search works great out of the box with zero setup — the built-in database search handles everything by default. But if you want faster, typo-tolerant, relevance-ranked search at scale, you can connect your own Meilisearch instance in a few minutes.
How it works:
wp init-live-search meili-reindex via WP-CLI, or by clicking the “Reindex Now” button right on the Meilisearch settings tab (handy if you don’t have WP-CLI/SSH access) — it runs in the background (~200 posts every 5 seconds) with a live progress status.Built for safety, not lock-in:
wp-config.php (INIT_LIVE_SEARCH_MEILI_ADMIN_KEY) instead of the database./recent, /id 123)[init_live_search]
Display a search icon or input anywhere that opens the Init Live Search modal.
Attributes:
– type: icon (default) or input – choose between a clickable icon or a search box
– placeholder: (optional) text inside the input if type="input"
– label: (optional) adds a label next to the icon if type="icon"
– class: (optional) add custom classes like dark, my-style, etc.
– stroke_width: (optional) set the stroke width for the search icon (default: 1)
– radius: (optional) override the border radius of the input form (default: 9999px from CSS; only applied if value differs)
[init_live_search_related_posts]
Display a list of related posts (static HTML) based on post title or keyword, optimized for SEO and fully themable.
Attributes:
– id: (optional) the post ID to find related posts for (defaults to current post)
– count: (optional) number of posts to display (default: 5)
– keyword: (optional) override the keyword used for finding related posts
– template: (optional) layout template to use — default, grid, classic, compact, thumbright
– css: 1 (default) or 0 – disable default CSS if you want to fully style it yourself
– schema: 1 (default) or 0 – disable JSON-LD ItemList output for SEO schema
[init_live_search_related_ai]
Display a list of AI-powered related posts using multi-signal scoring (tags, series, title bigrams, same_keyword via ACF, category, views, comments, freshness).
Uses the same templates as [init_live_search_related_posts], so no extra styling is required.
Attributes:
– id: (optional) the post ID to find related posts for (defaults to current post)
– count: (optional) number of posts to display (default: 5)
– post_type: (optional) restrict results to one or more post types (default: post)
– template: (optional) layout template to use — default, grid, classic, compact, thumbright
– css: 1 (default) or 0 – disable default CSS if you want to fully style it yourself
– schema: 1 (default) or 0 – disable JSON-LD ItemList output for SEO schema
Init Live Search includes many filters to help developers customize behavior and output at various stages of the search flow.
Full documentation (with code samples & advanced usage): Using Filters in Init Live Search
Popular filters
init_plugin_suite_live_search_enable_fallback
Enable or disable fallback logic when few results are found.
init_plugin_suite_live_search_post_ids
Customize the array of post IDs returned from the query.
init_plugin_suite_live_search_result_item
Modify each result item before it’s sent in the response.
init_plugin_suite_live_search_results
Filter the final array of results before being returned.
init_plugin_suite_live_search_query_args
Modify WP_Query arguments for different commands.
init_plugin_suite_live_search_ai_weights
Adjust AI scoring weights for related posts.
(…and more in the full docs)
Fully documented, lightweight, and API-first endpoints. Ideal for headless or decoupled builds.
All endpoints are under namespace: initlise/v1
Full documentation (with examples & parameters): REST API Endpoints in Init Live Search
Popular endpoints
/search?term=example
Standard search query (uses plugin settings like post types, search mode, fallback…).
/id/{id}
Fetch a post by ID (returns permalink).
/recent
Fetch the most recent posts.
/tax?taxonomy=category&term=slug-or-id
Fetch posts by taxonomy (category, tag, or custom).
/related?title=page-title&exclude=ID
Fetch posts related to the current page title.
/product?...
Fetch WooCommerce products with flexible query parameters.
(…and more in the full docs)
This plugin is licensed under the GPLv2 or later.
You are free to use, modify, and distribute it under the same license.