Smart Search Revolution: setup and help

Quick start

  1. Upload and install mprsearchrevolution, then open Search Revolution > Settings > Configuration.
  2. Enable Module and set Search Input Selector to your desktop and mobile search inputs.
  3. Leave Render Own Search Widget off when using the theme search field; save Minimum Characters and Debounce Delay (ms).
  4. Review Display > Result Types and Display > Appearance.
  5. Run Settings > Integrity and test a known product name, reference, typo and normal search submission.
  6. Use Optimization > Synonyms, Redirects, Search Patterns or Boosting for specific query needs.
  7. Check Analytics > Search Queries after a result click and verify an optional SEO > SEO Pages landing page.

Requires PrestaShop 1.7.0 or later and PHP 7.1 or later.

Setup manual

Install and connect your theme search field

Upload and install mprsearchrevolution, then click Configure. Open Search Revolution > Settings > Configuration for the main form. Keep a known product name and reference ready for testing.

The module normally enhances existing theme inputs. Leave Render Own Search Widget off if your theme already has a search box. Set Search Input Selector to the actual desktop and mobile inputs. For example:

.header-search input[type="search"], .mobile-search input[name="q"]

The settings are divided between Configuration, Display, Optimization, Analytics and SEO screens. They are not all on a single Settings page.

Configure the main search behavior

In Search Revolution > Settings > Configuration:

  • Enable Module. Turns the front-office search replacement on or off; default: true.
  • Render Own Search Widget. Outputs the module's own search box on displayTop/displaySearch; default: false.
  • Search Input Selector. Enter selectors for your actual theme search inputs. The default covers #search_widget, #mpr-search-widget, input[name="s"], input.search-input, #search_query and text/search inputs inside .search-widget.
  • Minimum Characters. Minimum query length before live search starts; default: 2.
  • Debounce Delay (ms). Delay after typing before sending an AJAX request. Default: 250 milliseconds. Increase it if you want fewer requests while typing.
  • Maximum Results. Maximum results shown per autocomplete section; default: 10.
  • Show Bestsellers on Focus. Shows bestselling products before the visitor types; default: true.
  • Bestsellers Count. Number of bestsellers shown on focus; default: 6.
  • Use Full Results Layout on Focus. Shows the full dropdown layout with history, suggestions, and categories instead of a simplified bestseller view; default: false.
  • Full Results Minimum Characters. Minimum characters before the full dropdown layout appears on focus, where 0 means immediately; default: 0.
  • Enable Fuzzy Search. Allows typo-tolerant matching; default: true.

Use Default Section Order, Knowledge Base Section Order, Blog Section Order and FAQ Section Order to order result sections. The defaults start with products normally, knowledge-base articles in the knowledge-base context, blog articles in the blog context and FAQs in the FAQ context. The provider module must be present to supply its content.

Replace Native Search is on by default and has no field on the current main form. There is no Search Form Selector setting. With a custom theme, test both normal form submission and the dropdown to check that the native search is replaced.

Configure result types

Open Search Revolution > Display > Result Types.

Products

  • Show Products. Shows product results; default: true.
  • Show Image. Shows product images in search results; default: true.
  • Show Price. Shows product prices; default: true.
  • Show Reference. Shows product references/SKUs; default: false.
  • Show Short Description. Shows product description excerpts; default: false.
  • Description Length. Maximum product description excerpt length; default: 100.
  • Show Default Category. Shows the product's default category; default: true.
  • Show Category Tree. Shows a clickable category breadcrumb for products; default: false.
  • Category Tree Max Depth. Maximum category breadcrumb depth for products; default: 3.
  • Show Stock Status. Shows in-stock/out-of-stock badges; default: false.
  • Show Stock Quantity. Shows exact stock quantity; default: false.
  • Show Sales Count. Shows product sales count for a recent period; default: false.
  • Sales Period (days). Period used for product sales count; default: 30.
  • Image Hover Gallery. Cycles through product images on hover or first mobile tap; default: false.
  • Highlight Search Matches. Highlights matching text in product names; default: true.
  • Show Match Reasons. Shows feature or attribute values that explain why a product matched; default: true.
  • Excluded Features. Comma-separated feature IDs hidden from match reasons and filters; default: empty.
  • Excluded Attribute Groups. Comma-separated attribute group IDs hidden from match reasons and filters; default: empty.

Enable additional product details when customers need them. Leave stock quantity, sales counts and descriptions off when you do not want these details in the dropdown. Excluded feature IDs and attribute-group IDs hide those fields from match explanations and filters.

