I recently found myself with the daunting task of updating a very old website (Concrete5 5.3.3) to the most modern version it can be (18.104.22.168, as there is no automated upgrade-path from 5.6 to 5.7).
This seems like a straight-forward exercise, given each release of C5 offers an automated upgrade, it should just be a short sequence of hopping forward in major releases, right?
If you follow the CMS' instructions and upgrade to the versions it promotes you're going to have a bad time. Where the Concrete5 Release Archive lists a long list of published versions, the automated upgrade path would leapfrog many of these. It pushed me approximately from:
The version numbers may not be accurate, but that's vaguely what the automated path looked like. Numerous attempts of doing this resulted in fatal errors and an entirely broken website. The installs would fail, Dashboard pages wouldn't be installed, permissions would be implemented and even if you could coax the installer to claim that it had completed, the CMS would be unstable at best. It would ultimately end in a fatal error around v5.5.0 on the content importer, looking like there's an issue with it detecting Block Types.
Slowly and carefully. Manually.
If you're on 5.3.3 as this website was, you'll need to perform the updates manually and carefully. To do this you'll want to step through each and every minor release and upgrade each in turn. I suspect that it's the large leaps forward in versions that hurt you on the automated upgrade path, so doing it in baby steps is safer and worked for me when nothing else would.
The steps I followed are:
Because you're only stepping through minor releases (and this does take a long time) it works much, much better.
This did mean that to upgrade from 5.3.3 to 22.214.171.124 I had to perform 24 updates following the process identified above, whereas the automated process would have attempted to do this in about 4.
That's not to say that you won't encounter minor issues in doing this (in that I've got some bespoke single pages that aren't appearing in the CMS dashboard but were under 5.3.3, but that's easier to resolve).
Hope this helps, because I tried a few different things before approaching things this way and it turned a catastrophic exercise into something simple (but laborious).
I'm not actively seeking work of any kind right now, but I'm always happy, ready and willing to offer advice.
If you need help knowing where to start, knowing who to hire or making sense of where to begin - get in touch and I'll steer you in the right direction.