{"id":363020,"date":"2026-09-14T17:49:17","date_gmt":"2026-09-14T17:49:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/xtal-search-for-woocommerce\/"},"modified":"2026-09-14T19:34:23","modified_gmt":"2026-09-14T19:34:23","slug":"xtal-search-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/xtal-search-for-woocommerce\/","author":23555796,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"XTAL Search for WooCommerce","header_author":"XTAL Search","header_description":"AI-powered product search for WooCommerce stores. Connects to xtalsearch.com service (opt-in).","assets_banners_color":"3d4a67","last_updated":"2026-09-14 19:34:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.xtalsearch.com\/woocommerce","header_author_uri":"https:\/\/www.xtalsearch.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":41,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tfpk","date":"2026-09-14 17:48:48","revision":3695691},"1.0.1":{"tag":"1.0.1","author":"tfpk","date":"2026-09-14 19:34:23","revision":3695843}},"upgrade_notice":{"1.0.1":"<p>Fixes the result count and paged search URLs on XTAL-served search pages. Safe to update.<\/p>","1.0.0":"<p>Initial release of XTAL Search for WooCommerce.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3695766,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3695766,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3695766,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3695766,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3695766,"resolution":"1","location":"assets","locale":"","width":2560,"height":2278},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3695766,"resolution":"2","location":"assets","locale":"","width":2560,"height":1720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3695766,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"Settings page - Connect to XTAL Search and configure sync","2":"WooCommerce storefront search results powered by XTAL","3":"Onboarding - API key and connection status"}},"plugin_section":[],"plugin_tags":[2353,5183,944,140844,286],"plugin_category":[45],"plugin_contributors":[280701],"plugin_business_model":[],"class_list":["post-363020","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-product-search","plugin_tags-search","plugin_tags-semantic-search","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-tfpk","plugin_committers-tfpk"],"banners":{"banner":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/banner-772x250.png?rev=3695766","banner_2x":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/banner-1544x500.png?rev=3695766","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/icon-128x128.png?rev=3695766","icon_2x":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/icon-256x256.png?rev=3695766","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/screenshot-1.png?rev=3695766","caption":"Settings page - Connect to XTAL Search and configure sync"},{"src":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/screenshot-2.png?rev=3695766","caption":"WooCommerce storefront search results powered by XTAL"},{"src":"https:\/\/ps.w.org\/xtal-search-for-woocommerce\/assets\/screenshot-3.png?rev=3695766","caption":"Onboarding - API key and connection status"}],"raw_content":"<!--section=description-->\n<p>XTAL Search connects WooCommerce to the hosted XTAL Search service. It syncs your catalog and ranks product results for natural-language searches while continuing to use your theme's WooCommerce templates.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Natural-language search<\/strong> - Handles queries such as \"comfortable shoes for running\"<\/li>\n<li><strong>Catalog sync<\/strong> - Sends product changes to XTAL as they are published<\/li>\n<li><strong>Theme-native results<\/strong> - Uses your existing WooCommerce product templates<\/li>\n<li><strong>Native fallback<\/strong> - Uses WooCommerce search when the XTAL API is unavailable<\/li>\n<\/ul>\n\n<p><strong>How It Works:<\/strong><\/p>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>In the plugin settings, open the signup link next to <strong>API Key<\/strong>. The link carries this installation's random site ID so XTAL creates the correct store and collection.<\/li>\n<li>Complete signup and follow the emailed invite to generate and copy your API key.<\/li>\n<li>Paste the key, enable XTAL Search, and save the settings.<\/li>\n<li>Email hello@xtalsearch.com when the status panel asks you to activate the account.<\/li>\n<li>After XTAL confirms activation, run the first catalog sync.<\/li>\n<li>Product search pages use XTAL's ranking and your theme's WooCommerce templates.<\/li>\n<\/ol>\n\n<p><strong>External Service Connection<\/strong><\/p>\n\n<p>This plugin connects to the XTAL Search service at <code>api2.xtalsearch.com<\/code>. Activating the plugin alone does not contact XTAL. Opening the account signup link sends a random installation identifier (<code>site_uuid<\/code>) and the value <code>platform=woocommerce<\/code> to XTAL. Saving an API key sends the key to XTAL for validation and connection status. When XTAL Search is enabled, the plugin can send the service data listed below.<\/p>\n\n<p><strong>Data transmitted to xtalsearch.com:<\/strong><\/p>\n\n<ul>\n<li>Product information (titles, descriptions, prices, images, SKUs)<\/li>\n<li>The XTAL API key, used to authenticate the store<\/li>\n<li>A random WordPress installation identifier (<code>site_uuid<\/code>), used during signup to create the correct store and collection<\/li>\n<li>Search queries entered by customers on your store<\/li>\n<li>Search result interactions, including product clicks, result positions, and add-to-cart actions<\/li>\n<li>Completed order events used for search attribution: order ID, total, currency, line items, and the searches attributed to those items<\/li>\n<li>A pseudonymous session identifier stored in the <code>xtal_sid<\/code> cookie, used to connect searches with later clicks or purchases<\/li>\n<li>Your IP address (for rate limiting and abuse prevention)<\/li>\n<\/ul>\n\n<p>The plugin does not send customer names, email addresses, postal addresses, payment details, or WordPress account data. The <code>xtal_sid<\/code> cookie contains a random identifier, is not linked to a customer account, and expires after 30 days. IP addresses are processed transiently for rate limiting and abuse prevention and are not stored.<\/p>\n\n<p>Disabling XTAL Search stops catalog syncs and storefront search, click, add-to-cart, and order events. Saving an API key still performs a connection check.<\/p>\n\n<p><strong>Pricing:<\/strong><\/p>\n\n<p>XTAL Search is a paid hosted service. Start with the signup link next to <strong>API Key<\/strong> in the plugin settings, then follow the emailed invite to generate your key. Paste the key, enable XTAL Search, and save; then email hello@xtalsearch.com to activate your store. See <a href=\"https:\/\/www.xtalsearch.com\/pricing\">xtalsearch.com\/pricing<\/a> for current rates.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.xtalsearch.com\/product-terms\">Product Terms<\/a><\/li>\n<li><a href=\"https:\/\/www.xtalsearch.com\/privacy\">Privacy Policy<\/a><\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>Email hello@xtalsearch.com or visit our <a href=\"https:\/\/www.xtalsearch.com\/help\">Help Center<\/a>.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>When XTAL Search is enabled, the plugin sends product data and storefront search queries to xtalsearch.com. It also sends product clicks, result positions, add-to-cart actions, and completed order events containing order ID, total, currency, and line items. These events measure search attribution.<\/p>\n\n<p>Events use a random identifier stored in the <code>xtal_sid<\/code> cookie for 30 days. The identifier is not linked to a customer account. The plugin does not send customer names, email addresses, postal addresses, payment details, or WordPress account data. IP addresses are processed transiently for rate limiting and abuse prevention and are not stored.<\/p>\n\n<p>For detailed information about data handling, please see:\n* <a href=\"https:\/\/www.xtalsearch.com\/privacy\">XTAL Search Privacy Policy<\/a>\n* <a href=\"https:\/\/www.xtalsearch.com\/product-terms\">Product Terms<\/a><\/p>\n\n<p>The plugin registers privacy policy content with WordPress, which you can view and include in your site's privacy policy at Settings \u2192 Privacy.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate XTAL Search from the WordPress Plugins screen.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Integrations \u2192 XTAL Search<\/strong>.<\/li>\n<li>Open the signup link next to <strong>API Key<\/strong>, complete signup, and follow the emailed link to copy your key.<\/li>\n<li>Paste the key, enable XTAL Search, and save the settings.<\/li>\n<li>When the status panel prompts you, email hello@xtalsearch.com to activate your store.<\/li>\n<li>After activation, run the initial catalog sync.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20xtal%20search%20account%3F\"><h3>Do I need an XTAL Search account?<\/h3><\/dt>\n<dd><p>Yes. Start with the signup link next to <strong>API Key<\/strong> in the plugin settings. It carries this installation's random site ID. Complete signup, follow the emailed invite to generate your key, paste the key, enable XTAL Search, and save; then email hello@xtalsearch.com to activate the store.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20xtal%20search%20api%20is%20unavailable%3F\"><h3>What happens if the XTAL Search API is unavailable?<\/h3><\/dt>\n<dd><p>The plugin uses native WooCommerce product search until the XTAL API is available again.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20my%20theme%3F\"><h3>Does this plugin work with my theme?<\/h3><\/dt>\n<dd><p>XTAL Search renders results through WooCommerce product templates so they follow the active theme.<\/p><\/dd>\n<dt id=\"how%20often%20are%20products%20synced%3F\"><h3>How often are products synced?<\/h3><\/dt>\n<dd><p>Published product changes are synced as they occur. A scheduled full sync, daily by default, catches changes missed by those updates.<\/p><\/dd>\n<dt id=\"is%20my%20customer%20data%20safe%3F\"><h3>Is my customer data safe?<\/h3><\/dt>\n<dd><p>The plugin does not send customer names, email addresses, postal addresses, payment details, or WordPress account data. It sends catalog data, search queries, search interaction events, completed order events, a pseudonymous session identifier, and IP addresses as described under \"External Service Connection.\" See our <a href=\"https:\/\/www.xtalsearch.com\/privacy\">Privacy Policy<\/a> for details.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>WooCommerce's result count now reports the XTAL total (\"Showing 1-10 of 40 results\") instead of the current page size<\/li>\n<li>Native paged search URLs (?paged=2) render the next slice of XTAL results instead of a 404<\/li>\n<li>Load More resumes after the page that was rendered<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Semantic product search<\/li>\n<li>Real-time product sync<\/li>\n<li>Fallback to native WooCommerce search<\/li>\n<li>Suggested privacy-policy text for WordPress<\/li>\n<\/ul>","raw_excerpt":"Hosted semantic product search for WooCommerce, with catalog sync and native-theme results.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363020","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=363020"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tfpk"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363020"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363020"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363020"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363020"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363020"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363020"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}