We recently took on the task of moving the popular website All In London to a modern web framework.
The website was launched in 2003 as a city guide to London. It started out with listings for attractions, restaurants and events and quickly started adding more and more listing types over the next few years. There's actually a great gallery on the website showing the history of the design, it'll give you a good idea of the kind of site it is, informal but packed with information.
The site received over 6 million page reads per month at its peak and is still getting large numbers of readers now. The rise of social media ate into the website's traffic but it still has a loyal user base with over 180,000 user accounts and consistent return visitor usage, for anyone living in London it's a known brand.
The old website architecture
The previous version of the site was built entirely in PHP with a MySQL database backend. There was no framework code and the site was actually a kind of hybrid static/dynamic setup. The majority of the listings data was held locally on a linux box at the All In London office and at regular intervals the website was 'milled' by a PHP script that built 90% of the website as .php files. The milled pages were copied into the site root which consisted of the various images, css, js and php includes for running the dynamic parts of the site.
This setup had worked well for many years but was starting to creak at the seams making an upgrade to the latest version of PHP difficult. The site and extensive backend CMS needed a complete re-write to take advantage of the years of data the site had accumulated.
The new architecture
We looked at a few options for building the new version of All In London. The main aim of the upgrade was to remove the local database requirement and have the entire site running from the production database. This would allow it to react very quickly to requests for updates. It would also remove the bottleneck of needing somebody within the office to make changes to some of the listing data.
The new website is a Laravel project with all of the front-end handled by blade and Bootstrap 4 (without jQuery!). All forms on the site are now handled by Vue JS so that the process is smooth and reliable. The admin side of the site is entirely built in Vue JS with Laravel handling the api.
The new site went live in mid 2020 and as of now (September 2021) the site traffic has almost doubled after recent Google core updates have clearly liked the look of the changes! The owners are very happy with the site and it's turned out to be everything they (and we) could have hoped.
If you're interested we've written a more detailed write up in our blog here. If you have a project similar to All In London that needs a careful and experienced approach to migrate to a modern framework feel free to get in touch for a chat, there isn't much that will phase us after this one!