Search Landing Pages — Complete guide
Install, configure and operate Search Landing Pages: from the internal query report to the indexable SEO landing page with XML sitemap.
Overview
Search Landing Pages logs every internal search on your PrestaShop store and lets you turn the most frequent queries into indexable SEO landing pages: editorial content above and below a product listing rendered natively by your theme, clean URL, dedicated meta tags, canonical, XML sitemap and an optional 301 redirect from native search.
The module does not modify your theme or the native search behaviour (apart from the optional 301 redirect). It relies exclusively on standard hooks.
Installation
- In the back office, go to Modules > Module Manager > Upload a module.
- Upload the
dfsearchlanding-1.0.0.ziparchive and click Install. - The module automatically creates its tables, default settings and two tabs under Catalog: Search landing pages and Search queries (landing).
Compatible with PrestaShop 8.0 to 9.x, PHP 7.4 to 8.3, multistore and multilingual. No Composer dependency, no core file override.
Friendly URLs must be enabled in Shop Parameters > Traffic & SEO to benefit from clean URLs such as /search-landing/my-page.
Configuration
Open the module configuration page (Modules > DF Search Landing > Configure):
- Log internal search queries — records every front-office search (normalized query, hit count, result count, language, store). Enabled by default.
- Minimum query length — shorter queries are not logged. Default: 3 characters.
- 301 redirect matching searches — when a visitor searches for a query that has an active landing page, the results page 301-redirects to it. Enabled by default.
- URL prefix — landing pages are served at /prefix/friendly-url. Default:
search-landing. You can replace it withsearchfor instance. - Products per page — listing pagination size. Default: 24.
- Noindex empty landing pages — automatically switches a page to
noindex, followwhen it returns no products (anti thin-content protection). Enabled by default.
Recommended workflow
1. Let the logging run
After installation, let the module record searches for a few days or weeks depending on your traffic. Each query is normalized (lowercase, collapsed whitespace) and aggregated per language and per store.
2. Analyze the query report
Open Catalog > Search queries (landing). The list is sorted by hits in descending order and shows for each query: volume, number of results returned, language, date of last search and a badge indicating whether a landing page already exists.
High-volume queries with many results are your best candidates. High-volume queries with zero results also reveal gaps in your catalog or your search indexing.
3. Create the landing page in one click
Click Create landing page on a query row: the form opens pre-filled with the target query, plus a title and friendly URL generated automatically for each language. All that’s left is writing the editorial content.
The landing page form
- Search query — the targeted internal query. Used for the live listing and for the 301 redirect.
- Title (per language) — the page H1.
- Friendly URL (per language) — generated from the title when left empty. Uniqueness is checked per language.
- Meta title / Meta description (per language) — dedicated meta tags. When meta title is empty, the title is used.
- Top editorial content (per language, rich editor) — displayed above the listing. This is where your SEO copywriting lives.
- Bottom editorial content (per language, rich editor) — displayed below the listing: FAQ, buying guide, internal linking.
- Listing source — Live results of the query (the listing permanently mirrors the native search engine) or Manual selection.
- Products — in manual mode, a search field with autocomplete (name, reference or ID) lets you add products as chips. The insertion order is the display order.
- Indexable — when disabled, the page is served with
noindex, followand leaves the sitemap. - Active — when disabled, the page returns a 404.
In manual mode, only active products visible in search are displayed on the front office. Products deleted from the catalog are automatically removed from associations.
SEO: canonical, robots and sitemap
Canonical and pagination
Each landing page emits a self-referencing canonical. Paginated pages (?page=2, ?page=3…) emit their own paginated canonical — no canonical pointing to page 1, in line with Google’s recommendations.
Robots directive
An indexable landing page is served with index, follow. It switches to noindex, follow if you disable its Indexable switch, or automatically when it returns no products and the protection option is enabled.
Dedicated XML sitemap
The module exposes a sitemap at /{prefix}-sitemap.xml (default: /search-landing-sitemap.xml). It lists all active, indexable landing pages in every active store language, with their last modification date. Submit this URL in Google Search Console (Sitemaps > Add a sitemap).
301 redirect
When the option is enabled and a visitor runs a search whose normalized query matches an active landing page, the native results page responds with a 301 to the landing page. The comparison ignores case and extra whitespace.
Multilingual and multistore
All content fields are translatable language by language in the form. Landing pages are associated per store in a multistore context: a page created in one store’s context only appears on that store. Query logging is also segmented per language and per store.
Troubleshooting
Clean URLs return a 404
Check that friendly URLs are enabled, then clear the cache (Advanced Parameters > Performance). If you just changed the URL prefix, a cache clear is also recommended.
Searches are not being logged
Check that the logging option is enabled and that the query reaches the configured minimum length. The module listens to the standard actionSearch hook; if your store uses a third-party search module that bypasses native search without triggering this hook, logging may not apply.
The 301 redirect does not trigger
Matching is done on the exact normalized query (lowercase, collapsed whitespace). Check that the landing page is active and that its query matches what visitors actually type — the query report shows you the exact normalized form.
Uninstallation
Uninstalling removes the module tables (pages, translations, product associations, query statistics), its admin tabs and its settings. Export your editorial content beforehand if you want to keep it.