Categories

  • Show Categories. Shows category results; default: true.
  • Show Image. Shows category images; default: true.
  • Show Category Path. Shows category breadcrumb paths; default: true.
  • Show Product Count. Shows product counts for categories; default: true.
  • Show Sales Count. Shows sales counts for category results; default: false.
  • Sales Period (days). Period used for category sales counts; default: 30.
  • Show Description. Shows category description excerpts; default: true.
  • Description Length. Maximum category description excerpt length; default: 120.

CMS Pages and Manufacturers/Brands

  • Show CMS Pages. Shows CMS page results; default: true.
  • Show CMS Category. Shows the CMS category name; default: true.
  • Show Content Excerpt. Shows a CMS content excerpt; default: true.
  • Excerpt Length. Maximum CMS excerpt length; default: 120.
  • Show Manufacturers/Brands. Shows manufacturer/brand results; default: true.
  • Show Logo. Shows manufacturer images/logos; default: true.
  • Show Product Count. Shows product count for each brand; default: true.

Supplier search retains its default image and product-count display, but the current Result Types form has no separate supplier settings group. There are no Show Suppliers, Supplier Show Image or Supplier Show Product Count fields here.

Suggestions and account shortcuts

  • Show Suggestions. Shows popular query suggestions; default: true.
  • Suggestions Count. Maximum suggestions shown; default: 6.
  • Preview on Hover. Shows suggestion result previews on desktop hover or first mobile tap; default: true.
  • Show Zero-Result Suggestions. Shows alternative suggestions when no products match; default: true.
  • Show Popular on Zero Results. Shows popular searches when no products match; default: true.
  • Show Account/Service Shortcuts. Shows quick links for order, tracking, invoices, returns, account login, and contact searches; default: true.
  • Account/Service Shortcuts Limit. Maximum service shortcuts shown for one query; default: 3.
  • Order Intent Keywords. Words that trigger order/account order shortcuts; default: order, order number, order reference, commande, numero commande, numéro commande, reference commande, référence commande, ma commande, mon colis.
  • Tracking Intent Keywords. Carrier and delivery words that trigger tracking shortcuts; default: tracking, track, shipment, shipping, delivery, fedex, dhl, ups, gls, dpd, colissimo, chronopost, transporteur, livraison, expedition, expédition, suivi, suivre, colis.
  • Account Intent Keywords. Words that trigger account/login shortcuts; default: account, login, sign in, my account, compte, mon compte, connexion, se connecter, identification.
  • Returns Intent Keywords. Words that trigger returns and after-sales shortcuts; default: return, returns, refund, exchange, retour, retours, remboursement, echange, échange, sav.
  • Invoice Intent Keywords. Words that trigger invoice shortcuts; default: invoice, invoices, credit slip, facture, factures, avoir, avoirs.
  • Contact Intent Keywords. Words that trigger contact/support shortcuts; default: contact, help, support, customer service, aide, assistance, service client, nous contacter.

Change intent keyword lists to match the words customers use in each language. Account shortcuts lead to account/service pages. They do not remove those pages' login and ownership requirements.

Tune relevance and exclusions

Open Search Revolution > Optimization > Relevance.

  • Exact Match. Relevance multiplier for exact field matches; default: 3.0.
  • Prefix Match. Relevance multiplier when a field starts with the query; default: 2.0.
  • Contains Match. Relevance multiplier when a field contains the query; default: 1.0.
  • Fuzzy Match. Relevance multiplier for typo-tolerant matches; default: 0.6.
  • Variant Match. Relevance multiplier for singular/plural or variant matches; default: 0.8.
  • Default sort - date tiebreaker. Chooses newest or oldest when relevance and sales count are tied; default: newest.

The date-tiebreaker label contains a dash between “Default sort” and “date tiebreaker” in the Back Office. Choose newest or oldest only for tied relevance and sales counts.

Use Analytics > Search Simulator to inspect query behavior and field weights. Initial weights are:

name=6.0
reference=8.0
ean13=8.0
upc=8.0
description_short=3.0
description=1.0
manufacturer=2.0
category=2.0
tags=4.0

Search also matches configured product attributes, features and supplier data. Compare exact product names, references, synonyms and a typo before changing relevance values. The stored fuzzy threshold defaults to 0.7; higher values are stricter. It is not a separate visible field in the current main form.

Use Optimization > Exclusions to exclude selected products or incomplete catalogue entries. The no-image, no-category, no-description and no-price filters default off. Enable them only after reviewing the products they would remove.

Add synonyms, redirects, patterns and boosts

