E-commerce

This content was generated with the assistance of AI and should be verified against the official documentation of each platform before being relied on in production.

This section’s bibliography lists the reference material consulted while preparing these pages.

Three ways to run an online store

An e-commerce platform has to do the same jobs whichever one you pick: keep a catalogue, price it, take a cart through a checkout, collect payment, calculate tax and shipping, record orders, and expose all of it to other systems. What differs is who runs the software, and that decides how much of the platform you can change.

  • Hosted SaaS. The vendor runs the servers, applies security fixes and upgrades the platform for every merchant at the same time. You configure a store and extend it only through the surfaces the vendor exposes: themes, apps, APIs and extensions that run on its infrastructure. Shopify is the example in this section. You never see the platform’s source code, you never patch it, and you do not choose the PHP or database version, but you also do not carry any of that operational work.

  • Self-hosted open source. You download the software, install it on a server you control (or rent from a hosting company) and run it yourself. You can read and change everything, install any extension and choose the stack, and you are responsible for hosting, backups, updates, performance and security patches. PrestaShop (a standalone PHP and Symfony application) and WooCommerce (a plugin for WordPress) are the examples, and so is Magento Open Source.

  • Enterprise PaaS or SaaS. Adobe Commerce is the licensed edition of the Magento code base. It can be installed on your own servers, run on Adobe Commerce on Cloud infrastructure (a platform as a service where Adobe manages the hosting environment and you deploy your code), or consumed as Adobe Commerce as a Cloud Service, a SaaS product. The extension model moves between these options: modules written in PHP run inside the application, while App Builder extensions run outside it and talk to it through APIs and events.

Every platform in this section offers four kinds of customization surface, drawn side by side in the figure below. A theme controls how the storefront looks. An extension (an app, a module or a plugin) adds behaviour. An API lets other systems read and write the store’s data. A headless build replaces the platform’s storefront with your own front end and uses the platform only as a commerce back end. The platforms differ in how much each surface lets you do, and the subsection landing pages explain the details for each one.

The customization surfaces of Shopify, PrestaShop, Magento and WooCommerce: theme, extension, API and headless

The four platforms

All baselines below were checked on 2026-10-27. Shopify is a service whose behaviour changes without a download, so its pages are tied to dated API versions; the three other platforms are software, so their pages are tied to the release you run.

Shopify is a hosted platform sold as a subscription, with plans from entry level to Shopify Plus. The section is written against the Admin, Storefront, Customer Account and Functions API version 2026-10, Shopify CLI 5.0.0, Hydrogen 2026-10, the React Router app template and Polaris web components 2.0. You build on it with Liquid themes, apps, checkout extensions, Shopify Functions and the GraphQL APIs, or you go headless with Hydrogen. Account-bound parts, for which this section needed a store, are documented from the official sources and are said to be not executed on the pages concerned.

PrestaShop is an open source PHP application on Symfony. The section is written against PrestaShop 9.2.0 (released 2026-09-30) with the Hummingbird 2.1.2 theme; the 8.2 line (8.2.8) is in security-only extended support and is mentioned where it behaves differently. You build on it with modules and hooks, Smarty themes, the legacy Webservice and the new Admin API, and the console commands of the Symfony application.

Magento is the PHP platform that exists as the free Magento Open Source and as the licensed Adobe Commerce editions. The section is written against Magento 2.4.9 (generally available 2026-05-12) and the community distribution Mage-OS 3.6.0 (2026-10-14, based on 2.4.9) on which the examples were run; the 2.4.10 line is in alpha. You build on it with modules (dependency injection, plugins, events, declarative schema), Luma or Hyvä themes, REST and GraphQL, and out-of-process extensions with App Builder.

WooCommerce is the e-commerce plugin for WordPress. The section is written against WooCommerce 11.2.1 (2026-10-09) on WordPress 7.1.3, with the 11.3 line in beta. You build on it with WordPress plugins and the hooks, CRUD objects and blocks of WooCommerce, block or classic themes, the REST API and the Store API, and WC-CLI.

