Available for projects & agency overflow · Quick reply, from the person who does the work

Maintaining a custom module over time

A custom module is not a finished object. The platform changes version, PHP removes functions, a third-party API changes its response format: the module hasn’t moved, but its environment didn’t wait for it.

Describe my issue Chat on WhatsApp

What moves under a module even when nobody touches it

Three layers evolve independently of you. The platform first: a major version change can remove a hook point, rename a method or replace an entire section of the admin. PHP next: each release drops deprecated functions, and a module written a few years ago can stop working at the first server update, often decided by the host rather than by you. Finally the outside services: a carrier, a payment gateway or a management system can change its interface, with notice nobody passes on to you unless you follow their technical announcements.

A module that only displays things lasts a long time. A module that talks to an outside system is the one that needs the most attention, because the failure will come from somewhere other than its own code.

What I actually do under maintenance

  • Track versions

    Before each platform or PHP upgrade, check that the module stays compatible, and adapt it when it doesn’t.

  • Watch outside exchanges

    Log calls to third-party services, so a failure is visible the day it happens rather than a week later.

  • Fix unforeseen cases

    In production a module meets situations testing never imagined. Those fixes are part of the normal life of a build.

  • Keep the code handover-ready

    Up-to-date sources, identified dependencies, a written install procedure: enough to hand the module to someone else at any time.

What maintenance does not cover

I keep three things clearly apart, because conflating them is the first source of disagreement. Fixing a defect in the module is maintenance. Adapting to an outside change — a new major platform release, a new format imposed by a partner — is identifiable work, quoted separately when it is significant. Adding a new feature is development, however small, and it is treated as such.

I say this up front because the opposite doesn’t hold: a maintenance retainer that absorbed any change request would either be overpriced or honoured at the expense of what it exists for. Stating the boundary beats discovering it mid-project.

Related pages

  • 2019 e-commerce developer since
  • 3 platforms: PrestaShop, WooCommerce, Shopify
  • 3 working languages: FR, EN, TR
  • 100 % direct contact with the developer

No middleman: the person who replies is the one who works on the code.

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

attente
plateforme
historique (facultatif)
frequence-souhaitee (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Is maintaining a module compulsory?
No, and a simple, well-isolated module can run for a long time untouched. It becomes necessary as soon as the module exchanges with an outside service or touches payment, because there the failure comes from outside.
What happens if I do nothing for two years?
Usually nothing visible, until the first PHP or platform upgrade. That is when the accumulation is paid for in one go, and picking things up after a long silence costs more than steady follow-up.
Do you maintain modules you didn’t write?
Yes, after spending time reading the code. I won’t commit to maintaining a module I couldn’t read, particularly if it ships in encoded form.
Does maintenance include backing up the store?
That is a separate subject, belonging to hosting and whole-site management. A module isn’t backed up separately from the rest: it is the complete store you need to be able to restore.