xpay✦ Commerce
Directory
WooCommerce plugins
Init Live Search – AI-Powered, Related Posts, Slash Commands
Init Live Search – AI-Powered, Related Posts, Slash Commands
Fast REST API live search with optional FULLTEXT index, Meilisearch, AI-powered Related Posts, slash commands, ACF and WooCommerce support.
5.0
(7 ratings)Will this break my store?
What the WordPress.org registry says about keeping Init Live Search – AI-Powered, Related Posts, Slash Commands running.
Tested to 7.1.3
Tested against the WordPress branch in use today.20 days ago
At least 36.4 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.6.9
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Init Live Search – AI-Powered, Related Posts, Slash Commands is looked after — not on how many stores run it.
96
out of 100Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
12 / 15Listing transparency
10 / 10Ratings
5.0
7 ratingsDeliver 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
What’s New in Version 2.0.x
- Much lighter Related Posts: keyword-based related posts (shortcode, block, auto-insert) are now cached per post, so a normal post view no longer runs the whole search pipeline. AI Related Posts’ diversity step is ~3× faster with identical output
- FULLTEXT fix: searches containing common English words (e.g. “how to install”, “the best laptop”) no longer return zero results when the FULLTEXT index is enabled
- Search pagination works: infinite scroll now loads real next pages (for both the database search and Meilisearch) instead of repeating page 1
- Smarter, faster fallbacks: Meilisearch outages fall back to the database instantly instead of waiting for the timeout on every search; 404 smart redirects are cached;
/randomno longer usesORDER BY RAND(); excerpts no longer run the fullthe_contentfilter chain - Better Vietnamese & Unicode matching: decomposed (NFD) input from macOS/iOS keyboards now matches, snippets are accent-insensitive like highlighting, and word counting is Unicode-aware
- Security hardening: drafts, private posts, password-protected content, non-public post types/taxonomies and email-restricted WooCommerce coupons can no longer be exposed through public endpoints; cross-site results are sanitized in the browser
- Accurate Search Analytics: only real visitor searches are logged (related posts, 404 redirects and API calls are no longer counted)
- Frontend script now loads with
defer; browser result cache now expires (1 hour by default) and never breaks search when storage is full or blocked - Abilities API support (WordPress 6.9+): search and related-posts exposed as two read-only, discoverable abilities (
init-live-search/search-posts,init-live-search/get-related-posts) — optional and fully backward-compatible on older WordPress versions - Block Editor (Gutenberg) support: three new blocks — Live Search Box, Related Posts, AI Related Posts — under their own block category, each with a live editor preview and sharing the same rendering code as their shortcode counterparts
- Requires at least raised from 5.9 to 6.9 to support the Abilities API.
Requires PHPremains 7.4
Features
Packed with everything a modern live search needs — and more:
- Live search via REST API (no admin-ajax, no jQuery)
- NEW: Block Editor (Gutenberg) blocks — Live Search Box, Related Posts, and AI Related Posts — under their own block category, each with a live server-side preview in the editor
- NEW: Abilities API support (WordPress 6.9+) — search and related posts exposed as discoverable, executable abilities via
wp_get_abilities()and thewp-abilities/v1REST namespace - NEW: Optional MySQL FULLTEXT search index — faster Title/Excerpt/Content matching than
LIKEqueries on the built-in database search, auto-builds in the background - NEW: Optional Meilisearch integration — typo-tolerant, relevance-ranked external search with automatic fallback to local DB search
- Smart tag-aware search mode (title + tag match)
- SEO metadata support: Yoast, Rank Math, AIOSEO, SEOPress, TSF
- ACF field matching and customizable filters
- Synonym expansion with fallback scoring logic
- Slash commands:
/recent,/popular,/tag,/id,/sku,/price,/coupon, etc. - WooCommerce support: search by product, SKU, brand, attribute, variation, coupon
- Clean modal UI with keyboard navigation (
↑ ↓ Enter Esc) - Optional voice input (SpeechRecognition)
- Tooltip Quick Search (select text to trigger)
- Favorites system via heart icon or
/favcommands - Infinite scroll and smart category filter (no extra API)
- Deep linking:
?modal=search&term=... - New
[init_live_search]shortcode: insert input or icon anywhere - UI presets: default, fullscreen, topbar — with full CSS override
- Local caching + analytics (CSV export, no personal data)
- Developer-ready: custom slash commands, REST filters, JS hooks
Dark Mode Support
Enable 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
Admin Settings
- Choose post types to include in search
- Enable an optional MySQL FULLTEXT search index for faster Title/Excerpt/Content matching, with automatic background indexing
- Connect an optional Meilisearch server (Host, Index, Search/Admin keys, timeout, one-click connection test, one-click Reindex Now)
- Configure modal triggers (input focus, triple click, Ctrl+/)
- Enable slash commands (e.g. /recent, /tag, /id)
- Enable support for
+and-keyword operators (must-have, must-not-have) - Set default slash command to run on modal open (only if slash is enabled)
- Set debounce time and max results
- Choose search mode (title-only, tag-aware, full content)
- Define custom ACF fields to include in search (optional)
- Enable Search in SEO Metadata (Yoast, Rank Math, etc.)
- Toggle excerpt display below each result (1-line contextual snippet)
- Toggle fallback logic (bigram/trim)
- Enable synonym expansion and manage synonym mappings (JSON editor)
- Enable Search Analytics to log queries (no personal data stored)
- Set max words for tooltip search
- Enable voice input (SpeechRecognition API)
- Enable result caching (localStorage)
- Choose frontend UI style (default, fullscreen, or topbar)
- Allow theme override via
init-live-search/style.css - Automatically insert related posts after content or comments (optional)
- Option to disable all built-in CSS completely
- Add default UTM parameter to result links
- Define or auto-generate keyword suggestions
FULLTEXT Search Index (Optional)
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.
Meilisearch Integration (Optional)
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:
- Install and run Meilisearch yourself — self-hosted (a small VPS is plenty for most blogs) or via Meilisearch Cloud. This plugin does not host or manage a server for you.
- Go to Settings → Init Live Search → Meilisearch, enter your Host URL, Index Name, and a search-only API key, then enable the integration.
- Index your existing published content either by running
wp init-live-search meili-reindexvia 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. - That’s it — search requests are now answered by Meilisearch. New, updated, and deleted posts stay in sync automatically.
Built for safety, not lock-in:
- If Meilisearch is disabled, unconfigured, or fails to respond (timeout, wrong key, server down), the plugin automatically and silently falls back to the local database search — visitors never see a broken search box.
- Reindexing (via the button or WP-CLI) is always manual-only, and auto-stops with a clear error after 3 consecutive failed batches instead of retrying forever.
- Your sensitive indexing key can live in
wp-config.php(INIT_LIVE_SEARCH_MEILI_ADMIN_KEY) instead of the database. - Turn it off any time — nothing about your site’s core search behavior depends on Meilisearch being present.
Keyboard Shortcuts
- Arrow Up / Down — navigate between results
- Arrow Right — add selected result to favorites (if not already added)
- Arrow Left — remove selected result from favorites
- Enter — open selected result or submit
- Escape — close modal and reset state
- Slash (/) — start a command instantly (e.g.,
/recent,/id 123)
Developer Reference: Shortcodes, Filters, and Hooks
Shortcodes
[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
Filters for Developers
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.
init_plugin_suite_live_search_related_cache_ttl
Cache lifetime (seconds) of keyword-based related posts per post. Return 0 to disable.
init_plugin_suite_live_search_use_legacy_excerpt
Return true to build fallback excerpts through get_the_excerpt() / the_content like versions before 2.0.1.
(…and more in the full docs)
REST API Endpoints
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)
License
This plugin is licensed under the GPLv2 or later.
You are free to use, modify, and distribute it under the same license.
No. It’s built entirely with modern Vanilla JavaScript — no jQuery, no external dependencies.
It’s an optional speed-up for the built-in database search — matches Title/Excerpt/Content via a MySQL FULLTEXT index instead of slow LIKE '%term%' scans, worth it once your content library grows. No SSH/WP-CLI needed: once enabled in settings, it builds itself in the background via WP-Cron (WP-CLI’s fulltext-reindex is just an optional faster alternative).
Meilisearch is a fast, open-source search engine known for typo-tolerant, relevance-ranked results. You don’t need it — Init Live Search’s built-in database search works fully on its own. Meilisearch is an optional upgrade for sites that want that extra layer of speed and fuzzy-matching quality at scale.
No. Meilisearch is bring-your-own-server: you install and run it yourself (self-hosted or via Meilisearch Cloud), then connect it from the plugin’s settings. This keeps the plugin free and keeps you in full control of your data and infrastructure.
Nothing breaks. The plugin automatically detects the failure (or timeout) and falls back to the local database search for that request — visitors won’t notice anything except perhaps a slightly less fuzzy match.
Either run wp init-live-search meili-reindex via WP-CLI, or click the “Reindex Now” button on the Meilisearch settings tab if you don’t have WP-CLI/SSH access — it indexes in the background with a live progress status. New, updated, and deleted posts sync automatically after that.
Yes. Use the [init_live_search] shortcode to insert a search input or icon anywhere. You can also add custom classes or enable dark mode.
By default, it binds to any <input name="s">. You can also trigger it via:
– Ctrl + / (or Cmd + /)
– Triple-click on blank space
– Text selection tooltip
– ?modal=search in the URL
– Any element with data-ils attribute
Yes. Append ?modal=search&term=your+keyword or #search to any URL to prefill the modal and trigger it.
Yes. It uses the browser’s SpeechRecognition API with auto-stop, language detection, and error handling.
Slash commands are typed commands starting with /, such as:
– /recent — show latest posts
– /tag seo — filter by tag
– /category news — filter by category
– /id 123 — fetch a post by ID
– /fav, /fav_clear — manage favorites
– /random — show a random post
– /history, /history_clear — manage recent search history
If WooCommerce is active:
– /product, /sku, /price, /stock, /on-sale, /coupon
If other Init plugins are active:
– /popular, /trending, /day, /week, /month — via Init View Count
– /read — via Init Reading Position
You can disable slash commands entirely in the plugin settings. Developers can register custom ones using the init_plugin_suite_live_search_commands filter.
When users select 1–8 words, a floating tooltip appears to trigger an instant search. You can configure or disable it in settings.
Yes. You can define custom keyword → synonym mappings via the Synonyms tab in settings.
When enabled, the plugin will auto-expand search terms using these synonyms if few results are found.
Yes. The plugin supports a special “Smart Tag-Aware” mode that matches both post titles and tags.
It can also search inside SEO Titles and Meta Descriptions from plugins like Yoast SEO, Rank Math, AIOSEO, The SEO Framework, and SEOPress.
Yes. You can search for products by:
– Keyword
– SKU
– Price range (/price)
– Stock status (/stock)
– Sale status (/on-sale)
– Brand, attribute, variation, and coupons (/coupon)
Results include title, price, stock status, and Add to Cart links.
Yes. It generates a 1-line contextual excerpt with the keyword highlighted for better scan-ability.
Yes. In the plugin settings, you can choose to automatically insert related posts after the content or around the comment section.
It uses the [init_live_search_related_posts] shortcode internally with a default layout.
You can still use the shortcode manually for full control.
Yes. You can:
– Drop init-live-search/style.css in your theme
– Choose a built-in preset (style-full.css, style-topbar.css)
– Or disable all built-in CSS and style it from scratch
Yes. The modal is responsive with mobile optimizations like excerpt clamping and floating mic button.
Yes. It uses localStorage to cache search results and reduce repeat queries. Cached results expire after 1 hour by default (filter init_plugin_suite_live_search_client_cache_ttl), and the /clear command wipes them instantly.
Only if Search Analytics is enabled. It logs:
– Search term
– Timestamp
– Result count
No personal information (IP, user agent, etc.) is stored.
The plugin will redirect to WordPress’s default search results page.
Yes. All features are powered by REST API (initlise/v1) — ideal for decoupled frontends.
Yes. In settings, you can define a default command like /recent, /read, or /related. There’s also a “smart detection” mode based on page context.
Yes. It auto-detects the active language when Polylang or WPML is installed. You can also filter results via init_plugin_suite_live_search_filter_lang.
Plugin details
Tags on WordPress.org