All four subsections use one running example, Pocket Coffee, an invented specialty-coffee shop with a configurable product (origin, grind and size), a Coffee Club customer group, shipping zones for Spain and the rest of the European Union, two languages and a small custom extension, so the same shop can be compared as it is built four ways.

Which subsection should I read?

If you need …​ Read

A store running quickly, with the vendor handling servers, security and upgrades

Shopify, starting with Plans and Shopify Plus

Full control of the code and the server, in a mid-sized PHP application with a modern back office and a module system

PrestaShop, starting with Versions and Support

A large catalogue, B2B features, multiple stores and a mature enterprise ecosystem, with a choice of open source, licensed or cloud editions

Magento, starting with Editions and Ecosystem

An online shop added to a WordPress site, with content and commerce in one system and a very large extension market

WooCommerce, starting with Versions, Requirements and Release Cadence

To change the look of a storefront

The theme pages of each subsection, for example Shopify Theme Architecture, PrestaShop Themes, Magento Luma Themes and WooCommerce Themes

To add behaviour with code

Shopify Apps, PrestaShop Module Basics, Magento Module Anatomy and WooCommerce Extension Development

To connect another system through an API

Shopify Admin GraphQL API, PrestaShop Admin API, Magento REST and GraphQL APIs and WooCommerce REST API and Webhooks

A headless storefront

Shopify Storefront API and Hydrogen, Magento Hyvä, PWA Studio and Edge Delivery and WooCommerce Store API

To run a self-hosted store on several Kubernetes nodes with a managed database

The cloud-deployment pages of each subsection, starting with WooCommerce, PrestaShop and Magento

A decision between the four, with dated numbers

Comparison

A one-page printable summary of one platform

Shopify, PrestaShop, Magento and WooCommerce cheat sheets

Each subsection landing page ends with a learning path that orders its pages for a newcomer and lists what could not be run while writing it.

What’s covered

Comparison

  • Comparison — feature matrix, dated metrics for popularity, performance, security and cost, charts, scores and recommendations by purpose.

The section reuses the existing guides instead of repeating them; each of the pages below is linked from the e-commerce pages that need it.

Existing page How the e-commerce section uses it

PHP

Composer, PSR standards, PHPUnit, static analysis, OPcache and cryptography, linked from the PrestaShop, Magento and WooCommerce pages for PHP basics.

PHP with Laravel

The build-it-yourself PHP alternative when none of the four platforms fits, referred to by the comparison.

Ruby

Liquid, the Shopify template language, originates in Ruby.

Rust, JavaScript and TypeScript

The languages of Shopify Functions (Rust, or JavaScript compiled to WebAssembly) and of the app and extension code.

React and Next.js

Shopify app interfaces (React Router, Polaris), Hydrogen storefronts, and the block and admin interfaces of WooCommerce.

GraphQL

GraphQL basics for the Shopify Admin and Storefront APIs and the Magento GraphQL API.

OAuth

The OAuth flows behind Shopify authentication, the PrestaShop Admin API (client credentials), Magento API authentication and WooCommerce REST API (OAuth 1.0a).

Docker

The local environments: the PrestaShop Docker image, Magento Cloud Docker and wp-env.

E2E testing in the browser

Playwright, used by the PrestaShop UI tests and the WooCommerce end-to-end utilities.

Model Context Protocol

The WooCommerce MCP developer preview and the Shopify Dev MCP server.

Accessibility and Media optimization

Theme performance, search engine optimization and accessibility pages.

Documentation tools comparison, Cloud providers comparison and Programming languages comparison

The comparison pages whose structure, figures and data layout the e-commerce comparison follows.

WordPress in CMS

The WordPress platform that WooCommerce runs on: plugins, hooks, block themes, WP-CLI, WP-Cron, the REST API, performance and security.

