Founders of startups or other business stakeholders describe the business ideas of their future web applications. Proficient developers choose the best technology solutions for these web applications: it may be pre-built CMS or web framework such as Laravel.
When developers propose using a modern MVC framework (such as Laravel) over a CMS (such as WordPress), non-tech stakeholders are sometimes unsure 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 for custom software development?
Advantages of Wordpress
WordPress, as the most popular CMS, is often a good first choice for the project. Of course, it is not fit for everyone.
Generally speaking, WordPress is usually the no.1 choice if:
- The project falls under the category of content-based portals such as blogs/newspapers.
- The market has available WordPress plugins with the necessary quality/security and functionality to suit software requirements.
- 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 the 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 a framework. It is also easy to find a Laravel developer - the market is quite wide.
As Jake Goldman, 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 plugins should be considered. Just get a quick overview of the widely known cases:
- Over 1 million WordPress sites may be affected by a flaw in WP Super Cache plugin
- 50,000 sites hacked through WordPress plug-in vulnerability
- Websites running WordPress hacked to display money-making ads for hackers
- Hackers Grab 800,000 Banking Credentials
- My client's site was hacked and I do not have a backup of his WP site. He's been calling me for 3 days but could not answer. What can I tell him?
Security vulnerabilities of WordPress mean that it is important to constantly update the WordPress core and plugins (which implies 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 encryption and protecting against common vulnerabilities.
Moreover, Laravel is fully compatible with PHP 7. This newest version of the language makes web applications faster and more secure. And it requires fewer servers to handle the same amount of requests per second, which reduces 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 also be a time-consuming endeavor.
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 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 (logic 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».
Development with a framework is a bit expensive in the first investment and cheaper in the long run compared with WordPress development and customization. Maybe it does make sense to invest in proper custom architecture with Laravel or another suitable framework from the outset?
Development of a web application is a mix of common and creative tasks. Good developers like to do all this common work (repeating from project to project) in as little time as possible (without loss of quality) before starting to write custom functions much sooner. Web frameworks are tools that make it easier to solve common tasks quickly with the aim to focus faster on own application logic (creative tasks).
Not all frameworks are able to solve each of the described problems equally well. The best web frameworks such as Laravel help developers to do it and this means that Laravel-based development will make software delivery timely and cost-effective. Besides, Laravel is scalable and it is not a problem finding new developers as this framework is very popular.
- Tasks that usually take hours and hundreds of lines of code to write, can be done with Laravel framework in a few minutes with pre-built functions. For example, basic authentication (including social login integration), cache (to improve performance), form validation (to ensure that user has provided necessary and properly formatted information), and etc. are already implemented in a new installation of Laravel. Development becomes easier, faster, and efficient!
- Writing unit tests is usually very time-consuming, however, it’s definitely worth the spent time because software testing provides clients with information about the quality of the product or service. Fortunately, Laravel testing is already integrated into the framework!
- Laravel community is very friendly and helpful, and documentation is detailed: developer doesn’t need to spend much time researching best practices in developing and maintaining web applications and making decisions on how to implement everything properly. Unlike Symfony or Zend framework, developers can find many code snippets, tutorials, courses about Laravel.
- With October CMS based on Laravel PHP Framework, the process of building absolutely anything from simple promotional sites to high-powered web applications becomes even easier. October CMS now is a go-to platform for many developers and clients. It has been installed more than 100 thousand times.