Open Optimization > Synonyms. Set Main Term, Synonyms, Bidirectional, Active and optional Limit to Specific Items. Synonyms are language and shop aware. Test the intended direction and scope.

Import CSV without a header row. Each row is a group:

sofa,couch,settee
trainers,sneakers,running shoes

Open Optimization > Redirects for exact normalized terms. Redirect sale to a category ID, or use a query replacement such as couch to sofa. Use Search Patterns for reusable formats. Available placeholders include {N} for numbers, {W} for letters, {A} for alphanumerics, {*} for arbitrary characters, {S} for non-space characters and {D} for decimal numbers.

For example, match {N}x{N} or {N} x {N}, choose a URL redirect to /custom-size, enable captured parameters and name them width and height. A full match for 800x900 can produce /custom-size?width=800&height=900.

Open Optimization > Boosting to add query-specific product/entity relevance points or a pinned position. For example, use a query shower tray, boost points 100 and position 1 for a selected group. Verify the final order in the simulator and storefront. A boost does not create catalogue content that cannot otherwise be loaded.

Configure dimension searches

Open Search Revolution > Optimization > Dimension Search.

  • Enable Dimension Search Enhancements. Detects size searches and can show nearby sizes or custom-size recommendations; default: true.
  • Show Nearby Catalog Sizes. Suggests nearby dimensions from active product names when exact results are missing; default: true.
  • Show Nearby Sizes as Products. Renders real product cards for nearby sizes when possible; default: true.
  • Nearby Suggestions Limit. Maximum nearby dimension suggestions; default: 5.
  • Nearby Section Title. Multilingual title above nearby size suggestions; default: Nearby sizes.
  • 2D Product Keywords. Optional product-name keywords used to limit width x length catalog scanning; default: empty.
  • 2D Suggestion Label Template. Label template for 2D nearby suggestions; default: {dimension}.
  • 2D Suggestion Search Template. Search term used when a 2D suggestion is clicked; default: {dimension}.
  • 2D Suggestion Meta Text. Meta text for 2D nearby suggestions; default: Nearby catalog size.
  • 2D Suggestion Badge Text. Badge text for 2D nearby suggestions; default: size.
  • Single-Length Product Keywords. Optional product-name keywords used to limit single-length catalog scanning; default: empty.
  • Single-Length Query Keywords. Keywords that allow a bare number to be treated as a length; default: empty.
  • Length Suggestion Label Template. Label template for single-length nearby suggestions; default: {dimension}.
  • Length Suggestion Search Template. Search term used when a length suggestion is clicked; default: {dimension}.
  • Length Suggestion Meta Text. Meta text for length suggestions; default: Nearby catalog length.
  • Length Alternative Meta Text. Text shown when a width x length query also suggests a single-length family; default: Alternative with nearby length.
  • Length Suggestion Badge Text. Badge text for length suggestions; default: length.
  • Show Custom-Size Recommendation. Shows a custom-size banner for matching dimension queries; default: true.
  • Custom-Size Intent Keywords. Keywords that show the custom-size banner even without a numeric dimension; default includes bespoke, custom size, made to measure, sur mesure, mesure, configurateur, dimension personnalisée.
  • Fallback Custom-Size URL Template. Multilingual fallback URL for custom-size banners; default: empty.
  • 2D Custom-Size URL Template. URL template for width x length searches; default: empty.
  • Single-Length Custom URL Template. URL template for single-length searches; default: empty.
  • Auto-Use MPR Bespoke URL. Uses mprbespoke configurator links when that module is installed and no URL template is set; default: true.
  • Fallback Custom-Size Banner Title. Multilingual title template for custom-size banners; default: Configure custom size {dimension}.
  • 2D Custom-Size Banner Title. Optional title for width x length recommendations; default: empty.
  • Single-Length Custom Banner Title. Optional title for single-length recommendations; default: Configure custom length {dimension}.
  • Fallback Custom-Size Banner Type Label. Multilingual type label for custom-size recommendations; default: Custom size.
  • 2D Custom-Size Banner Type Label. Optional type label for width x length recommendations; default: empty.
  • Single-Length Custom Banner Type Label. Optional type label for single-length recommendations; default: Custom length.
  • Minimum 2D Width (mm). Lower width bound for 2D custom-size banners, where 0 means no lower bound; default: 0.
  • Maximum 2D Width (mm). Upper width bound for 2D custom-size banners, where 0 means no upper bound; default: 0.
  • Minimum 2D Length (mm). Lower length bound for 2D custom-size banners, where 0 means no lower bound; default: 0.
  • Maximum 2D Length (mm). Upper length bound for 2D custom-size banners, where 0 means no upper bound; default: 0.
  • Minimum Single Length (mm). Lower bound for single-length custom-size banners, where 0 means no lower bound; default: 0.
  • Maximum Single Length (mm). Upper bound for single-length custom-size banners, where 0 means no upper bound; default: 0.

