AVENIM publishes La Gestion en Ligne, a rental management service. The site had existed since 2014 on a bought theme, a new version was being prepared, and the client wanted to know where things stood before going further. They gave us four questions: performance, security, the feasibility of moving their data, and the choice of hosting.
The project in detail
The performance diagnosis identified three causes, and it is worth naming them in order. First the theme's visual editor, which loaded more than 2,900 style rules and unused code on every page, because that kind of tool has to anticipate everything the buyer might do. Then the theme's own code, with duplication, the same file loaded several times and heavy use of CSS's absolute priority, a sign of overriding instead of fixing. Finally the server configuration, with no cache, no optimisation, and compression set too high, which costs more processor than it saves bandwidth.
The security diagnosis found more than ten significant holes, mostly from missing updates, plus a series of configuration oversights: files that publicly announced the installed version, and an error that revealed the server's absolute paths. Most serious of all, the member area and the administration answered without encryption, which exposes passwords on the local network and to interception.
On the rebuild I refused to present only one solution. Two paths were costed side by side: adapt the existing WordPress and keep its theme, the economical choice that gives a fast result, or build a bespoke theme with the fewest possible plugins, the lasting choice that costs more. I explained what each brought and what it left out, and let them decide. A provider who offers only one option is really offering their own interest.
The data migration was the most delicate work. The client had changed their data structure to bring it closer to their business, and their attempt to move it through the graphical interface was showing a risk of loss. We took the operation over as bespoke work, across seven tables and 2,667 records, of which 1,710 tenant applicant files and 515 quote requests. Technically it is not hard, but it forgives nothing: it was billed by time spent, with preparation, implementation and integrity tests, rather than at a flat rate quoted without having seen the data.
We then moved the service to a dedicated virtual server and threw in the setup of a staging and production pair, so the client could try changes before publishing them.