Skip to content

Multistore and Languages (PrestaShop)

Use this page when you operate more than one PrestaShop shop, when you serve more than one language, or when you are migrating a single-shop store to multistore.

  • A working multistore PrestaShop install (PrestaShop 1.7+ or 8+).
  • A working Kea install per the standard install flow.
  • Knowledge of which shop context you are operating in. The PrestaShop back office has a shop switcher in the top bar that controls the active configuration context.

The search is scoped to a (shop, language) pair. This means:

  • A product that is associated with multiple shops is searchable per shop — a storefront visitor on shop B does not see products that are only associated with shop A.
  • A product that is translated into multiple languages is searchable per language within each shop — a storefront visitor on shop B in German does not see the French translation of the product name.
  • A search query runs against the search for the current shop and language, as determined by the PrestaShop context.

In practice: a storefront visitor on shop B in German sees results from the search for (shop B, German). They will not see a product that is only associated with shop A. They will not see a product that is only translated into French.

The Kea configuration keys follow PrestaShop’s standard multistore override pattern:

  • A default row in the PrestaShop configuration applies to all shops.
  • A row with a specific shop set is an override for that shop.
  • A row with a specific shop group set (and no specific shop) is an override for that group.

When you save supported settings from the embedded dashboard in the PrestaShop back office, the effective values follow the currently selected shop context. This means:

  • Saving in the “All shops” context writes the default.
  • Saving in a specific shop context writes a per-shop override.
  • The override is read first, then the default, then the seeded default.

To change the configuration for a non-default shop, switch the shop context first using the shop switcher in the PrestaShop back office.

The PrestaShop configuration can be audited through the standard PrestaShop configuration APIs or through the PrestaShop back office Shop parameters → General → Multistore view. The audit shows the override pattern after a multistore install or migration.

A query hits the search for the current language only. The current language is determined by PrestaShop’s standard context detection: URL prefix, cookie, browser Accept-Language, and the language id set by PrestaShop.

The search is scoped to the current language as determined by the PrestaShop context. If a product is not translated into the current language, the result is still returned (the untranslated field is shown as empty in the current release) — this depends on your PrestaShop version and theme handling.

A per-language fallback order is not exposed in the current embedded dashboard. The result row for a missing translation is returned with empty translated fields.

Limitation Workaround
Bulk reindex always rebuilds for all shops and all languages There is no per-shop partial reindex exposed in the PrestaShop back office
The reindex is global, not per shop Wait for the global reindex to finish; do not run multiple reindexes in parallel
Per-shop overrides in the form save in the active shop context Switch shop context before saving to avoid silently creating an override

How to migrate from single-shop to multistore

Section titled “How to migrate from single-shop to multistore”
  1. Before enabling multistore in PrestaShop, note the current values of all Kea configuration keys.
  2. Enable multistore in PrestaShop (Shop parameters → General → Multistore).
  3. Create the additional shops under the new shop group.
  4. Run a full reindex from the dashboard. The reindex creates the search entries for the new shops.
  5. Re-verify configuration per shop through the configuration audit.
  6. Verify in preview for each shop and language. See Verify in Preview (PrestaShop).

After a successful multistore install or migration:

Check What you should see
Configuration audit One row per key per (shop group, shop) override
PrestaShop back office dashboard The indexing status area indicates a ready state
Storefront shop A, language X Returns results from (shop A, language X)
Storefront shop A, missing language Returns the product row with empty translated fields
Storefront shop B (added via multistore) Returns results from (shop B, …) only, not from (shop A, …)
Symptom Most likely cause Resolution
Shop B returns no results The full reindex did not run after the new shop was created Run a full reindex from the dashboard
Shop B returns results from shop A The query is not pinning the shop correctly Check the configuration; check the catalog shop associations
Configuration changes are not visible on a non-default shop You saved the form in the wrong shop context Switch shop context and re-save
The dashboard shows a different state per shop The reindex is global, not per shop Wait for the global reindex to finish

If a multistore migration goes wrong:

  • The Kea module does not modify the multistore configuration in PrestaShop. The worst case is incorrect search, not data loss.
  • A fresh full reindex rebuilds the search for all shops and all languages. Run it after correcting the shop associations in the catalog.