Use real catalogue naming conventions in the 2D and single-length keyword fields. The nearby-size scan uses active product names. A bare number needs suitable single-length query keywords before it can be treated as a length.

For example, set 2D Suggestion Label Template to Shower tray {dimension} and 2D Suggestion Search Template to shower tray {dimension}. A custom 2D URL can use /custom-shower-tray?width={width}&height={height}&q={query}. Supply a destination URL or verify the optional mprbespoke integration. A recommendation is a link to your configurator, not a product made automatically by search.

Configure appearance

Open Search Revolution > Display > Appearance.

  • Dropdown Width. Dropdown width mode: auto, full, or fixed; default: auto.
  • Dropdown Max Width (px). Maximum dropdown width in fixed/auto layouts; default: 800.
  • Product Columns. Number of product columns in the dropdown; default: 1.
  • Product Columns (Wide Screens). Product columns above the wide breakpoint; default: 2.
  • Wide Screen Breakpoint (px). Screen width for wide layout; default: 1200.
  • Enable Load More. Uses a load-more button instead of showing every product at once; default: true.
  • Initial Results Count. Products shown before load more; default: 12.
  • Load More Count. Products added per load-more click; default: 6.
  • Primary Color. Main accent color for buttons, links, and highlights; default: empty, auto-detected when possible.
  • Primary Hover. Hover color for primary elements; default: empty, auto-computed when possible.
  • Text Color. Main text color; default: empty.
  • Muted Text. Secondary text color; default: empty.
  • Background Color. Main background color; default: empty.
  • Border Color. Border color for cards, inputs, and dividers; default: empty.
  • Border Radius. CSS border-radius value; default: empty.
  • Success Color. Color for in-stock and success indicators; default: empty.
  • Danger Color. Color for out-of-stock and error indicators; default: empty.
  • Font Family. CSS font-family for module UI; default: empty, inherited from theme.

Use the layout values to adjust the dropdown and incremental results. The old Search Page Layout selector is absent from the current form. Check the full listing against your theme's available columns and listing templates.

The Appearance screen also includes shared theme styles. Leave colors empty to use the available theme detection and inheritance. Add CSS in your theme stylesheet when you need a targeted adjustment:

