{"id":342584,"date":"2026-07-20T15:48:18","date_gmt":"2026-07-20T15:48:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/appinio-search-ai-semantic-multilingual-product-search-for-woocommerce\/"},"modified":"2026-07-20T15:48:04","modified_gmt":"2026-07-20T15:48:04","slug":"appinio-search","status":"publish","type":"plugin","link":"https:\/\/ca-valencia.wordpress.org\/plugins\/appinio-search\/","author":23526358,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.9.0","stable_tag":"0.9.0","tested":"7.0.2","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Appinio Search \u2013 AI Semantic & Multilingual Product Search for WooCommerce","header_author":"appinio","header_description":"Sync WooCommerce products with Appinio AI Search. Real-time hooks + bulk sync.","assets_banners_color":"6c6d77","last_updated":"2026-07-20 15:48:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/app-in.io\/woocommerce","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.9.0":{"tag":"0.9.0","author":"appinio","date":"2026-07-20 15:48:04"}},"upgrade_notice":{"0.9.0":"<p>Public beta.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3615511,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3615511,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3615511,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3615511,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3615511,"resolution":"1","location":"assets","locale":"","width":2880,"height":1620},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3615511,"resolution":"2","location":"assets","locale":"","width":2880,"height":2160}},"screenshots":{"1":"The AI search widget on a WooCommerce storefront returning semantic results.","2":"WooCommerce \u2192 Appinio Search admin: connection settings, sync status, and Sync All \/ Delete All controls."}},"plugin_section":[],"plugin_tags":[220145,99,5183,140844,286],"plugin_category":[45,48],"plugin_contributors":[272036],"plugin_business_model":[],"class_list":["post-342584","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-search","plugin_tags-multilingual","plugin_tags-product-search","plugin_tags-semantic-search","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-language-tools","plugin_contributors-appinio","plugin_committers-appinio"],"banners":{"banner":"https:\/\/ps.w.org\/appinio-search\/assets\/banner-772x250.png?rev=3615511","banner_2x":"https:\/\/ps.w.org\/appinio-search\/assets\/banner-1544x500.png?rev=3615511","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/appinio-search\/assets\/icon-128x128.png?rev=3615511","icon_2x":"https:\/\/ps.w.org\/appinio-search\/assets\/icon-256x256.png?rev=3615511","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/appinio-search\/assets\/screenshot-1.png?rev=3615511","caption":"The AI search widget on a WooCommerce storefront returning semantic results."},{"src":"https:\/\/ps.w.org\/appinio-search\/assets\/screenshot-2.png?rev=3615511","caption":"WooCommerce \u2192 Appinio Search admin: connection settings, sync status, and Sync All \/ Delete All controls."}],"raw_content":"<!--section=description-->\n<p><strong>Public beta \u2014 your feedback shapes the roadmap.<\/strong> Appinio Search is fully functional and safe to run on live stores, but it's new to the market: you're among the first shops using it, so expect the occasional rough edge \u2014 and please tell us what you find. Report bugs and ideas on <a href=\"https:\/\/github.com\/app-in-io\/appin-woocommerce\/issues\">GitHub<\/a>. Early adopters directly shape what ships next.<\/p>\n\n<p>Appinio Search connects your WooCommerce store to Appinio AI Search \u2014 semantic, typo-tolerant product search that understands what shoppers <em>mean<\/em>, not just the keywords they type. It also speaks 100+ languages out of the box, including true cross-language search: a query typed in one language finds products described in another.<\/p>\n\n<p>The plugin does two things:<\/p>\n\n<ol>\n<li><strong>Keeps your catalog in sync<\/strong> \u2014 every product create, update, stock change, trash, and restore is pushed to Appinio automatically, in real time. A one-click Bulk Sync indexes your entire catalog in background batches.<\/li>\n<li><strong>Adds AI search to your storefront<\/strong> \u2014 drops the <code>&lt;semantic-search&gt;<\/code> widget onto your store, wired to your existing search box, so shoppers get instant, relevance-ranked results.<\/li>\n<\/ol>\n\n<p>The plugin is a thin integration layer: all AI, indexing, embedding, and ranking runs on the Appinio cloud service. You need an Appinio account and an API key to use it.<\/p>\n\n<h4>At a glance<\/h4>\n\n<ul>\n<li>100+ languages, true cross-language search \u2014 no separate configuration per language.<\/li>\n<li>Semantic + typo-tolerant \u2014 understands meaning and intent, not just exact keywords.<\/li>\n<li>Real-time sync + one-click Bulk Sync \u2014 every change pushed automatically, whole catalog indexed in background batches.<\/li>\n<li>17+ product fields mapped \u2014 including variable\/grouped products, brand, and attributes.<\/li>\n<li>Managed cloud backend (bge-m3 embeddings), EU-hosted; BYOK (bring your own LLM key) supported.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Sign up from the plugin \u2014 create your Appinio account with an email + one-time code, no dashboard round-trip; your API keys are set up automatically.<\/li>\n<li>Multilingual &amp; cross-language \u2014 100+ languages out of the box; a query in one language finds products described in another.<\/li>\n<li>Real-time product sync \u2014 create, update, stock change, trash, and restore are all pushed automatically.<\/li>\n<li>Debounced &amp; reliable \u2014 Action Scheduler coalesces WooCommerce's multiple saves into one API call, so a single edit never triggers duplicate indexing.<\/li>\n<li>One-click Bulk Sync \u2014 index your whole catalog in background batches, with a live progress indicator.<\/li>\n<li>Rich field mapping \u2014 title, description, price, sale\/compare-at price, currency, image, stock, SKU, categories, tags, rating, review count, brand, and product attributes.<\/li>\n<li>Variable &amp; grouped products \u2014 the parent is indexed with min\/max variation price and aggregated attributes; grouped products include their children.<\/li>\n<li>AI search widget \u2014 the <code>&lt;semantic-search&gt;<\/code> element, loaded from the Appinio CDN and auto-wired to your store's search input.<\/li>\n<li>Light \/ Dark \/ Auto appearance \u2014 pick a widget theme, or let Auto match your store's background.<\/li>\n<li>Category-aware \u2014 on category pages the widget scopes results to that category automatically.<\/li>\n<li>Status guard \u2014 only published products are indexed; drafts and trashed products are removed from the index.<\/li>\n<li>HPOS compatible \u2014 declares WooCommerce High-Performance Order Storage compatibility.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0+<\/li>\n<li>WooCommerce 8.0+<\/li>\n<li>PHP 8.1+<\/li>\n<li>An active Appinio account \u2014 <a href=\"https:\/\/app-in.io\">sign up at app-in.io<\/a>.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the Appinio cloud service to provide AI search. It is <strong>not<\/strong> self-hosted.<\/p>\n\n<p><strong>What is sent and when:<\/strong><\/p>\n\n<ol>\n<li>When a product is created, updated, or its stock changes \u2014 and during Bulk Sync \u2014 the plugin sends that product's data (title, description, price, currency, image URL, stock status, SKU, categories, tags, rating, review count, brand, and attributes) to the Appinio API (<code>https:\/\/api.app-in.io<\/code>), authenticated with your secret API key. Appinio indexes it for search.<\/li>\n<li>When a product is trashed or unpublished, the plugin sends a delete request containing the product ID.<\/li>\n<li>On every storefront page load (once a Public Key is configured), the plugin loads the Appinio search widget JavaScript from <code>https:\/\/cdn.app-in.io\/v1\/search.js<\/code>. The visitor's browser fetches this file directly from Appinio's CDN, which receives standard HTTP request metadata (IP address, user agent, referrer).<\/li>\n<li>When a shopper searches, the widget sends the query text and your Public Key to the Appinio API, which returns ranked results.<\/li>\n<li>If you register from within the plugin, your email address, store name, store URL, and admin language are sent to the Appinio API (<code>https:\/\/api.app-in.io<\/code>) to create your account and email you a one-time verification code. This happens only when you choose to sign up from the plugin.<\/li>\n<\/ol>\n\n<p>No customer personal data is sent \u2014 only your store's product catalog, shoppers' search queries, and (if you register in-plugin) your own account email.<\/p>\n\n<p><strong>Terms and privacy:<\/strong><\/p>\n\n<ul>\n<li>Terms of Service: <a href=\"https:\/\/app-in.io\/terms\">https:\/\/app-in.io\/terms<\/a><\/li>\n<li>WooCommerce Service Terms (product schedule): <a href=\"https:\/\/app-in.io\/woocommerce\/eula\">https:\/\/app-in.io\/woocommerce\/eula<\/a><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/app-in.io\/privacy\">https:\/\/app-in.io\/privacy<\/a><\/li>\n<li>Data Processing Agreement (GDPR): <a href=\"https:\/\/app-in.io\/dpa\">https:\/\/app-in.io\/dpa<\/a><\/li>\n<\/ul>\n\n<p>Using this plugin means the search widget script runs in visitors' browsers and product data is transmitted to Appinio. Please update your own site's privacy notice accordingly.<\/p>\n\n<h3>Support<\/h3>\n\n<ul>\n<li>Bug reports and feature requests: <a href=\"https:\/\/github.com\/app-in-io\/appin-woocommerce\/issues\">github.com\/app-in-io\/appin-woocommerce\/issues<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>, or install it from the WordPress.org plugin directory.<\/li>\n<li>Activate the plugin (WooCommerce must be active).<\/li>\n<li>Go to <strong>WooCommerce \u2192 Appinio Search<\/strong>.<\/li>\n<li><strong>Create your account right here<\/strong>: enter your email and store name, then the 6-digit code we email you. Your keys are set up automatically. (Already have a key? Paste your <strong>API Key<\/strong> <code>sk_live_...<\/code> instead \u2014 <a href=\"https:\/\/my.app-in.io\">get it at my.app-in.io<\/a>.)<\/li>\n<li>Click <strong>Sync All Products<\/strong> to index your catalog.<\/li>\n<li>The storefront widget uses your <strong>Public Key<\/strong> (<code>pk_live_...<\/code>), set automatically on registration or entered manually, plus an optional custom search-input CSS selector.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20appinio%20account%3F\"><h3>Do I need an Appinio account?<\/h3><\/dt>\n<dd><p>Yes. The plugin is a WooCommerce integration for the Appinio cloud service. Create an account and get your API keys at <a href=\"https:\/\/my.app-in.io\">my.app-in.io<\/a>.<\/p><\/dd>\n<dt id=\"does%20it%20support%20multiple%20languages%20and%20cross-language%20search%3F\"><h3>Does it support multiple languages and cross-language search?<\/h3><\/dt>\n<dd><p>Yes. Appinio Search understands 100+ languages out of the box, including true cross-language search \u2014 a query typed in one language can find products described in another. No per-language setup required.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20a%20keyword%20search%20plugin%3F\"><h3>How is this different from a keyword search plugin?<\/h3><\/dt>\n<dd><p>Keyword plugins match the literal words a shopper types, so typos, synonyms, or descriptive phrasing (\"warm winter jacket\") often return nothing. Appinio Search uses semantic AI embeddings to understand intent and meaning, so it finds relevant products even when the query doesn't share exact words with the product title or description.<\/p><\/dd>\n<dt id=\"where%20do%20i%20find%20my%20api%20key%20and%20public%20key%3F\"><h3>Where do I find my API Key and Public Key?<\/h3><\/dt>\n<dd><p>In the Appinio dashboard under <strong>Sites \u2192 API Keys<\/strong>. The secret key (<code>sk_live_...<\/code>) is used for syncing; the public key (<code>pk_live_...<\/code>) is safe to expose in the browser and powers the search widget.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20store%3F\"><h3>Will it slow down my store?<\/h3><\/dt>\n<dd><p>No. Syncing happens in the background via Action Scheduler. The search widget loads as a deferred ES module from the Appinio CDN.<\/p><\/dd>\n<dt id=\"does%20it%20handle%20variable%20and%20grouped%20products%3F\"><h3>Does it handle variable and grouped products?<\/h3><\/dt>\n<dd><p>Yes. Variable products are indexed as the parent with min\/max variation prices and aggregated attributes. Grouped products include their children.<\/p><\/dd>\n<dt id=\"how%20does%20real-time%20sync%20avoid%20duplicate%20api%20calls%3F\"><h3>How does real-time sync avoid duplicate API calls?<\/h3><\/dt>\n<dd><p>WooCommerce saves a product several times per edit. The plugin debounces these through Action Scheduler with a short coalesce window, so only one sync fires per edit.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20unpublish%20or%20trash%20a%20product%3F\"><h3>What happens when I unpublish or trash a product?<\/h3><\/dt>\n<dd><p>It is removed from the Appinio index automatically. Only published products stay indexed.<\/p><\/dd>\n<dt id=\"can%20i%20re-index%20everything%20from%20scratch%3F\"><h3>Can I re-index everything from scratch?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Delete All from Index<\/strong>, then <strong>Sync All Products<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Public beta \u2014 first release.<\/li>\n<li>Real-time WooCommerce product sync (create, update, stock, trash, restore) via Action Scheduler.<\/li>\n<li>One-click Bulk Sync and Delete All from Index with live progress.<\/li>\n<li>Full field mapping including variable\/grouped products, brand, and attributes.<\/li>\n<li>AI search widget (<code>&lt;semantic-search&gt;<\/code>) loaded from the Appinio CDN, auto-wired to the store search input and category-aware.<\/li>\n<li>HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"AI semantic, multilingual, typo-tolerant product search for WooCommerce. Auto-syncs your catalog and adds a smart search widget.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/342584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=342584"}],"author":[{"embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/appinio"}],"wp:attachment":[{"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=342584"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=342584"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=342584"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=342584"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=342584"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ca-valencia.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=342584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}