{"id":396589,"date":"2026-11-09T19:02:31","date_gmt":"2026-11-09T19:02:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/thaitus-ai-product-search\/"},"modified":"2026-11-09T19:02:19","modified_gmt":"2026-11-09T19:02:19","slug":"thaitus-natural-language-search","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/thaitus-natural-language-search\/","author":23596965,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.5.21","stable_tag":"0.5.21","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Thaitus Natural-Language Search for WooCommerce","header_author":"Thaitus","header_description":"Replaces WooCommerce product search with AI-powered natural-language search, powered by the ai-search.dev.thaitus.com API (fast preview + full reasoning modes).","assets_banners_color":"717d90","last_updated":"2026-11-09 19:02:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/thaitus.com\/ai-search\/","header_author_uri":"","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":{"0.5.21":{"tag":"0.5.21","author":"thaitus","date":"2026-11-09 19:02:19","revision":3793104}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3793152,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3793152,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3793152,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3793175,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3793175,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.5.21"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,5183,3669,944,286],"plugin_category":[45,53],"plugin_contributors":[291698],"plugin_business_model":[],"class_list":["post-396589","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-product-search","plugin_tags-recommendations","plugin_tags-search","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-ratings-and-reviews","plugin_contributors-thaitus","plugin_committers-thaitus"],"banners":{"banner":"https:\/\/ps.w.org\/thaitus-natural-language-search\/assets\/banner-772x250.jpg?rev=3793175","banner_2x":"https:\/\/ps.w.org\/thaitus-natural-language-search\/assets\/banner-1544x500.jpg?rev=3793175","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/thaitus-natural-language-search\/assets\/icon.svg?rev=3793152","icon":"https:\/\/ps.w.org\/thaitus-natural-language-search\/assets\/icon.svg?rev=3793152","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AI Product Search helps shoppers find WooCommerce products by describing what they need in their own words. Shoppers get a fast product preview followed by full AI-ranked recommendations and, when enabled, a natural-language answer. Product catalogs and queries can be multilingual.<\/p>\n\n<p>An AI Product Search account and API keys are required. Create an account in the setup wizard, or enter keys for an existing account.<\/p>\n\n<h3>External services<\/h3>\n\n<h4>AI Product Search API<\/h4>\n\n<p>This plugin sends data to the AI Product Search API, operated by Thaitus, at <code>https:\/\/ai-search.dev.thaitus.com\/v1<\/code>. The service uses AWS in eu-central-1 (Frankfurt) for hosting and storage.<\/p>\n\n<p>When an administrator checks an API key, the plugin sends that key for validation. When an administrator syncs the catalog, or when a product is saved or becomes unavailable, the plugin sends product ID, name, description, brand, first product category, price, SKU, stock count when managed (or zero when explicitly out of stock), and full-size image URLs. Empty values are omitted; variable-product variation values are added to the description. A product deletion sends its product ID so the service can remove it.<\/p>\n\n<p>For storefront searches, the plugin sends the search query, requested result count, and an optional language or language fallback. Full searches also send whether to include a natural-language answer. With direct search enabled, the shopper's browser connects to the API using a short-lived origin-bound search token; the API sees the shopper's IP address at the network level but does not store or log it. The plugin does not send cookies or account information. Product sync also sends display-card data (permalink, price HTML, thumbnail, and add-to-cart details). Role- or country-specific pricing may not be reflected in synced display data; stores using it should turn direct search off. Administrator pages also request API-key scope checks, catalog status and statistics, and daily usage information. After an administrator has accepted the Terms of Service, the plugin reports its website URL from the administration area so the service can keep the installed site associated with its account. When an administrator closes the account, the plugin sends the typed account name so the service can confirm the request before deleting the account.<\/p>\n\n<p>The service uses Google Gemini to process product text and rank query results, and Voyage AI to create product and query embeddings. See <a href=\"https:\/\/ai.google.dev\/gemini-api\/terms\">Google's Gemini API terms<\/a>, <a href=\"https:\/\/policies.google.com\/privacy\">Google's privacy policy<\/a>, and <a href=\"https:\/\/www.voyageai.com\/privacy\">Voyage AI's privacy policy<\/a>.<\/p>\n\n<h4>Stripe<\/h4>\n\n<p>When an administrator starts checkout, the plugin sends the selected plan plus the store's checkout success and cancellation URLs to the AI Product Search API. When the administrator opens the billing portal, it sends the portal return URL. The administrator is then redirected to Stripe Checkout or the Stripe Customer Portal. Card details are handled by Stripe, not by this plugin or Thaitus. See <a href=\"https:\/\/stripe.com\/privacy\">Stripe's privacy policy<\/a> and <a href=\"https:\/\/stripe.com\/legal\">Stripe's terms<\/a>.<\/p>\n\n<h4>Self-hosted update feed<\/h4>\n\n<p>The downloadable self-hosted ZIP checks <code>https:\/\/ai-search.dev.thaitus.com\/plugin\/updates<\/code> for plugin updates every 12 hours. The WordPress.org package does not include this updater.<\/p>\n\n<p>Product page: https:\/\/thaitus.com\/ai-search\/<\/p>\n\n<p>Service terms: https:\/\/thaitus.com\/ai-search\/terms.html<\/p>\n\n<p>Service privacy policy: https:\/\/thaitus.com\/ai-search\/privacy.html<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install Thaitus Natural-Language Search for WooCommerce from <strong>Plugins \u2192 Add New Plugin<\/strong> once it is listed in the WordPress.org directory, or upload the ZIP from <strong>Plugins \u2192 Add New Plugin \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin. WooCommerce must be installed and active.<\/li>\n<li>Open <strong>WooCommerce \u2192 AI Product Search<\/strong> and follow the setup wizard to create an account (or enter the keys of an existing one).<\/li>\n<li>Sync your catalog and enable the storefront search entry point, or add the <code>[thaitus_aips_search]<\/code> shortcode to a page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20an%20api%20key%3F\"><h3>How do I get an API key?<\/h3><\/dt>\n<dd><p>Use the plugin's setup wizard to create an account and receive its API keys. For an existing account, enter its keys in the setup wizard.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20shopper%20ip%20addresses%2C%20cookies%2C%20or%20account%20details%20to%20the%20api%3F\"><h3>Does the plugin send shopper IP addresses, cookies, or account details to the API?<\/h3><\/dt>\n<dd><p>The plugin does not store or deliberately send shoppers' IP addresses, cookies, or account details. With direct search enabled, the shopper's browser connects to the API, which sees the IP address at the network level but does not store or log storefront-request IPs. The plugin also uses the source IP locally for short-lived search rate limiting.<\/p><\/dd>\n<dt id=\"how%20are%20product%20updates%20handled%3F\"><h3>How are product updates handled?<\/h3><\/dt>\n<dd><p>Catalog sync sends eligible products to the AI Product Search service. Product edits and deletions are synced automatically.<\/p><\/dd>\n<dt id=\"how%20do%20i%20cancel%20a%20paid%20plan%3F\"><h3>How do I cancel a paid plan?<\/h3><\/dt>\n<dd><p>Open Manage billing on the plugin's settings screen and cancel there. The plan runs to the end of the period you have already paid for, with no partial refund, and nothing is deleted. Afterwards shoppers still get quick product matches, just without AI answers.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens if I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Deactivating stops AI search on your storefront. Deleting the plugin also erases the API keys and settings stored on your site. Neither one touches your AI Search account: the catalog index, usage history and any paid plan all remain, so keep a copy of your keys before deleting, and cancel a paid plan separately if you no longer want it.<\/p><\/dd>\n<dt id=\"how%20do%20i%20delete%20my%20account%20and%20all%20of%20my%20data%3F\"><h3>How do I delete my account and all of my data?<\/h3><\/dt>\n<dd><p>Use \"Close your account and delete your data\" at the bottom of the plugin's settings screen. You type your account name to confirm, and the service then cancels any paid plan immediately, deletes the catalog index, every API key and the usage history, and removes the keys stored on your site. It cannot be undone.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.5.21<\/h4>\n\n<ul>\n<li>Settings and search no longer depend on the mbstring or ctype PHP extensions: text length caps fall back to a UTF-8-safe truncation when mbstring is missing.<\/li>\n<\/ul>\n\n<h4>0.5.20<\/h4>\n\n<ul>\n<li>Readme: updated the Voyage AI privacy policy link.<\/li>\n<\/ul>\n\n<h4>0.5.19<\/h4>\n\n<ul>\n<li>Renamed to Thaitus Natural-Language Search for WooCommerce, with the text domain <code>thaitus-natural-language-search<\/code>.<\/li>\n<li>All functions, classes, settings, hooks and script handles now use the <code>thaitus_aips_<\/code> prefix. Existing settings move over automatically on update. The shortcode is now <code>[thaitus_aips_search]<\/code>, the filters are <code>thaitus_aips_*<\/code>, and the wp-config.php constant is <code>THAITUS_AIPS_TRUST_CDN_IP<\/code> (the old <code>AIPS_TRUST_CDN_IP<\/code> still works).<\/li>\n<li>The website address is reported to the service only after the Terms of Service have been accepted.<\/li>\n<li>Setup and Terms notices appear only on the Dashboard, the Plugins screen and the plugin's own pages.<\/li>\n<li>The WordPress.org package no longer bundles translation files; they come from translate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>0.5.18<\/h4>\n\n<ul>\n<li>WordPress.org package: \"Tested up to\" is declared only in readme.txt.<\/li>\n<\/ul>\n\n<h4>0.5.17<\/h4>\n\n<ul>\n<li>Renamed to Thaitus AI Product Search, with the text domain <code>thaitus-ai-product-search<\/code>, for the WordPress.org directory.<\/li>\n<\/ul>\n\n<h4>0.5.16<\/h4>\n\n<ul>\n<li>The API address is no longer shown on the settings page; it can only be changed with WP-CLI.<\/li>\n<li>Terms of Service and Privacy Policy links now point to thaitus.com\/ai-search\/.<\/li>\n<\/ul>\n\n<h4>0.5.15<\/h4>\n\n<ul>\n<li>Faster storefront searches can go directly from the shopper's browser to the API. WooCommerce product-card details are synced for direct results; disable Direct search if prices vary by shopper role or country.<\/li>\n<li>Daily search safety limits now scale with the store's plan, with a notice as the store nears its cap.<\/li>\n<li>The settings page now records and displays acceptance of the service terms.<\/li>\n<li>The plugin reports the website where it is installed so the service can keep account records up to date.<\/li>\n<li>Merchants can sign up and receive their own API keys from the setup wizard.<\/li>\n<li>Merchants can close their account from settings; the service cancels any live subscription and deletes its catalog, keys and usage history.<\/li>\n<\/ul>\n\n<h4>0.5.14<\/h4>\n\n<ul>\n<li>\"Suggest from my catalog\" writes example searches from your own products, so the search box no longer advertises prompts that don't fit your store.<\/li>\n<li>Plan &amp; billing now shows what your plan allows, how much of it you have used and what is left, plus a table of every plan's price and AI-answer limit.<\/li>\n<li>New \"Send feedback\" box on the settings page, and a Feedback link on the plugin's row in the plugins list.<\/li>\n<li>The plugin now shows its own logo on the Plugins and Updates screens instead of a generic icon.<\/li>\n<li>The plugin is now attributed to Thaitus on the Plugins screen.<\/li>\n<\/ul>\n\n<h4>0.5.13<\/h4>\n\n<ul>\n<li>Shoppers can switch from AI search to the store's regular search with a \"Search the store for \u2026\" link at the bottom of the AI search window. While they stay in that tab, the theme's search works normally and a \"Search with AI\" button takes them back.<\/li>\n<li>New setting to hide the regular search link.<\/li>\n<\/ul>\n\n<h4>0.5.12<\/h4>\n\n<ul>\n<li>The search box now sits inside the theme's header row, and on phones it becomes a compact search icon.<\/li>\n<li>Theme search icons (Blocksy, Kadence, Astra, Neve, Storefront's mobile bar) open AI search.<\/li>\n<li>New \"Match my theme\" search box style.<\/li>\n<li>Recognised theme search boxes show an AI badge and the AI placeholder.<\/li>\n<li>Compact phone results with a consistent Add to cart button.<\/li>\n<\/ul>\n\n<h4>0.5.11<\/h4>\n\n<ul>\n<li>New first-run setup assistant: connect your keys, sync the catalog and go live.<\/li>\n<li>Catalog status panel showing searchable, processing, failed and not-synced products.<\/li>\n<li>Restyled search box (pill with AI badge) with an editable placeholder and icon.<\/li>\n<li>Terms of Service and Privacy Policy acceptance when connecting a store.<\/li>\n<li>Billing and monthly answer quota controls.<\/li>\n<\/ul>\n\n<h4>0.5.10<\/h4>\n\n<ul>\n<li>Prepared for the WordPress.org directory.<\/li>\n<\/ul>","raw_excerpt":"Add multilingual, natural-language product search and AI-powered recommendations to your WooCommerce store.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/396589","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=396589"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thaitus"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=396589"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=396589"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=396589"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=396589"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=396589"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=396589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}