The WooCommerce pages explain the WordPress concepts they need (plugins, hooks, blocks, block themes and WP-CLI) briefly and link to the matching pages of the WordPress section for depth.

Bibliography

Every source below is the official site, repository or documentation page of the platform, tool, standard or service it supports, except for a few secondary sources (third-party articles, Wikipedia and a book distributor page), which are marked as such; each entry links to its source. Each group starts with the main entry points, followed by every page that the subsection and comparison pages cite under their own == References headings, so a claim on any page can be traced to the page it came from. Links were opened on 2026-10-27 from the authoring environment. Entries marked (unverified) could not be opened from it (the site refused automated requests, answered with a bot challenge or returned an error status), so open them and confirm the content, version and status before you rely on them. Where a page of the official documentation is only reachable with or without a trailing slash, the form that works is the one listed.

Shopify

Main entry points

Pages cited from shopify.dev (519 pages)

Pages cited from help.shopify.com (56 pages)

Pages cited from shopify.github.io (2 pages)

PrestaShop

Main entry points

Pages cited from devdocs.prestashop-project.org (189 pages)

Pages cited from github.com (35 pages)

Pages cited from docs.prestashop-project.org (2 pages)

Pages cited from nightly.prestashop-project.org (1 page)

Pages cited from security.friendsofpresta.org (1 page)

Pages cited from validator.prestashop.com (1 page)

Pages cited from www.prestashop-project.org (1 page)

Magento and Adobe Commerce

Main entry points

Pages cited from developer.adobe.com (230 pages)

Pages cited from experienceleague.adobe.com (137 pages)

Pages cited from docs.warden.dev (2 pages)

Pages cited from www.adobe.com (2 pages)

Pages cited from business.adobe.com (1 page)

Pages cited from repo.mage-os.org (1 page)

WooCommerce and WordPress

Main entry points

Pages cited from developer.woocommerce.com (129 pages)

Pages cited from developer.wordpress.org (60 pages)

Pages cited from woocommerce.com (46 pages)

Pages cited from github.com (39 pages)

Pages cited from api.wordpress.org (1 page)

Pages cited from plugins.svn.wordpress.org (1 page)

Pages cited from woocommerce.wordpress.com (1 page)

Pages cited from wp-cli.org (1 page)

Pages cited from wptavern.com (1 page)

Books

The books below were consulted for the topics they cover and rewritten for the current platform versions; where a book describes an older release, the pages say so. Publisher pages from Packt and Springer (Apress) refused automated requests or served a bot challenge, so every entry that links to them is marked (unverified); the ISBN, title, author and year of each were cross-checked against Open Library and Crossref instead.

  • Ivan Djordjevic, Shopify Theme Customization with Liquid, Packt, 2021, ISBN 978-1-80181-396-9: publisher page (unverified).

  • Michael Larkin, Shopify Application Development, Packt, 2014, ISBN 978-1-78328-105-3: publisher page (unverified).

  • Paul Waddy, Shopify For Dummies, Wiley, 2021 (the catalogue lists the print edition as 2021-11), ISBN 978-0-730-39445-7: publisher page.

  • Gavin Ballard, The Definitive Guide to Shopify Themes, Apress, 2017, ISBN 978-1-4842-2640-7: publisher page (unverified; Springer serves a bot challenge).

  • Jason R. Rich, Ultimate Guide to Shopify, Entrepreneur Press, 2022, ISBN 978-1-64201-149-4: distributor page at Simon & Schuster (secondary source, unverified; the publisher’s own site, Entrepreneur Press, has no product page for the title that could be opened).

  • Arnaldo Pérez Castaño, PrestaShop Recipes, Apress, 2017, ISBN 978-1-4842-2573-8: publisher page (unverified).

  • Hayati Hashim, PrestaShop 1.3 Theming Beginner’s Guide, Packt, 2010, ISBN 978-1-84951-172-8: publisher page (unverified).

  • Jose A. Tizon and John Horton, PrestaShop 1.5 Beginner’s Guide, Packt, 2013, ISBN 978-1-78216-106-6: publisher page (unverified).

  • Fernando J. Miguel and Richard Carter, Magento 2 Theme Design, 2nd edition, Packt, 2016, ISBN 978-1-78588-822-9: publisher page (unverified).

  • Fernando J. Miguel, Magento 2 Development Essentials, Packt, 2016, ISBN 978-1-78528-989-7: publisher page (unverified).

  • Ray Bogman and Vladimir Kerkhoff, Magento 2 Cookbook, Packt, 2016, ISBN 978-1-78588-706-2: publisher page (unverified).

  • Viktor Khliupko, Magento 2 DIY, Apress, 2016 (first published December 2016; Springer lists 2017), ISBN 978-1-4842-2459-5: publisher page (unverified).

  • Lisa Sims, Building Your Online Store With WordPress and WooCommerce, Apress, 2018, ISBN 978-1-4842-3845-5: publisher page (unverified).

  • Patrick Rauland, WooCommerce Cookbook, Packt, 2015, ISBN 978-1-78439-405-9: Packt subscription catalogue page (unverified; no product page on www.packtpub.com could be found, so the subscription catalogue entry is the one listed).

  • Robbert Ravensbergen, Building E-Commerce Solutions with WooCommerce, 2nd edition, Packt, 2015, ISBN 978-1-78588-156-5: publisher page (unverified).

