WordPress or Laravel, Prebuilt CMS or Web Framework?

Sep 13, 2016

When developers propose a modern MVC framework (such as Laravel, Yii or ASP.NET, etc) over a CMS (such as WordPress or Joomla or DotNetNuke, etc.), non-tech stakeholders are sometimes not so sure whether it is the right choice. Prebuilt CMS might seem a money/time saver and a more obvious tool to accomplish their business tasks. However, when is it really better to use a CMS rather than a typical modern framework? Let’s look at an example of WordPress as the most widely-used CMS. *

Laravel Development

ADVANTAGES OF WORDPRESS

In fact, there exists just one case where using WordPress is deemed a good business decision: if it meets the software requirement specification of a given web project.

Generally speaking, WordPress is usually the no.1 choice if:

  1. The project falls under the category of content-based portals such as blogs/newspapers.
  2. The market has available WordPress plugins with the necessary quality/security and functionality to suit software requirements.
  3. The founder of the startup wants to test the market and to create the first version of the website fast/cheap with a stripped-down functionality. In this case, WordPress can be useful as a prototype and platform for a minimal viable product.

Some non-tech managers believe WordPress is better than any frameworks because WordPress as a pre-built CMS has a great admin panel (user-friendly interface), so each non-tech staff member can update website without developers. The truth is that if it’s necessary to have a WordPress-like admin panel, then it will be developed easily with framework. It is also not a problem to find a Laravel developer – the market is quite wide.

As Jake Goldman, WordPress fun, the owner of WordPress-centric digital agency 10up (California), puts in his blog: “Pushing WordPress to a client in the face of clearly better suited alternative is, from my perspective, tantamount to professional malpractice.”

SECURITY VULNERABILITIES OF WORDPRESS

When making a decision on the use of WordPress, security vulnerabilities of the WordPress core and plugin should be considered. Just get a quick overview of the widely known cases:

Security vulnerabilities of WordPress mean that it is important to update constantly the WordPress core and plugins (hidden costs). Well-developed Laravel-based websites are more secure and do not need constant updates. Laravel uses custom code and has built-in functions for encrypting and protecting against common vulnerabilities.

Moreover, Laravel 5.2 is fully compatible with PHP 7. This newest version of PHP language makes web applications faster and more secure, and it requires fewer servers to handle the same amount of requests per second (reduce hosting expenses). At the same time, most of the themes and plugins of WordPress are not fully compatible with PHP 7. Moving WordPress website from PHP 5 to PHP 7 can be a time-consuming thing to make.

LIMITS OF WORDPRESS

There are limits of customization that come with any system built with WordPress CMS. If the WordPress-based project grows (more registered users, more operations per second, etc.), at some point there is no choice but to re-create it with a framework (such as Laravel) or (if it is possible) to migrate the website to the Laravel framework.

We gathered some frequent cases:

Gizamo: «Asking a web developer to modify a CMS can significantly increase developmental costs. It may also create complications in core functionalities, such as updating, theming, etc. And, it can require a darn good programmer, depending on the platform (which will further increase the costs)».

Developer: «I have been developing with WordPress for a while now. I have been using WordPress outside of its element and been developing web application that aren’t necessarily blogs. I loved all the functions they have, and the security it provides.  But I’m starting to work with more complex applications, applications that are starting to not fit in the WordPress model. I need to find a framework that’s similar to WordPress in the developmental aspect. I just need a powerful framework that is lightweight and well documented. So I need a framework that can handle user management, template engine, security updates, and has good documentation for development».

Ekaitzastiz: «I have done a lot of things with WordPress: custom themes, widgets, plugins… And for news web and blog web portfolio, it was enough. However, Laravel is a framework that can be used to do exactly what you want and how you want; you can do a custom backend, a REST API, a SPA app, an intranet, a CRM… Big effort is needed in WordPress to do big changes like that. WordPress is not as customizable as an app that you build from scratch with a custom design and focusing on your needs. It’s not as flexible when changing anything. Moreover, very important, is the weakness of most plugins and widgets in WordPress: they aren’t tested with PHPUnit, or aren’t build applying TDD».

Masiorama: «After months developing and using WordPress-based solutions for my clients I noticed that the start of every single project was very fast (easy to install, lots of materials available for free or cheap) and satisfactory enough, but the hell arrived each time there were some more-than-little modifications (logics and design). Using a framework with a pattern like MVC (I use Yii) may be more difficult at the beginning, but to write, debug, and organize your code is far more fluid and satisfactory, on the long run. Even a module (CMS) can be easily extended or rewritten with lesser effort than packed CMS solutions like WordPress».

Steven Richardson: «I just built the whole thing in Laravel, including the blog. I got my app response time down to 35ms with a total page load time of 1.02s from the original 4.3s.  I believe if you can build something that will perform faster, even on a mobile connection over a bloated CMS then build it. Your readers and users will thank you for it».

Milan Lesichkov: «I have moved several slow WordPress sites to Laravel. Speed improvement is about 700%. 10s (WordPress) – 1.5 s. (Laravel)».

Gravy: «I am moving my website from WordPress to Laravel as the website has moved away from being a blog and requires more enterprise and custom functionality. The website has outgrown WordPress».

Raffworks: «I decided to consider moving away from WordPress and into using a lightweight framework for building my sites and web apps. I went for CodeIgniter 2.1.3, but got a surprise insight into Laravel as I was doing so, and have decided to go for that instead».

Milan Lesichkov: «My experience starting with WP and moving it later to Laravel was a nightmare. I have moved many web sites away from WordPress to Laravel. The benefits are great security, speed improvements, full flexibility of what can be done, development speed, great model layer for working with databases, and many more. So my advice, stay away from WordPress. It was meant to be a simple blogging engine that is “hacked” to do much more. Everything in WordPress is a “hack” but most of all, the database. The “blog post” is a post, “image” is a post, “page” is a post and what-ever-you-think-of is a post. All additional data is added in metas, which have to be joined multiple times to get related data. Once your database grows even just a little bit, it gets slow as a turtle. Development speed. It takes me 5–10 times less time to do the same features with Laravel than WordPress. Every time you develop for WordPress you have to “hack” something to get it working. With Laravel it’s all modular and reusable. For instance, what if you want to have a blog on your website? Well it took me about 2 days to do a blogging module for Laravel—fully flexible, that can be added anywhere, reused many times after this».

* Basically all other CMSs (Joomla, Drupal, DotNetNuke, etc.) have more or less similar advantages, limits and security problems as WordPress.

THE BOTTOM LINE

Development with framework is a bit expensive in the first investment and not expensive in the long run as compared with WordPress development and customization. Maybe it does make sense to invest in proper custom architecture with Laravel or other suitable framework from the outset?

Belitsoft is a Software Development Company located in Belarus, Eastern Europe. Since the year 2004, we have been providing full-cycle PHP Development Services (planning, designing, building, testing, and maintaining user friendly web applications) and Laravel Development Services (since 2015) for our customers from the USA, the UK, Israel and Europe.

Vladimir Kazankov
Vladimir Kazankov

I am a contributor to Belitsoft blog where I focuse on analytics and best practices of software development. Any questions? Feel free to leave a comment and let me know what do you think! Do you like my posts? Please, share it!
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s