PrestaShop

Open-source online store builder

E-commerce Platforms ★ 9.2k stars Medium setup OSL-3.0

PrestaShop is a free, open-source e-commerce solution written in PHP. It offers a feature-rich back office, themes, and a marketplace of modules for building and managing online stores of any size.

Key features

  • Full-featured admin back office
  • Large module marketplace
  • Multi-store support
  • Multilingual catalog

Pros & cons

Strengths

  • Mature and well-documented
  • No license fees for core

Trade-offs

  • Paid modules can be expensive
  • Upgrades can be tricky

PrestaShop replaces

Last reviewed Aug 26, 2026 · 842 words

PrestaShop's core costs nothing under the OSL-3.0 licence; the store you actually open will not. A realistic launch budget for modules and a theme sits somewhere between 200 and 1,000 EUR at last check, because the things a real shop needs beyond the bundled basics (a payment gateway your customers recognise, a theme that is not the default, a shipping-rate calculator for your carrier, a proper SEO module) are sold on the Addons marketplace at roughly 40 to 300 EUR each. That is still cheaper than 3 years of Shopify, and unlike Shopify the code and the customer database are yours. Go in with the number, not the word "free".

Where the money actually goes

The back office is the best argument for PrestaShop: product combinations (size, colour, material) with per-combination stock and pricing, multi-store from one admin, a multilingual catalogue with per-language URLs, customer groups with B2B pricing, and a proper order workflow. All of that ships in the core. What does not ship is the long tail. Payment: PayPal and a couple of local gateways are free, most others are paid. Themes: the default is fine for testing and nobody launches with it. Shipping: flat rates are built in, live carrier rates are modules. My rule is to write the list of modules before installing, price it on the marketplace, and compare it against a WooCommerce build for the same shop. Roughly half the time Woo comes out cheaper because its ecosystem is bigger and its free tier deeper; the other half PrestaShop wins because the catalogue features Woo needs plugins for are already there.

Docker gets you a working shop in ten minutes, once

The official image installs itself on first boot when you tell it to. A compose file that works:

services:
  db:
    image: mariadb
    environment:
      MARIADB_ROOT_PASSWORD: change-me
      MARIADB_DATABASE: prestashop
    volumes:
      - ./db:/var/lib/mysql
  shop:
    image: prestashop/prestashop:latest
    ports:
      - "8080:80"
    environment:
      DB_SERVER: db
      DB_NAME: prestashop
      DB_USER: root
      DB_PASSWD: change-me
      PS_DOMAIN: shop.example.com
      PS_INSTALL_AUTO: 1
      PS_FOLDER_ADMIN: admin-k7x2q
      PS_FOLDER_INSTALL: install-k7x2q
    volumes:
      - ./shop:/var/www/html

Two of those lines are security, not convenience. PrestaShop refuses to run while a folder named install exists, and it warns endlessly if the admin folder is still called admin; renaming both through the env vars avoids the post-install shuffle. Once the container has finished the automatic install, delete the renamed install folder from ./shop and log in at /admin-k7x2q. The default admin credentials are printed in the image documentation and must be changed on first login. Put Caddy or another reverse proxy in front for TLS; PrestaShop will otherwise generate mixed-content links that break checkout.

Note that 512 MB of RAM is the honest minimum for a catalogue of a few hundred products with a handful of shoppers. PHP-FPM workers, MariaDB and the image cache all grow with traffic, and 2 GB is where a live shop stops feeling fragile.

Upgrades are the thing people get burned by

"Upgrades can be tricky" is the polite version. The core has its own upgrade module, and it works when every installed module and the theme are compatible with the target version, which is the part you cannot know in advance. Paid modules lag major releases by weeks to months, and an incompatible module can leave the admin blank after upgrading. The procedure that avoids tears: clone the database and the ./shop volume to a second compose stack, run the upgrade there, click through checkout end to end, and only then repeat on production. Budget an hour per major version per shop for this, and read the release's PHP version requirement before starting, because the container image tag and the PHP version are coupled.

PrestaShop against the rest of the category

The e-commerce category splits cleanly. WooCommerce is the pick when you already run WordPress or want the largest plugin pool. Magento is for teams with a developer on staff and a catalogue in the tens of thousands. PrestaShop is the middle: a standalone shop with a serious catalogue model that one motivated person can run, popular enough in France, Spain and Italy that agencies and modules for local carriers and tax rules are easy to find. If you are leaving Shopify for ownership reasons, this is the closest self-hosted match to what you had, back office included.

What I'd do

Price the module list first. If it lands under about 500 EUR and the catalogue needs combinations or multiple languages, run PrestaShop in Docker on a 2 GB box behind Caddy, rename the admin and install folders at install time, and keep a second stack for rehearsing upgrades. If the list runs long or the shop is simple, WooCommerce will be cheaper and easier to hire help for. Either way, nightly database dumps plus the ./shop folder off-box are the whole backup story, and they are not optional once real orders exist.

Compare PrestaShop

23 head-to-head comparisons.

Similar e-commerce platforms apps