Comparison data sources and security research

Main entry points

Pages cited from www.npmjs.com (8 pages)

Pages cited from api.github.com (1 page)

Pages cited from api.stackexchange.com (1 page)

Pages cited from ecommerce-platforms.com (1 page)

Pages cited from en.wikipedia.org (1 page)

Pages cited from sansec.io (1 page)

Pages cited from tech.co (1 page)

Standards and general tooling

Languages, frameworks, standards and tools that the platform pages rely on, such as PHP, Symfony, Smarty, Doctrine, PSR standards, OAuth and the test tools.

Pages cited from ajv.js.org (2 pages)

Pages cited from datatracker.ietf.org (2 pages)

Pages cited from developer.mozilla.org (2 pages)

Pages cited from hub.docker.com (2 pages)

Pages cited from playwright.dev (2 pages)

Pages cited from api-platform.com (1 page)

Pages cited from dev.mysql.com (1 page)

Pages cited from devdocs.mage-os.org (1 page)

Pages cited from developer.wordpress.com (1 page)

Pages cited from docs.ddev.com (1 page)

Pages cited from docs.docker.com (2 pages)

Pages cited from docs.opensearch.org (1 page)

Pages cited from docs.phpunit.de (1 page)

Pages cited from getbootstrap.com (1 page)

Pages cited from getcomposer.org (1 page)

Pages cited from git-scm.com (1 page)

Pages cited from graphql.org (1 page)

Pages cited from httpd.apache.org (1 page)

Pages cited from json-schema.org (1 page)

Pages cited from jsonlines.org (1 page)

Pages cited from liquidjs.com (1 page)

Pages cited from modelcontextprotocol.io (1 page)

Pages cited from mutagen.io (1 page)

Pages cited from nginx.org (1 page)

Pages cited from oauth.net (1 page)

Pages cited from phpstan.org (1 page)

Pages cited from phpunit.de (1 page)

Pages cited from raw.githubusercontent.com (1 page)

Pages cited from rubygems.org (1 page)

Pages cited from ucp.dev (1 page)

Pages cited from varnish-cache.org (1 page)

Pages cited from www.doctrine-project.org (1 page)

Pages cited from www.pcisecuritystandards.org (1 page)

Pages cited from www.php-fig.org (1 page)

Pages cited from www.smarty.net (1 page)

Pages cited from www.w3.org (1 page)