Laravel and WordPress
Choosing the right technology for the brief

In the world of web development, there’s rarely a ‘one-size-fits-all’ solution. We’re strong advocates of WordPress and have used it for many years with great success. However, as client requirements have grown, so has our team and we’ve expanded to bring more of a multi-disciplined approach to our work. Jon has joined us and brings with him a wealth of experience as a specialist PHP developer and has already worked on two recent projects using the Laravel platform: the Allport Cargo Services extranet and new The Big Apple website (soon to launch). Here Jon looks at what Laravel is, the benefits and how it differs from WordPress.

What is Laravel?

Laravel is a PHP framework for web artisans. Laravel was created by a chap called Taylor Otwell back in 2011. It’s basically a PHP framework (a library that makes life a bit easier for developers) that operates using a Model View Controller (MVC) file structure. It is used for developing web applications. It’s ideal for more complicated sites with different types of users and permissions. It’s simpler to set-up the structure of data-heavy sites, where content is being uploaded and there are internal messages, just like the Allport Cargo Services global extranet we developed. The Time4Recovery website included a Laravel element to it, with a tool for professionals working with people who have early psychosis, which collects patient data and provides feedback to the doctors.

Laravel allows more flexibility to create online apps and data-heavy sites in a fraction of the time, without too many complications. Common administrative features, such as file uploading and data validation, sit at the very heart of the Laravel approach. It allows us to create a very practical content management system in a short timeframe, which means we have more time to work on the custom features of a web project. This powerful tool enables us to progress smoothly and quickly, while still delivering great functionality for clients.

How does it differ from WordPress?

It’s difficult to compare Laravel with WordPress because one is a framework and the other is a CMS:

WordPress is the most popular content management system on the internet, ideal for creating a content-based website, with blogs and in-built functionality to add pages, written content, pictures and videos. It’s open source and free to use. Plug-ins can also be downloaded for additional functionality.

Laravel is great if the digital project is a little more complex and needs to enable user actions and is more about data management – such as uploading or downloading content, registration or voting. It’s possible to do all this in WordPress, but may require plug-ins or bespoke development. Laravel is an open source framework so doesn’t rely on third party plug-ins, but you need to be an experienced developer to use Laravel.

Whilst WordPress opens up a CMS that’s sufficient for 80% of websites, whenever there is a need for intricate data management, user interactivity or advanced customisation, Laravel is often a better option.

Building new features from a solid foundation can prove to be faster than editing existing plug-ins. It allows for great control and customisation, and also serves to help with the future scalability of a website. The Laravel framework embraces this approach and is the springboard we use for our more bespoke data driven web projects.

With WordPress there are a number of compromises that must be made within the administration tool, but with Laravel we can apply a bespoke CMS interface which means we have more control over both the aesthetics and the functionality. This can be especially helpful for any administrator who isn’t a tech whizz!

What difference do plug-ins make?

Plug-ins are an incredibly powerful tool in the WordPress armory. They allow us to roll out all sorts of features with just a few clicks. This is great news if your website or application has a reasonably common set of requirements. These plug-ins do have their drawbacks however, especially when you consider the long-term life cycle of a website.

The web is a constantly evolving environment, and as such the hardware and software platforms that we use to host websites are often undergoing upgrades and patches. These updates can potentially break the code used by plug-ins so there is a fair amount of trialling and testing that needs to be done to keep them up and running.

The plug-ins themselves will often be updated at regular intervals by their authors. It’s always great to get the latest features that are available, but again these need to be tested in case there are conflicts between two plug-ins. It’s rare for a conflict to occur, but we don’t like to take the chance.

We’re huge fans of plug-ins and the people who keep them going, but we also know that not everybody wants to spend the time maintaining them and would instead prefer that their website was uniquely theirs. In this sense, Laravel is easier to maintain than WordPress because it’s not reliant on third party plug-ins and offers a more tailored result.

Which is more secure?

Comparing two systems such as WordPress and Laravel in terms of security would be to miss much of what makes a system secure. We take security very seriously and it’s a consideration in almost every development decision we make in a project. When it comes to security, the popularity of WordPress may actually be its Achilles heel. There are so many websites that use this software, that it is a very valuable target for an attacker if it’s not well-maintained.

How do we choose what to use?

There are three elements that drive our decision about which platform to use: complexity, scalability and maintainability.

The issue of complexity is often the easiest to resolve. If the requirements of a website can be met using a combination of a WordPress base, a selection of plug-ins and a reasonable amount of customisation then we pursue a WordPress-based solution. There’s no point reinventing the wheel!

However, if a WordPress solution would solve 99% of the website requirements but the remaining 1% is critical, then we would tend towards a Laravel-based solution.

The other two points – scalability and maintainability – require deeper analysis because they are both long-term issues, and whilst a WordPress solution may come to fruition in a shorter time period it may also limit options for development in the future.

For websites that are primarily customer-facing and that have a reasonably standard set of requirements, a WordPress-based solution will often be our preference. Websites that require more complex functionality or a customised administration system would be more suited to a Laravel-based solution.

How it works in practice

We initially created The Big Apple using a PHP CMS 6 years ago. It’s time for a refresh, since four brands need to be managed from one point, so we’re using Laravel to speed up the development process. It also provides many more options to add ecommerce elements in the future.

The new Big Apple website (soon to launch Easter 2017) is designed to communicate venue information, latest news and a selection of offers across a number of different venues that operate under different brands. We needed to create an administration system that would allow individual administrators to login and edit the data relevant to their venue as well as allow a ‘super-user’ to be able to manage all data throughout the system – including the administrators themselves. It was also important to be able to place certain restrictions on some venues and also isolate content from one venue impacting upon another venue.

Since The Big Apple operates in a highly customer-oriented environment we knew that it would be important to be able to add new types of content within short deadlines. An example of this would be a seasonal or event-based offer that needs to be interactive within a specific theme.

We wanted to be able to create custom reports based on any customer data that could help to drive future promotions, and there were already plans to integrate a booking system in the near future.

A combination of all these reasons helped us choose to create the new website using Laravel. We could quickly implement the basic data interactions that would drive the website, but allowed ourselves the freedom to create a very customised administration area.

Using Laravel also allowed us to split the development and design work on this project. We were able to create a set of demonstration templates at the same time as putting the nuts and bolts together. Neither workflow was wholly dependent on the other and as such, the working system was delivered within a short turnaround period.

For further information about working with Laravel or WordPress web design Surrey, please contact us on 01252 820022 to arrange a chat.