{"id":365810,"date":"2026-09-13T09:20:48","date_gmt":"2026-09-13T09:20:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/turbo-search-for-woocommerce\/"},"modified":"2026-09-13T09:20:22","modified_gmt":"2026-09-13T09:20:22","slug":"ozulabs-turbo-search-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ozulabs-turbo-search-for-woocommerce\/","author":23519974,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.11.26","stable_tag":"1.11.26","tested":"7.1","requires":"6.5","requires_php":"8.0","requires_plugins":null,"header_name":"OzuLabs Turbo Search for WooCommerce","header_author":"Ozulabs","header_description":"A high-performance, zero-dependency WooCommerce search engine using native FULLTEXT indexing.","assets_banners_color":"edf4fb","last_updated":"2026-09-13 09:20:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ozulabs.com\/plugins\/turbo-search\/","header_author_uri":"https:\/\/ozulabs.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":53,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.11.26":{"tag":"1.11.26","author":"fearofbug","date":"2026-09-13 09:20:22","revision":3693479}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3693478,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693478,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693478,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693478,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.11.26"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3693478,"resolution":"1","location":"assets","locale":"","width":2560,"height":1800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3693478,"resolution":"2","location":"assets","locale":"","width":2560,"height":1800}},"screenshots":{"1":"Live search dropdown showing instant results as a customer types, with product images, prices, and matching text highlighted.","2":"Recent Searches: the dropdown suggests a shopper's own last few searches when they focus the search box again."}},"plugin_section":[],"plugin_tags":[2109,5185,5183,944,286],"plugin_category":[45],"plugin_contributors":[278009],"plugin_business_model":[],"class_list":["post-365810","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax-search","plugin_tags-live-search","plugin_tags-product-search","plugin_tags-search","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-fearofbug","plugin_committers-fearofbug"],"banners":{"banner":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/banner-772x250.png?rev=3693478","banner_2x":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/banner-1544x500.png?rev=3693478","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/icon-128x128.png?rev=3693478","icon_2x":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/icon-256x256.png?rev=3693478","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/screenshot-1.png?rev=3693478","caption":"Live search dropdown showing instant results as a customer types, with product images, prices, and matching text highlighted."},{"src":"https:\/\/ps.w.org\/ozulabs-turbo-search-for-woocommerce\/assets\/screenshot-2.png?rev=3693478","caption":"Recent Searches: the dropdown suggests a shopper's own last few searches when they focus the search box again."}],"raw_content":"<!--section=description-->\n<p>Turbo Search for WooCommerce replaces WooCommerce's default slow search with a dedicated, FULLTEXT-indexed search engine that returns results as customers type.<\/p>\n\n<p>A Pro edition adds typo tolerance, synonyms, category\/brand suggestions, ranking-weight tuning,\nsales-weighted ranking, zero-result search analytics, and multi-currency price support for\nserious\/high-volume stores \u2014 see https:\/\/ozulabs.com\/plugins\/turbo-search\/.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ul>\n<li>Builds a dedicated search index table containing only published products \u2014 title, SKU, description, and categories.<\/li>\n<li>Uses native MySQL\/MariaDB FULLTEXT indexing for fast, relevance-ranked results.<\/li>\n<li>Rebuilds happen in the background (via Action Scheduler) so shoppers never see an empty search box.<\/li>\n<li>Each product update is synced automatically \u2014 no manual rebuilds needed.<\/li>\n<li>Results are cached across multiple layers (object cache \u2192 APCu \u2192 WordPress transients) so repeat queries cost nothing.<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 6.5+<\/li>\n<li>WooCommerce 8.0+<\/li>\n<li>PHP 8.0+<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>Turbo Search<\/strong> (its own top-level menu item) and click <strong>Rebuild Index<\/strong>.<\/li>\n<li>Done. The live search dropdown will appear on your store's search fields automatically.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20rebuild%20the%20index%20manually%3F\"><h3>Do I need to rebuild the index manually?<\/h3><\/dt>\n<dd><p>Only once, after installation. After that the index updates automatically whenever you save, delete, or import a product.<\/p><\/dd>\n<dt id=\"what%20triggers%20a%20full%20rebuild%3F\"><h3>What triggers a full rebuild?<\/h3><\/dt>\n<dd><p>Changing which fields are indexed (title, SKU, description, categories) or renaming a category\/tag with many products will trigger a full background rebuild automatically.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20multi-currency%20plugins%3F\"><h3>Does it work with multi-currency plugins?<\/h3><\/dt>\n<dd><p>Multi-currency price conversion (CURCY \/ WOOCS \/ WooCommerce Multilingual) is a Pro feature \u2014 see https:\/\/ozulabs.com\/plugins\/turbo-search\/. The free edition always shows prices in your store's default currency.<\/p><\/dd>\n<dt id=\"is%20there%20a%20limit%20on%20how%20many%20products%20get%20indexed%3F\"><h3>Is there a limit on how many products get indexed?<\/h3><\/dt>\n<dd><p>No. This free edition indexes your entire published catalog, however large.<\/p><\/dd>\n<dt id=\"what%20does%20the%20pro%20edition%20add%3F\"><h3>What does the Pro edition add?<\/h3><\/dt>\n<dd><p>Typo tolerance, search synonyms, category\/brand suggestions in the dropdown, ranking-weight tuning, sales-weighted ranking, search merchandising (pin\/bury\/exclude\/redirect), behavioral ranking, click\/conversion analytics, Quick Add to Cart, and multi-currency price support. See https:\/\/ozulabs.com\/plugins\/turbo-search\/.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20wordpress%20multisite%3F\"><h3>Does it work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site in the network gets its own search index table.<\/p><\/dd>\n<dt id=\"will%20deleting%20the%20plugin%20remove%20my%20data%3F\"><h3>Will deleting the plugin remove my data?<\/h3><\/dt>\n<dd><p>By default, no. Enable \"Delete data on uninstall\" in the plugin settings before deleting if you want a clean removal.<\/p><\/dd>\n<dt id=\"does%20the%20search%20box%20remember%20what%20a%20shopper%20searched%20for%3F\"><h3>Does the search box remember what a shopper searched for?<\/h3><\/dt>\n<dd><p>Optionally, yes \u2014 \"Recent Searches\" (on by default, adjustable or disable-able in the plugin's settings) keeps a shopper's own last few searches so the dropdown can suggest them again next time. This list lives only in that shopper's own browser (<code>localStorage<\/code>), is never sent to your server or to OzuLabs, is not shared between shoppers or devices, and each shopper can clear their own list any time from the search dropdown. Turning the setting off stops new searches from being remembered; it does not retroactively clear what a shopper's browser already stored.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.11.26<\/h4>\n\n<ul>\n<li>Fix: deleting both this edition and Pro together via the Plugins screen's \"Bulk Actions \u2192 Delete\" (both selected at once) could crash the site with a fatal PHP error, since WordPress runs both editions' uninstall cleanup in the same request and they declare an identically-named class. Reproduced against a real, deployed pre-rename build during a production migration. Deleting either edition on its own, one at a time, was never affected.<\/li>\n<\/ul>\n\n<h4>1.11.25<\/h4>\n\n<ul>\n<li>Housekeeping: removed dead query-expansion scaffolding (<code>Query_Normalizer::expand()<\/code> and everywhere it was called) that always returned only the typed word \u2014 a leftover from this edition being ported off the same codebase as the Pro edition's real synonym\/variant matching. It never affected search results, but its presence looked like a disabled feature rather than one that was never built here. Search behavior is unchanged; the query-building code is simpler.<\/li>\n<\/ul>\n\n<p>See changelog.txt for older releases.<\/p>","raw_excerpt":"Instant live product search for WooCommerce using native MySQL FULLTEXT indexing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365810"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/fearofbug"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365810"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365810"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365810"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365810"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365810"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}