.mpr-sr-search-container .mpr-sr-dropdown { border-radius: 6px; }
.mpr-sr-page-product-name mark, .mpr-sr-match { background: #fff3cd; }
.mpr-sr-page-loadmore-btn { min-width: 180px; }

Configure analytics and SEO pages

Open Search Revolution > Analytics > Tracking Settings.

  • Enable Analytics. Tracks search query behavior; default: true.
  • Track Clicks. Tracks clicked search results; default: true.
  • Track Conversions. Marks tracked search clicks as converted when the clicked product is later purchased; default: true.
  • Adaptive relevance ranking. Uses clicks, CTR, and conversions to reorder products that already match the query; default: true.
  • Behavior lookback days. Number of recent days used for adaptive ranking; default: 90.
  • Exact-query click weight. Ranking points added for clicks from the same query; default: 2.5.
  • Related-query click weight. Ranking points added for clicks from refined or related queries; default: 0.8.
  • Conversion weight. Ranking points added for tracked purchases after a search click; default: 7.5.

Passive query retention days defaults to 90. Use it to bound passive query history. Clicks and conversions contribute to adaptive ranking only when the relevant tracking and matching purchase attribution are available. View Search Queries and the Dashboard after real test activity.

Open SEO > SEO Pages to create a landing page. Fill Search Query, URL Key, Indexable, Active, Meta Title, Meta Description, H1 Title, Short description (top intro) and Description (long, below products). For example, use query black shower tray and key black-shower-tray.

Use the generated page link for your shop and language. Localized search route prefixes include English search/results, German suchergebnisse, French resultats-de-recherche, Polish wyniki-wyszukiwania, Italian risultati-di-ricerca and Spanish resultados-de-busqueda. A URL key is the page segment, not the entire route.

The module can add active indexable SEO pages through gSitemapAppendUrls. Sitemap inclusion is on by default (1) and has no separate field on the current main form. Check your installed sitemap provider and generated sitemap. Keep thin or unfinished pages non-indexable.

Optional runtime integrations

Most defaults below are runtime options without fields on the settings forms. AI Search, AI Provider, AI API Key and AI Model are available in Settings > Configuration, alongside provider, model, call-limit and spending settings. AI search is disabled by default; the other runtime options below remain integration settings.

  • Recently Viewed. Shows recently viewed products in the search experience; default: true.
  • Recently Viewed Limit. Number of recently viewed products shown; default: 6.
  • Buy Again. Shows previously purchased products for logged-in customers; default: true.
  • Buy Again Limit. Number of buy-again products shown; default: 4.
  • Recommendations. Shows recommended products; default: true.
  • Recommendations Limit. Number of recommendations shown; default: 4.
  • Sync History. Syncs search history across devices for logged-in customers; default: true.
  • Voice Search. Enables browser voice-search controls when available; default: false.
  • Voice Search Language. Browser speech-recognition language, or automatic detection; default: auto.
  • AI Search. Enables optional AI-assisted search endpoints when configured; default: false.
  • AI Provider. AI provider used by the optional AI search feature; default: claude.
  • AI API Key. API key for the optional AI provider; default: empty.
  • AI Model. Explicit AI model override; default: empty.
  • External API. Enables the module's external API controller; default: false.
  • API Allowed Origins. CORS origin list for external API calls; default: *.

The external API requires a valid Bearer token with endpoint permissions. Allowed origins alone do not authorize access. Browser voice recognition depends on browser support. AI requests need a configured provider endpoint and model. Anthropic requires an API key; an OpenAI-compatible server can work without a key if it allows unauthenticated requests. The saved disabled defaults do not make AI search operational.

Other modules register descriptors through actionMprSearchRevolutionRegisterContentProviders. The registry uses provider API version 2 and runs each descriptor's search callback. Install and test the content provider before adding its section ID to the order. Do not use the old actionMprSearchRevolutionRenderSections hook to register providers. Express checkout controls require the compatible mprexpresscheckout module.

Verify and troubleshoot

  1. Run Settings > Integrity.
  2. Type a known product name, reference and typo. Confirm requests reach the module AJAX controller and the intended product appears.
  3. Test desktop and mobile fields, keyboard navigation and normal form submission.
  4. Test one synonym, exact redirect, structured pattern and boost independently.
  5. Open the full results page. Test sorting, price/stock/discount filters, feature/attribute filters and incremental results supported by your theme.
  6. Open one active SEO page in each configured language. Check H1, metadata, robots and sitemap inclusion.
  7. Click a result and validate a test purchase. Check analytics without assuming every click becomes a conversion.

If the dropdown does not appear, check Enable Module, Search Input Selector, minimum length, browser errors and loaded assets. If a product is missing, inspect shop/language visibility, exclusions, catalogue data and simulator results. Tighten typo matching or add a synonym when vague queries rank poorly. Temporary disabling preserves analytics data; uninstall is a separate operation.

Uninstall

Back up queries, synonyms, redirects, patterns, boosts, SEO pages and settings first. Uninstall removes module admin tabs, front-controller page records and its schema, and unregisters its shared holiday usage. Do not expect analytics data to survive. Restore or re-enable the theme's native search integration and retest search submission. Replace any inbound links to removed SEO search pages.

Compatibility

Requires PrestaShop 1.7.0 or later and PHP 7.1 or later.

Questions

2

Does normal search send queries to an external search service?

Normal search runs locally and can store query analytics in your PrestaShop database. Optional Smart search can send queries to the configured AI provider and is disabled by default. Configure it under Settings > Configuration; an API key is optional for OpenAI-compatible servers that allow unauthenticated requests.

Which search data is separated by shop?

Search records such as synonyms, query analytics, SEO pages and saved customer search history use the shop ID. Manage and test them in the intended shop context. This does not mean every general module setting has a separate value for each shop.

Known Issues

40

Security hardening

ResolvedUpdated:
Fixed in: 2.26.2
Security hardening for search back-office actions.

Translated back-office text

ResolvedUpdated:
Fixed in: 2.26.2
Some back-office text remained in English even when another language was selected. Labels now use the available translations.

Search scripts load in the wrong order

ResolvedUpdated:
Fixed in: 2.26.2
Search controls could fail when scripts were loaded or combined in the wrong order. Required search scripts now load before the controls that use them.

Invalid landing-page records cause an error

ResolvedUpdated:
Fixed in: 2.26.2
Opening an invalid search landing-page record could trigger an unexpected error. The back office now displays a clear error message.

Holiday import screen fails to open

ResolvedUpdated:
Fixed in: 2.26.2
Opening the holiday import screen could fail instead of showing the form. The screen now renders correctly.

Sorting loses search filters or context

ResolvedUpdated:
Fixed in: 2.25.0
Changing sort order could drop allowed filters or the current search context. Sorting now retains them.

Search campaigns do not affect results correctly

ResolvedUpdated:
Fixed in: 2.25.0
New campaign selections could save without linked products, and relevance boosts could act like pinned positions. Campaign selections, fixed positions and relevance boosts now work as configured.

Search simulator disagrees with storefront results

ResolvedUpdated:
Fixed in: 2.25.0
The simulator could omit customer-behaviour ranking and campaign effects. It now uses the same ranking as the storefront and shows match reasons.

Save and stay leaves old search styling

ResolvedUpdated:
Fixed in: 2.25.0
Saving design settings with Save and stay could leave the previous styling in use. The styling now refreshes after saving.

Localized search entry links are incorrect

ResolvedUpdated:
Fixed in: 2.25.0
Search entry links from integrations or the native search page could use the wrong localized address. They now reach the correct search page.

Visitor searches overwrite merchant decisions

ResolvedUpdated:
Fixed in: 2.25.0
Visitor activity could alter saved merchant decisions or create search landing pages. Activity now leaves merchant decisions intact, and passive history expires without removing merchant-managed records.

Landing-page action or trending searches incomplete

ResolvedUpdated:
Fixed in: 2.25.0
The Create SEO page action could fail to display, and trending-search lists could be incomplete. Both now use the available eligible search records correctly.

Search help links lead to unavailable pages

ResolvedUpdated:
Fixed in: 2.23.0
Search help could link to pages that were not served by the installed integrations. Help links now come from the available integrations.

Virtual products missing from in-stock results

ResolvedUpdated:
Fixed in: 2.23.0
Virtual products could be treated as out of stock in search results or facet counts. They now count as available in both full-page and refreshed results.

Search results stay outdated

ResolvedUpdated:
Fixed in: 2.22.7
Cached result lists could remain outdated after catalogue changes. Result lists now refresh more reliably.

Search fails during a busy-period browser check

ResolvedUpdated:
Fixed in: 2.22.7
Background search requests could fail when the shop required a browser check during a busy period. Search now handles that response.

Empty selectors target the whole catalogue

ResolvedUpdated:
Fixed in: 2.22.7
Leaving an exclusion or boost selector untouched could unintentionally select all products. Untouched selectors now stay empty.

PHP 8.4 compatibility notices

ResolvedUpdated:
Fixed in: 2.22.7
Search could produce compatibility notices on PHP 8.4. The affected declarations are now compatible.

Search errors on PHP 7.1

ResolvedUpdated:
Fixed in: 2.22.7
Price range and synonym handling could fail on PHP 7.1. These search features now work on the supported PHP version.

Search page fails while resolving the language

ResolvedUpdated:
Fixed in: 2.22.7
Search pages could produce an error while resolving the current language. They now load normally.

Search exposes hidden prices or products

ResolvedUpdated:
Fixed in: 2.22.7
Results could display a price meant to be hidden or include a product outside its configured visibility. Search now respects those shop settings.

Search dashboard fails on a new installation

ResolvedUpdated:
Fixed in: 2.17.2
The search dashboard could fail on a new installation, and search patterns could use the wrong shop scope. The dashboard now loads with shop-specific patterns.

Cached search includes unavailable products

ResolvedUpdated:
Fixed in: 2.17.2
Cached results could retain products that had been disabled or removed from the current shop. Availability is now checked before displaying the page.

Search results squeezed by theme layout

ResolvedUpdated:
Fixed in: 2.17.2
Some themes forced the results page into a narrow content column. Search results now use the intended full width.

Search spinner restarts on every keystroke

ResolvedUpdated:
Fixed in: 2.17.2
Typing a query could repeatedly restart the loading indicator. The spinner now behaves consistently while results load.

Product exclusion selector never finishes loading

ResolvedUpdated:
Fixed in: 2.17.2
Opening the product selector for search exclusions could leave it loading indefinitely. The selector now returns available products.

Autocomplete clipped or restyled by the theme

ResolvedUpdated:
Fixed in: 2.10.1
Theme containers could clip the dropdown or theme styles could make its contents unreadable. Results now stay visible with a consistent appearance.

Autocomplete accessibility and touch handling

ResolvedUpdated:
Fixed in: 2.10.1
Search updates could be difficult to follow with assistive technology or touch input. Result announcements and touch handling have been improved.

Search page links fail or use the wrong layout

ResolvedUpdated:
Fixed in: 2.10.1
Some search page links could fail or cause the theme to use the wrong page layout. Search navigation now reaches the expected results page.

Background search actions fail on PrestaShop 9

ResolvedUpdated:
Fixed in: 2.10.1
Search requests that update the page in the background could fail on PrestaShop 9. These requests now complete correctly.

Search pagination loses current page or filter display

ResolvedUpdated:
Fixed in: 2.8.9
Background pagination could use the wrong page address or lose the active-filter area. The refreshed results now retain both.

Incorrect specific-price reductions in results

ResolvedUpdated:
Fixed in: 2.8.9
Search results could calculate a product specific-price reduction incorrectly. Displayed reductions now use the correct calculation.

Product view switcher produces an invalid address

ResolvedUpdated:
Fixed in: 2.8.9
Changing the product view on a search page could produce an invalid address. The view switcher now builds a usable link.

Search layout problems with some themes

ResolvedUpdated:
Fixed in: 2.8.9
Search headings could overflow on phones, the sidebar could appear on the wrong side or the product grid could use the wrong width. The affected theme layouts are now corrected.

Search landing-page heading and description missing

ResolvedUpdated:
Fixed in: 2.8.9
The saved heading and description could be absent from search landing pages. They now display above the results.

Language switching loses or duplicates search filters

ResolvedUpdated:
Fixed in: 2.8.9
Switching language on a filtered search page could lose selected filters or duplicate them in the address. The translated address now preserves the selection correctly.

Search filters return incorrect results

ResolvedUpdated:
Fixed in: 2.8.9
Filters on search landing pages could be omitted, applied twice or combined incorrectly, affecting results and pagination. Filtering now uses the selected conditions consistently.

Search dropdown positioning on mobile and resize

ResolvedUpdated:
Fixed in: 2.8.9
The dropdown could jump, appear in the wrong place or keep an outdated layout after resizing. Positioning and keyboard navigation are now more reliable.

Search results lead to a missing page

ResolvedUpdated:
Fixed in: 2.8.9
Some search result links could lead to a missing page. Search landing pages now provide the expected fallback.

Dropdown clips behind the product listing on category pages

ResolvedUpdated:
Fixed in: 2.9.5

On category pages, the search dropdown is clipped by the product listing container's overflow:hidden.

Resolution note

Fixed by rendering the dropdown as a direct child of body with absolute positioning calculated from the input's bounding rect.

Feature Requests

24

Implemented

Adaptive search ranking from clicks and purchases

Implemented
Matching products are ranked by relevance using clicks and purchases recorded for each search query. Adaptive ranking and signal weights are configured in the module’s Analytics settings.

Nearby size alternatives for dimension searches

Implemented
Dimension searches without an exact match can show products with nearby catalogue sizes. Nearby-size suggestions and custom-size recommendations have separate settings in the module.

Scheduled and targeted search boosts

Implemented
Configure search boosts with schedules and targeting conditions.

Search simulator

Implemented
Preview how search terms match and rank products in the back office.

Search history

Implemented
Show saved search history when customers return to the search field.

Full search results page

Implemented
Give customers a dedicated search page with a search bar, product results and sidebar filters, including catalogue browsing without a search term.

Localized search addresses and metadata

Implemented
Use localized search and pagination addresses with titles and descriptions that reflect the selected filters.

Search landing-page descriptions

Implemented
Add a short description above a search landing-page listing and a longer description below it.

Additional search content sections

Implemented
Show configured content sections, such as blog and FAQ results, alongside product search.

Sales-aware search sorting

Implemented
Include sales in relevance ranking and configure date-based ordering for equally relevant products.

Adaptive search ranking

Implemented
Improve search ordering using learned customer search and product interaction signals.

Size-based recommendations

Implemented
Show nearby product dimensions and configure recommendations for custom sizes when an exact size is unavailable.

Helpful empty search results

Implemented
Show popular searches and search landing pages when there are no matching products.

Multilingual administration

Implemented
Use search administration in German, French, Spanish, Italian and Polish.

One-click module updates

Implemented
Check for and install module updates from the back office.

Exact-name search priority

Implemented
Rank exact product-name matches above products that repeat many of the search keywords.

Missing-page search recovery

Implemented
Offer search-based recovery suggestions on missing pages and cooperate with a dedicated missing-page integration when present.

Exclude incomplete products

Implemented
Independently exclude products without a shop image, meaningful category, description in the current language or base price.

Manual product exclusions

Implemented
Choose individual products to hide from search through the product selector.

Context-sensitive content search

Implemented
Order product and content sections according to the search context and use configured section labels across the dropdown and results pages.

Fuzzy search matching

Implemented
Find relevant products when customer search terms do not exactly match the stored wording.

Consistent friendly search links

Implemented
Use consistent friendly search addresses with direct redirects from older search addresses.

Product pinning and relevance boosts

Implemented
Choose a fixed result position or add relevance points to campaign products. Campaigns respect their schedule and the customer filters.

Search landing-page cache integration

Implemented
Allow search landing pages to be recognized as product listings by Performance Revolution page caching.

Changelog

v2.17.22026-09-08

  • Fixed: back-office dashboard crashed on fresh installs (search patterns are now shop-scoped like synonyms, rewrites and boosts; existing patterns are migrated automatically)
  • Cross-shop protection on every pattern admin action
  • Fixed: rewrites hit counter column mismatch
  • Shared search engine with fuzzy matching and sort-preserving canonical listings
  • Performance: bulk product hydration, cached scored pools, paginated boosted results
  • Manual product exclusions and exclusion of incomplete products from search
  • Results page renders full-width on themes that hard-size the content column
  • Configuration split into dedicated feature screens
Older releases

v2.8.132026-05-27

  • AddedLearn adaptive search signals
  • AddedAdd adaptive search ranking
  • AddedAdd localized search sort URLs
  • AddedRender nearby dimension products
  • AddedMake dimension search recommendations configurable
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedMigrate MPR_HOLIDAYS_MODULES from ps_configuration to ConfigTable
  • FixedAlign search revolution runtime release
  • FixedHarden search routing and theme styles
  • FixedStabilize search URLs and front init
  • FixedCalculate specific price reductions correctly

v1.6.02026-04-20

  • AddedDropdown padding rework, fix %s translation bug, admin filter types
  • AddedSplit SEO-page description into description_short (top) + description (bottom)
  • AddedBlend sales into relevance sort with configurable date tiebreaker
  • AddedLocalized page keywords + route variants (strona/seite/pagina)
  • Addedautomatic theme detection for Classic and Hummingbird style compatibility
  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedExtract spacing variables, replace hardcoded 14px padding
  • ImprovedDelegate ids_only facet-pool search to lightweight getMatchingProductIds
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • Improvedsettings form rebuilt with modern configuration pattern
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedAJAX pagination on SEO search pages returns correct current_url
  • FixedContext-aware footer text and aligned padding
  • FixedHide "View all results for" footer on default focus
  • Fixedvarious stability and compatibility improvements (27 fixes total)
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.5.22026-02-09

  • AddedPS 9 / Hummingbird theme compatibility
  • Fixedkeyboard navigation accessibility regression in autocomplete dropdown
  • Fixededge-case typo-tolerance collision for 4-character queries with double consonants

v1.5.02025-11-19

  • Addedsynonym dictionary — admin can map marketing terms to technical product names
  • Addedconfigurable fuzzy-match distance per language
  • Improvedserver-side ranking: boost recently-added products in relevance score
  • Optimized index rebuild — incremental updates instead of full reindex on product save

v1.4.02025-09-03

  • Addedreal-time search-analytics dashboard — top queries, zero-result queries, CTR
  • Addedsuggestion blacklist to suppress irrelevant completions
  • Improvedmultilingual stemming with Snowball algorithm per language

v1.3.02025-07-08

  • Addedimage thumbnail in suggestion dropdown for matched products
  • Addedcategory and brand filters in search results panel
  • Improvedquery debounce — configurable 200-500 ms to reduce API calls
  • Fixedsuggestion panel overflow on narrow mobile viewports

v1.2.02025-05-12

  • Addedserver-side search index stored in MySQL full-text table
  • Addedweighted field scoring (name > reference > description > tags)
  • Improvedsearch results page with relevance-sorted product grid

v1.1.02025-03-24

  • Addedreal-time AJAX suggestions with configurable minimum character threshold
  • Added'no results' fallback with category browse suggestions
  • Improvedtypo-tolerance using Damerau-Levenshtein edit distance

v1.0.02025-01-21

  • Initialrelease: AJAX search with real-time suggestions for PrestaShop
  • InitialInstant product suggestions as user types — no page reload
  • InitialBack-office configuration for result count, highlight colour, and field weights
  • InitialCompatible with PS 1.7.x and PS 8.x

Demo

Test the full module before you buy

Buy a licence later and keep your settings.

  • Your 30-day demo Test it on your own shop for 30 days from the first install.
  • Ready demo shop Explore a ready demo shop in your browser.
  • No registration No account, email or store domain needed.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top