Posted on

We broke a lot of things and fixed most of them

We’ve been around for almost 14 years and our website had its last major overhaul towards the end of 2017. In internet time, that’s like a million years ago!

The technologies that power the site have developed quite a bit since then and we never quite kept up with refreshing them. To say the back-end of the site needed some attention would be an understatement!

Getting started

In February we started to look at what was needed to address this. Not so cleverly, we hit ‘update’ on a few server settings, and ‘upgrade’ on a few others, hit ‘refresh’ on the tab with the site open and everything looked fine… so we went away for a few days. It didn’t take long for messages to start coming in saying the site was down.

We were out of the office so couldn’t fix things ourselves… fortunately telephone tech support came to the rescue and they rolled back the changes we’d made.

Giving it another go

This week we tried it again. Rather than just click ‘update’ on this, or ‘upgrade’ on that and let the software do its thing automatically (which we now know results in a broken site) we went through things slowly and manually.

We broke things. We broke a lot of things. First we updated the php settings. That broke the site. Rollback, check site works again. Try a different php setting. Site broken. Rollback, check if we still have a website. Try again. It turned out the CMS we use wasn’t compatible with newer versions of php.

So we tried updating the CMS next. That… partially worked. A lot of the plug-ins and add-ons we have installed wouldn’t run without php being updated… but we couldn’t update that without breaking the CMS running the plug-ins. A true Catch 22 situation! Bit by bit, test by test, rollback after rollback we charted a path towards things working again.

It took us most of the night to make it work. In the end we had to disable all of our plug-ins (sorry if you tried to visit the site last night while all this was going on. It must have been frustrating having the site ping-pong between working, not working, and different parts being turned on or off all the time. We were definitely frustrated by it all!) to make any progress.

Progress

Once the CMS had been updated, we were able to update the php settings. Then came the task of updating the plug-ins before we could start switching add-ons and plug-ins back on, checking if they broke the site (or failed to work somehow). A lot of the plug-ins forgot their previous settings as part of the upgrade so we had to set various features and functions up again from scratch. Considering some of them haven’t been looked at since 2017, that was fun!

At this point, many hours into the process, we had a working site again… sort of. Some of the visuals for the site have changed a bit in ways we haven’t figured out yet and for reasons we don’t understand. Most of those changes have been fixed.

Along the way we also found a few links that pointed to dead pages so those have been updated.

Broken bits

We also discovered that some of the plug-ins we used won’t work anymore… one example is our payment processor for BitCoin. So for the time being we have removed that feature entirely. We want to support crypto currency payments long term… but that’s going back on the wishlist for a future tech upgrade. We removed a few other things too where the feature just isn’t relevant anymore.

Somewhere along the way we lost our cookie banner too. The updated version of the plug-in requires a key from a website we never signed up to for it to work. That one’s higher on our list of issues to fix as it’s a legal requirement to display and give people choices about cookies on websites.

There’s still quite a bit we’d like to improve about our website. Now that the CMS, the plug-ins, databases and php settings are all as current as they can be, it should be easier for us to tweak and build upon what the site does best. There’s a few technologies like switching images to webp format to reduce page size, and implementing caching options to improve website loading times that we’d like to explore.

Those will need to wait for another day though. Now, it’s time to enjoy the weekend!

Leave a Reply

Your email address will not be published. Required fields are marked *