Why upgrade now
The official ExpressionEngine version support table lists EE6 bug fixes as ended on 31 December 2025 and security fixes ending on 31 December 2026. EE1 to EE5 are already past end of life. After that date, any newly found EE6 vulnerability stays unpatched.
The other pressure is PHP. Hosts keep retiring old PHP releases, and older EE versions and add-ons throw fatal errors on PHP 8. An upgrade planned now is cheaper and calmer than one forced by a host change or a security incident.
What the upgrade includes
- Add-on audit. Every add-on, fieldtype and extension is checked for an EE7 and PHP 8 version. Abandoned ones are replaced, patched (where the licence allows) or rewritten.
- Staging copy. A separate staging site with its own database and system folder, so nothing we do can reach live.
- Version path. EE6 sites go straight to EE7. EE2–EE5 sites step through the required versions. For EE1.x and very old EE2 sites, a clean EE7 install with a content import is often safer.
- PHP 8 fixes. Removed functions such as
create_function(), stricter type errors in bundled libraries, and deprecation warnings in templates. - Review and launch. You check every page type on staging. We go live in an agreed window with a full backup and a rollback plan.
- Aftercare. We watch the error logs after launch and fix anything related to the upgrade within 14 days at no charge.
Real upgrade work
Multi-site EE 6.4 on PHP 8.3. A Multi Site Manager install serving two organisations failed after a PHP upgrade: a licensed maps add-on threw a fatal TypeError inside its bundled Carbon date library on every page. We patched the library call, replaced create_function() with a closure and fixed magic-method visibility so the add-on runs on PHP 8.3. We also traced a staging login failure to a front controller that pointed at the live system folder and database.
EE 1.6 on modern hosting. A 2000s-era EE 1.6 site had to move to a host with no PHP 5.6. Rather than chase an unsupported stack, we set up a current ExpressionEngine install and imported the old entries.
How long it takes
Time depends mostly on the number of third-party add-ons and how much PHP lives in templates. A straightforward EE6 to EE7 upgrade with maintained add-ons is the quickest case; older sites with abandoned add-ons take longer. The free audit gives you a fixed timeline and a fixed price before any work starts.