# Modules and extensions: buy, build, repair

> An online shop is rarely defined by its platform, but by the modules added to it. This section brings together twenty-four pages on that ground: choosing between buying and building, scoping a need, and understanding what happens when a module stops working.

- Source canonique : [https://allaux.fr/en/modules](https://allaux.fr/en/modules)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Who this section is for

People arrive here in two very different states of mind. Either a function is missing: a product configurator, instalment payments, a tracking screen for the team, a notification that does not exist as standard. Or an installed module is causing trouble: it stopped showing after an update, it clashes with another one, it slows every page down, or its vendor has gone quiet.

In both cases the underlying question is the same: how far should you lean on what already exists, and at what point is it better to write code you control. These pages answer by giving the criteria rather than a single recommendation — the right call depends on order volume, on how long the shop is expected to live, and on who will maintain it afterwards.

## How the section is organised

The twenty-four pages follow the life of a module. Decision pages first: buy or build, official, third party or bespoke, what actually drives the price, how to scope a need before asking for a quote. Then the most common functional needs: subscriptions and member areas, deposits and instalments, configurators, PDF documents, notifications, an extra field on a product or an order, a business screen in the admin, after-sales handling, background processing.

Then the failures: a module broken by an update, a conflict between two modules, an active module that displays nothing, overwritten changes, a module slowing the shop down, a vendor that disappeared. And finally the life cycle: auditing an existing set of modules, testing before production, uninstalling cleanly, maintaining over time, taking over unfinished work.

## What a module actually does to your shop

A module is not a brick sitting beside the site: it fits inside it. On PrestaShop it attaches to hooks, adds its own tables, and may drop a file into override/ to change the behaviour of a core class. That is where most conflicts start: two modules that want to override the same method cannot coexist, and the second simply fails to place its override, often with nothing visible to the merchant.

On WooCommerce the equivalent mechanism runs through actions and filters, and through templates copied into the child theme under woocommerce/. Those copies do not follow the extension's updates: when WooCommerce changes a template, the copy keeps being used as it is, and the page renders from an outdated version. It is the most ordinary reason a checkout loses a legal notice or a field after a version bump.

Keeping those two mechanisms in mind is enough to see why a set of modules degrades over time, and why the question to ask before buying is not only whether it does what you want, but what it touches.

## Four pages for the most common questions

- **Buy a module or have one built** — The criteria that tip the decision either way, and the cases where buying costs more over time. ([/modules/acheter-ou-faire-developper](/modules/acheter-ou-faire-developper))
- **Conflict between two modules** — How to recognise a conflict, isolate it without breaking the shop, and what can be done when neither module can be changed. ([/modules/conflit-entre-deux-modules](/modules/conflit-entre-deux-modules))
- **Module broken after an update** — Why a platform update alone can disable a module, and what to check before reinstalling it. ([/modules/module-casse-apres-une-mise-a-jour](/modules/module-casse-apres-une-mise-a-jour))
- **What drives the price of a module** — What you actually pay for in bespoke work, and the items that make a quote vary threefold. ([/modules/ce-qui-fait-le-prix-d-un-module](/modules/ce-qui-fait-le-prix-d-un-module))

## ChatGPT Ads conversion tracking

- **ChatGPT Ads module for PrestaShop** — Deduplicated OpenAI pixel and Conversions API, oppref kept until the order, consent respected: built and installed by me. ([/prestashop/module-chatgpt-ads](/prestashop/module-chatgpt-ads))
- **ChatGPT Ads extension for WooCommerce** — OpenAI pixel and Conversions API, compatible with HPOS, the block checkout and consent plugins: built and installed by me. ([/wordpress-woocommerce/extension-chatgpt-ads](/wordpress-woocommerce/extension-chatgpt-ads))

## A module is not tested in production

> Installing a module changes the database, and uninstalling does not always undo what it created. A staging environment, even a rough one, costs less than a single bad surprise on the live shop.

## FAQ

### How many modules can a shop carry?

There is no fixed limit: what matters is what each one runs on every page. Ten well-written modules weigh less than three that query the database on every render. The page on modules slowing the shop down explains how to measure before uninstalling at random.

### Is a paid module more reliable than a free one?

Price says nothing about code quality. The best predictors are update frequency, stated compatibility with your platform version, and how the support responds. A paid module untouched for two years is riskier than a maintained free one.

### Can I have a purchased module modified?

Often yes technically, but any direct change disappears at the next update. The sound approach is to isolate the change in a companion module or a child theme so it survives updates to the original.

### My module's vendor has disappeared, what now?

The module keeps working while the platform stays put, but it will receive no more security fixes, and that is the real risk. Depending on complexity it can be taken over, replaced, or rewritten keeping only the function actually used.

### I can't describe my need in technical terms, is that a problem?

No. Describe the business action: who does what, when, and what should come out of it. Translating that into technical terms is part of the job.
