Transform your Magento 2 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 Adobe Marketplace Install Doofinder from the Adobe Commerce Marketplace directly from your Magento admin, or via Composer:
composer require doofinder/doofinder-magento2
bin/magento setup:upgradeFrom GitHub (latest release)
Download the latest release zip and install it as a local Composer package, or copy directly into app/code/Doofinder/Feed.
Then Complete setup using our step-by-step installation guide.
Requirements
| Supported versions | |
|---|---|
| PHP | 7.3, 7.4, 8.1, 8.2, 8.3, 8.4 (8.0 not supported by Magento 2) |
| Magento | 2.3.x, 2.4.x |
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 β set your BASE_URL, Magento version, and Composer auth credentials, then make init. Optional overrides go in .env.local, which loads on top of .env.
Note
make doofinder-configure regenerates Doofinder/Feed/etc/config.xml and Doofinder/Feed/Helper/Constants.php from templates/. Many other targets depend on it β do not commit those files with non-production values.
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://). |
MAGENTO_VERSION |
Magento release to install. Adjust PHP_VERSION and COMPOSER_VERSION to match β see the compatibility matrix below. |
COMPOSER_AUTH_USERNAME |
Public key from your Magento Marketplace access key. |
COMPOSER_AUTH_PASSWORD |
Private key from the same access key. |
MYSQL_* |
Database credentials for the local shop. |
MAGENTO_ADMIN_USER / MAGENTO_ADMIN_PASSWORD |
Admin panel login after install. |
XDEBUG_HOST |
Docker bridge IP (172.17.0.1 on Linux; use host.docker.internal on macOS). |
Default access (Docker dev stack): After make init, the stack runs on the ports defined in docker-compose.yml (default mapping: 9012 β HTTP, 4012 β HTTPS). With the default BASE_URL=localhost from .env:
| URL | |
|---|---|
| Storefront (HTTP) | http://localhost:9012/ |
| Storefront (HTTPS) | https://localhost:4012/ |
| Admin (HTTP) | http://localhost:9012/admin |
| Admin (HTTPS) | https://localhost:4012/admin |
Admin login is MAGENTO_ADMIN_USER / MAGENTO_ADMIN_PASSWORD from .env (defaults: admin / admin123).
Use cases:
- First-time setup: Run
make initto build images, install Magento, and start containers. Usemake init-with-datato also load sample data. - 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. - Code quality check:
make consistency(runs PHP Code Sniffer inside Docker with theMagento2standard). - Shell in the web container:
make dev-console. - Start from scratch: Run
make cleanto drop Docker volumes and./app; typeDELETEwhen prompted, then runmake initfor a fresh Magento. - Debug with Xdebug: The stack enables Xdebug via
XDEBUG_CONFIGindocker-compose.yml. SetXDEBUG_HOSTandXDEBUG_KEYin.envor.env.local, configure your IDE to listen for connections, and browse the shop. - Varnish: Included but commented out in
docker-compose.yml. Uncomment to enable; remember to comment the9012:80port in thewebcontainer. See Configure the Commerce application to use Varnish.
| Magento | PHP |
|---|---|
| 2.4.5 β 2.4.8 | 8.1, 8.2, 8.3, 8.4 |
| 2.4.0 β 2.4.4 | 7.4, 8.1, 8.2 |
| 2.3.x | 7.3, 7.4 |
PHP 8.0 is not supported by Magento 2. PHP versions below 7.4 are not recommended.
- Need Help? Visit our Support Portal.
- Found a Bug? Please contact Doofinder Support.
- Want to contribute? PRs are welcome! Before pushing, make sure PHP Code Sniffer passes β use
make consistencyor runcomposer install && vendor/bin/phpcsdirectly (requires PHP >= 8.3).
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 Magento 2.
