Transform your PrestaShop search into a conversion machine. Join thousands of merchants using AI-powered search to increase sales and improve customer experience.
π Get Started for Free | π₯οΈ Live Demo | π Full Documentation
Doofinder turns your basic search bar into an advanced discovery engine. Using AI-powered searchandising and recommendations, we drive measurable gains in conversion and product discovery.
- AI Assistant β A smart shopping guide that helps customers find products through natural conversation.
- AI Smart Search β Understands intent and handles typos or synonyms effortlessly.
- Searchandising β Boost, hide, or pin products to run targeted campaigns.
- Personalized Recommendations β Intelligent cross-selling based on real customer behavior.
- Visual Search β Let your shoppers find products using images.
- Auto-Indexing β Your catalog stays in sync automatically as you scale.
From GitHub (latest release)
- Download the latest release zip.
- In your Back Office go to Modules β Module Manager β Upload a module and select the zip.
From PrestaShop Addons
Install Doofinder from PrestaShop Addons via the marketplace in your Back Office or the steps Addons gives you after download.
Then
Complete setup using our step-by-step installation guide.
Requirements
| Supported versions | |
|---|---|
| PHP | 5.4 β 8.4 |
| PrestaShop | 1.5.0.17 β 9.x (1.6, 1.7, 8.x, 9.x) |
For system requirements by version, see PrestaShop 1.7, PrestaShop 8, and PrestaShop 9.
This repository is optimized for local development using a Makefile and Docker.
.env sits at the repo root and powers both your Docker stack and the generated module files (what doofinder-configure pulls from templates/). It ships with sensible defaultsβskim it, adjust shop URL, PrestaShop tag, and plugin version, then make init. Optional overrides go in .env.local, which loads on top of .env.
Note
make doofinder-configure generates the plugin files from the templates/ directory (using .env) and runs make dump-autoload to regenerate the Composer autoloader. Many other targets depend on it, so running those targets keeps generated files in sync.
The root .env lists all variables with comments. For the dev stack, these are the ones you usually touch first:
| Variable | Role |
|---|---|
BASE_URL |
Shop hostname as seen by Docker (no https://). |
PRESTASHOP_DOCKER_TAG |
PrestaShop image/version used by the stack. |
MYSQL_* |
Database for the local shop. |
PS_* |
Installer options (language, country, domain, SSL, etc.). |
PS_ADMIN_EMAIL / PS_ADMIN_PASSWORD |
Back-office login after install. |
PS_FOLDER_ADMIN |
URL segment for the admin (see Default access below). |
Default access (Docker dev stack): After make init, open the shop using the host ports from docker-compose.yml (stock mapping: 9011 β HTTP, 4011 β HTTPS on the container). With the default BASE_URL=localhost and PS_FOLDER_ADMIN=4dm1n from .env, typical URLs are:
| URL | |
|---|---|
| Storefront (HTTP) | http://localhost:9011/ |
| Storefront (HTTPS) | https://localhost:4011/ |
| Back office (HTTP) | http://localhost:9011/4dm1n |
| Back office (HTTPS) | https://localhost:4011/4dm1n |
Back-office login is PS_ADMIN_EMAIL / PS_ADMIN_PASSWORD in .env (stock file uses test@example.com / admin123βchange these for anything beyond local-only use). make init prints usable links; if you change ports or BASE_URL, adjust accordingly.
Use cases:
- First-time setup: Run
make initonce to build images, install PrestaShop, and start containers. - Install the Doofinder module: after
make init, follow the installation guide. Alternatively, usemake doofinder-upgradefrom the CLI. - Start / stop the stack:
make start,make stop. - Uninstall the module:
make doofinder-uninstall. - Reinstall the module:
make doofinder-reinstall. - DB snapshot:
make db-backup(optionallymake db-backup prefix=_name). Restore withmake db-restore file=backup.sql.gz. - Clear cache:
make cache-flush. - Shell in the web container:
make dev-console. - Start from scratch: Run
make cleanto drop Docker volumes and./html; typeDELETEwhen prompted, then runmake initfor a fresh PrestaShop. - Debug with Xdebug: The stack already enables Xdebug in Docker. Set
XDEBUG_HOSTandXDEBUG_KEYin.envor.env.local(e.g.host.docker.internalon Docker Desktop, your host IP on Linux), use the same key in your IDE, listen for connections, and browse the shop.
We test against a wide range of PrestaShop and PHP combinations to ensure stability. Example combinations from PrestaShop Docker Hub:
| PrestaShop | PHP |
|---|---|
| 8.2.1 | 8.1, 8.0, 7.4, 7.3, 7.2 |
| 8.1.7 | 8.1, 8.0, 7.4, 7.3, 7.2 |
| 8.0.5 | 8.1, 8.0, 7.4, 7.3, 7.2 |
| 1.7.8.9 | 7.4, 7.3, 7.2, 7.1 |
| 1.6 | 7.2, 7.1, 7.0, 5.6 |
| 1.51 | 7.2, 7.1, 7.0, 5.6, 5.5 |
Set PRESTASHOP_DOCKER_TAG in the .env file and (if needed) PHP version in your Docker build args when using these combinations.
- Need Help? Visit our Support Portal.
- Found a Bug? Please contact Doofinder Support from the Doofinder website.
- Want to contribute? PRs are welcome!
If you find this plugin useful, please give us a β to support the project!
Ready to improve your store search? Get started with Doofinder for PrestaShop.
Footnotes
-
PrestaShop 1.5: patched for auto installation (see Dockerfile). Use MySQL 5.5 and without SSL. β©
