{"id":313399,"date":"2026-06-01T09:17:16","date_gmt":"2026-06-01T09:17:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/queryn\/"},"modified":"2026-06-01T09:32:11","modified_gmt":"2026-06-01T09:32:11","slug":"queryn","status":"publish","type":"plugin","link":"https:\/\/mr.wordpress.org\/plugins\/queryn\/","author":14977198,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0","requires":"6.3","requires_php":"8.0","requires_plugins":null,"header_name":"Queryn - AI Search for WooCommerce","header_author":"Zakaria Binsaifullah","header_description":"AI-powered WooCommerce product search. Find products by natural language using OpenAI, Gemini, or Anthropic.","assets_banners_color":"533b84","last_updated":"2026-06-01 09:32:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/devzakaria.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":57,"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":"binsaifullah","date":"2026-06-01 09:15:10"},"1.0.1":{"tag":"1.0.1","author":"binsaifullah","date":"2026-06-01 09:32:11"}},"upgrade_notice":{"1.0.0":"<p>Initial release. No upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3556471,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3556471,"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":3556471,"resolution":"1","location":"assets","locale":"","width":3414,"height":2066}},"screenshots":[]},"plugin_section":[],"plugin_tags":[265304,265305,944,286,231325],"plugin_category":[45],"plugin_contributors":[174986],"plugin_business_model":[],"class_list":["post-313399","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-product-search","plugin_tags-natural-language-search","plugin_tags-search","plugin_tags-woocommerce","plugin_tags-woocommerce-ai","plugin_category-ecommerce","plugin_contributors-binsaifullah","plugin_committers-binsaifullah"],"banners":{"banner":"https:\/\/ps.w.org\/queryn\/assets\/banner-772x250.png?rev=3556471","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/queryn\/assets\/icon-256x256.png?rev=3556471","icon_2x":"https:\/\/ps.w.org\/queryn\/assets\/icon-256x256.png?rev=3556471","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/queryn\/assets\/screenshot-1.png?rev=3556471","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Queryn<\/strong> transforms the way customers search your WooCommerce store. Instead of typing exact product names or SKUs, shoppers can describe exactly what they want in plain language \u2014 and Queryn's AI engine translates that into precise results in real time.<\/p>\n\n<p>Powered by the world's leading AI providers (OpenAI, Google Gemini, and Anthropic Claude), Queryn intelligently parses natural-language queries into structured WooCommerce filters: categories, tags, product attributes, price ranges, and custom meta fields \u2014 all without touching a single line of template code.<\/p>\n\n<h3>Video Overview<\/h3>\n\n<p>[youtube http:\/\/www.youtube.com\/watch?v=I_QwIRryxpI]<\/p>\n\n<blockquote>\n  <p><strong>\"Show me red running shoes under $80\"<\/strong> \u2192 Queryn automatically filters by color attribute, category, and max price.\n  <strong>\"Organic coffee beans above $20\"<\/strong> \u2192 Queryn finds the right category and sets a minimum price filter.\n  <strong>\"Hello World\"<\/strong> \u2192 Queryn finds your blog post titled Hello World alongside any matching products \u2014 normal search is never broken.<\/p>\n<\/blockquote>\n\n<h4>Search Scope \u2014 Products, Posts, and Pages Together<\/h4>\n\n<p>Queryn is smart about when to restrict results to products and when to search broadly:<\/p>\n\n<ul>\n<li><strong>Filter-based queries<\/strong> (price, category, tags, attributes) always search WooCommerce products only, because those filters are product-specific.<\/li>\n<li><strong>Keyword-only queries<\/strong> search across all post types you configure \u2014 products, blog posts, pages, and any custom post types \u2014 so shoppers never hit a dead end just because no product matches.<\/li>\n<\/ul>\n\n<p>You control exactly which post types are included in keyword searches from the <strong>Search Scope<\/strong> section on the General settings tab. WooCommerce products are always included and cannot be deselected.<\/p>\n\n<h4>Apply AI Search On \u2014 Control API Costs<\/h4>\n\n<p>The new <strong>Apply AI Search On<\/strong> setting lets you restrict when the AI engine is triggered:<\/p>\n\n<ul>\n<li><strong>All search pages<\/strong> (default) \u2014 AI processes every search query site-wide.<\/li>\n<li><strong>WooCommerce pages only<\/strong> \u2014 AI is triggered exclusively when a search is submitted from a WooCommerce page (shop, product categories, product tags). Searches from blog pages, contact pages, or any non-WooCommerce context skip the AI call entirely and fall back to standard WordPress search \u2014 saving API credits for queries that actually matter.<\/li>\n<\/ul>\n\n<p><strong>Your existing WordPress search behaviour is fully preserved.<\/strong> Queryn only modifies the main search query when a valid AI provider is configured and active. If the API key is missing, the plugin is inactive, or the AI call fails, WordPress falls back to its standard search without any interference.<\/p>\n\n<h4>Why Queryn?<\/h4>\n\n<ul>\n<li><strong>Higher Conversion Rates<\/strong> \u2014 Shoppers who find products faster buy more. Natural language search removes friction from the discovery process.<\/li>\n<li><strong>Zero Configuration Required<\/strong> \u2014 Queryn reads your existing WooCommerce categories, tags, and attributes automatically. No mapping, no manual setup.<\/li>\n<li><strong>No Broken Search<\/strong> \u2014 Keyword searches that don't match any product will still surface blog posts, pages, and other content \u2014 shoppers are never shown an empty results page unnecessarily.<\/li>\n<li><strong>Provider Flexibility<\/strong> \u2014 Switch between OpenAI, Google Gemini, and Anthropic Claude without losing your other API keys. Pre-configure all three and swap with one click.<\/li>\n<li><strong>Smart Caching<\/strong> \u2014 AI responses are cached for one hour, dramatically reducing API usage and keeping your store fast.<\/li>\n<li><strong>Privacy First<\/strong> \u2014 Only store taxonomy data (category names, tag names, attribute values) is sent to the AI. No customer PII, no order data.<\/li>\n<\/ul>\n\n<h4>Supported AI Providers<\/h4>\n\n<p><strong>OpenAI<\/strong>\nThe industry standard for conversational AI. Queryn supports GPT-4o, GPT-4o Mini, and GPT-4 Turbo \u2014 choose the model that best fits your budget and accuracy needs.<\/p>\n\n<p><strong>Google Gemini<\/strong>\nGoogle's multimodal AI family. Queryn supports Gemini 2.5 Pro, Gemini 2.5 Flash, and Gemini 2.5 Flash Lite. Gemini 2.5 Flash offers the best balance of speed, accuracy, and cost for most stores.<\/p>\n\n<p><strong>Anthropic Claude<\/strong>\nAnthropic's safety-focused models deliver outstanding instruction-following and structured output. Queryn supports Claude Sonnet 4.6, Claude Haiku 4.5, and Claude Opus 4.7.<\/p>\n\n<h4>What Gets Filtered<\/h4>\n\n<p>Queryn extracts the following from a shopper's search query and applies them directly to <code>WP_Query<\/code>:<\/p>\n\n<ul>\n<li><strong>Product Categories<\/strong> \u2014 mapped from your store's <code>product_cat<\/code> taxonomy<\/li>\n<li><strong>Product Tags<\/strong> \u2014 mapped from your store's <code>product_tag<\/code> taxonomy<\/li>\n<li><strong>Product Attributes<\/strong> \u2014 all <code>pa_*<\/code> attribute taxonomies (color, size, material, etc.)<\/li>\n<li><strong>Price Range<\/strong> \u2014 minimum price, maximum price, a range, or an exact price (\"priced at $15\")<\/li>\n<li><strong>Custom Meta Fields<\/strong> \u2014 any public meta key registered on your products<\/li>\n<li><strong>Keyword<\/strong> \u2014 the core product term extracted for text-based title matching (intent words like \"show me\" or \"find\" are automatically ignored)<\/li>\n<\/ul>\n\n<h4>Privacy &amp; Third-Party Services<\/h4>\n\n<p>Queryn connects to the AI provider you configure. By enabling a provider, you agree to their terms of service and privacy policy:<\/p>\n\n<ul>\n<li><strong>OpenAI:<\/strong> <a href=\"https:\/\/openai.com\/policies\/privacy-policy\">openai.com\/policies\/privacy-policy<\/a><\/li>\n<li><strong>Google Gemini:<\/strong> <a href=\"https:\/\/policies.google.com\/privacy\">policies.google.com\/privacy<\/a><\/li>\n<li><strong>Anthropic:<\/strong> <a href=\"https:\/\/www.anthropic.com\/privacy\">anthropic.com\/privacy<\/a><\/li>\n<\/ul>\n\n<p>Data sent to the provider consists solely of your store's taxonomy structure (category names, tag names, attribute values, and public meta keys) and the shopper's search query. No personal customer data, email addresses, or order information is ever transmitted.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation (Recommended)<\/h4>\n\n<ol>\n<li>In your WordPress dashboard, navigate to <strong>Plugins \u2192 Add New<\/strong>.<\/li>\n<li>Search for <strong>Queryn<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings \u2192 Queryn<\/strong> and configure your preferred AI provider.<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP from the WordPress plugin directory.<\/li>\n<li>In your dashboard, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Upload the ZIP and click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings \u2192 Queryn<\/strong> and enter your API key.<\/li>\n<\/ol>\n\n<h4>After Activation<\/h4>\n\n<ol>\n<li>Navigate to <strong>Settings \u2192 Queryn<\/strong>.<\/li>\n<li>On the <strong>General<\/strong> tab, select your preferred AI provider.<\/li>\n<li>On the <strong>General<\/strong> tab, review the <strong>Search Scope<\/strong> section and check the post types you want included in keyword searches.<\/li>\n<li>Open the corresponding provider tab (OpenAI, Gemini, or Anthropic).<\/li>\n<li>Paste your API key and choose a model.<\/li>\n<li>Click <strong>Save Settings<\/strong>.<\/li>\n<li>Test by searching your store with a natural language query such as <em>\"blue denim jacket under $100\"<\/em>.<\/li>\n<\/ol>\n\n<p><strong>WooCommerce must be installed and active.<\/strong> Queryn will display an admin notice and remain inactive if WooCommerce is not detected.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20queryn%20break%20my%20normal%20wordpress%20search%20for%20blog%20posts%20or%20pages%3F\"><h3>Will Queryn break my normal WordPress search for blog posts or pages?<\/h3><\/dt>\n<dd><p>No. Queryn is designed to work alongside standard WordPress search without disrupting it. For keyword-only searches, results are returned across all post types you select in the Search Scope settings (posts, pages, and products by default). Only when a query contains product-specific filters (price, category, attributes, etc.) does Queryn restrict results to WooCommerce products. If no AI provider is configured or a call fails, WordPress falls back to its default search behaviour automatically.<\/p><\/dd>\n<dt id=\"my%20shopper%20searched%20for%20a%20blog%20post%20title%20and%20got%20no%20results%20%E2%80%94%20why%3F\"><h3>My shopper searched for a blog post title and got no results \u2014 why?<\/h3><\/dt>\n<dd><p>This was a known issue in version 1.0.0, fixed in 1.1.0. Earlier versions always restricted search results to WooCommerce products. After updating, keyword-only searches will include posts, pages, and any other post types you enable in <strong>Settings \u2192 Queryn \u2192 General \u2192 Search Scope<\/strong>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20api%20key%3F\"><h3>Do I need an API key?<\/h3><\/dt>\n<dd><p>Yes. You need an active API key from at least one of the supported AI providers \u2014 OpenAI, Google AI Studio (for Gemini), or Anthropic. All three offer free tiers or trial credits to get started.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>Queryn only makes an API call on search pages, and only when a shopper performs a search. Responses are cached for one hour per unique query using WordPress transients, so repeated searches hit your database rather than the AI API.<\/p><\/dd>\n<dt id=\"which%20ai%20provider%20should%20i%20choose%3F\"><h3>Which AI provider should I choose?<\/h3><\/dt>\n<dd><ul>\n<li><strong>Lowest cost:<\/strong> Gemini 2.5 Flash Lite or GPT-4o Mini.<\/li>\n<li><strong>Highest accuracy:<\/strong> GPT-4o, Gemini 2.5 Pro, or Claude Opus 4.7.<\/li>\n<li><strong>Best balance:<\/strong> Gemini 2.5 Flash or Claude Haiku 4.5.<\/li>\n<\/ul>\n\n<p>You can configure all three providers simultaneously and switch between them without losing any API keys.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20all%20woocommerce%20themes%3F\"><h3>Does it work with all WooCommerce themes?<\/h3><\/dt>\n<dd><p>Yes. Queryn hooks into <code>pre_get_posts<\/code> and modifies <code>WP_Query<\/code> before any theme renders the results. It is fully compatible with all standard WooCommerce-aware themes including Storefront, Astra, GeneratePress, Flatsome, and block-based themes.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20the%20ai%20provider%3F\"><h3>What data is sent to the AI provider?<\/h3><\/dt>\n<dd><p>Only your store's taxonomy structure (category names, tag names, attribute names and values, and public custom field keys) alongside the shopper's search query. No customer accounts, email addresses, order data, or personally identifiable information is ever sent.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20ai%20providers%20at%20the%20same%20time%3F\"><h3>Can I use multiple AI providers at the same time?<\/h3><\/dt>\n<dd><p>Only one provider handles search queries at a time. However, you can pre-configure API keys for all three providers and switch the active one instantly from <strong>Settings \u2192 Queryn \u2192 General<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20prevent%20the%20ai%20from%20firing%20on%20every%20single%20search%20to%20save%20api%20costs%3F\"><h3>Can I prevent the AI from firing on every single search to save API costs?<\/h3><\/dt>\n<dd><p>Yes. In <strong>Settings \u2192 Queryn \u2192 General \u2192 Apply AI Search On<\/strong>, switch from \"All search pages\" to \"WooCommerce pages only\". When this option is active, the AI is only called when a search originates from a WooCommerce page (shop, product category, product tag). Searches from blog pages, static pages, or other non-WooCommerce areas skip the AI entirely and use standard WordPress search \u2014 so you are only charged for queries that are actually product-relevant.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20post%20types%20appear%20in%20search%20results%3F\"><h3>Can I choose which post types appear in search results?<\/h3><\/dt>\n<dd><p>Yes. In <strong>Settings \u2192 Queryn \u2192 General<\/strong>, the <strong>Search Scope<\/strong> section lists all public post types registered on your site. Check the ones you want included in keyword-only searches. WooCommerce products are always included. Filter-based searches (price, category, etc.) always return products only, regardless of this setting.<\/p><\/dd>\n<dt id=\"searching%20for%20an%20exact%20price%20like%20%22products%20priced%20at%20%2415%22%20returns%20no%20results%20%E2%80%94%20is%20that%20a%20bug%3F\"><h3>Searching for an exact price like \"products priced at $15\" returns no results \u2014 is that a bug?<\/h3><\/dt>\n<dd><p>This was a bug in 1.0.0, fixed in 1.1.0. The AI now correctly maps \"price is X\" \/ \"costs X\" \/ \"priced at X\" to an exact price filter, and the underlying query uses a direct equality comparison rather than a range. Update to 1.1.0 and the search will work correctly.<\/p><\/dd>\n<dt id=\"is%20queryn%20compatible%20with%20wpml%20or%20multilingual%20stores%3F\"><h3>Is Queryn compatible with WPML or multilingual stores?<\/h3><\/dt>\n<dd><p>Queryn reads taxonomy names in whatever language they are stored in your database. If you use WPML or Polylang and your category\/tag names are translated, the AI will receive the translated names for the current language context.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20an%20api%20key%3F\"><h3>Where can I get an API key?<\/h3><\/dt>\n<dd><ul>\n<li><strong>OpenAI:<\/strong> <a href=\"https:\/\/platform.openai.com\/api-keys\">platform.openai.com\/api-keys<\/a><\/li>\n<li><strong>Google Gemini:<\/strong> <a href=\"https:\/\/aistudio.google.com\/app\/apikey\">aistudio.google.com\/app\/apikey<\/a><\/li>\n<li><strong>Anthropic:<\/strong> <a href=\"https:\/\/console.anthropic.com\/settings\/keys\">console.anthropic.com\/settings\/keys<\/a><\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0 &amp; 1.0.1<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Natural language WooCommerce product search powered by AI.<\/li>\n<li>Support for OpenAI (GPT-4o, GPT-4o Mini, GPT-4 Turbo).<\/li>\n<li>Support for Google Gemini (2.0 Flash, 1.5 Pro, 1.5 Flash).<\/li>\n<li>Support for Anthropic Claude (3.5 Sonnet, 3.5 Haiku, 3 Opus).<\/li>\n<li>Filters: product category, tags, attributes, price range, custom meta fields.<\/li>\n<li>One-hour transient caching for AI responses.<\/li>\n<li>Modern tabbed settings dashboard under Settings \u2192 Queryn.<\/li>\n<li>PSR-4 SPL autoloader with <code>Queryn\\<\/code> namespace.<\/li>\n<li>WooCommerce HPOS (High-Performance Order Storage) compatibility declared.<\/li>\n<li>WooCommerce Cart &amp; Checkout Blocks compatibility declared.<\/li>\n<li><strong>Search Scope<\/strong> setting on the General tab \u2014 choose which post types (posts, pages, products, custom types) are included in keyword-only searches.<\/li>\n<li>Keyword-only searches now find blog posts, pages, and other content alongside products, so shoppers are never shown an empty results page just because no product matches.<\/li>\n<li>Product-filter searches (price, category, tags, attributes) continue to return WooCommerce products only \u2014 unchanged behaviour.<\/li>\n<li><strong>Apply AI Search On<\/strong> setting \u2014 restrict AI processing to WooCommerce pages only to avoid unnecessary API charges on blog or page searches.<\/li>\n<li>Updated Google Gemini model list to the current 2.5 family: Gemini 2.5 Pro, Gemini 2.5 Flash (new default), and Gemini 2.5 Flash Lite.<\/li>\n<li>Updated Anthropic Claude model list to the current 4.x family: Claude Sonnet 4.6, Claude Haiku 4.5 (new default), and Claude Opus 4.7.<\/li>\n<\/ul>","raw_excerpt":"AI-powered WooCommerce search with natural language. Finds products, posts, and pages together \u2014 no shortcodes needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/313399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=313399"}],"author":[{"embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/binsaifullah"}],"wp:attachment":[{"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=313399"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=313399"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=313399"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=313399"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=313399"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=313399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}