Holywar: when to use Laravel vs WordPress?

In PHP world there are two big groups of developers – those who work with Content Management Systems (WordPress, Drupal etc.) and those with frameworks (Laravel, Symfony etc.). And rarely people work with both worlds – cause their philosophy is fundamentally different.

But when you get a new project from a client – how to decide whether Laraver is the best choice? Or maybe simple WordPress would be enough and would save time/money? Sometimes it’s not that easy to decide. So here are my tips – questions you need to ask.

1. Content or user actions?

WordPress is a system for managing content. So if the project falls under the category of content-based portal like blog/newspaper/course/portfolio – then WordPress is usually no.1 choice. It doesn’t make sense to re-create with Laravel all great features of content management – there’s a whole lot of them under the hood: draft auto-saving, images gallery, tags/categories etc.

On the other hand, if your project is full of user-based actions like registration, internal messages, upload content, voting, matching profiles, payment history and similar stuff – then custom framework-based code is much better. To be fair, all of that is POSSIBLE to achieve with WordPress and plugins, but for long-term projects it might be harder to maintain, cause you would be attached to the plugins and their structure/updates etc.

2. Plugins or packages?

These days development is not only about writing code, but also about re-using existing libraries without reinventing the wheel. If you get job done quicker with a help of plugin, then it’s profit for the client and for you too, win-win.

So, my point – search for available plugins/packages on the market and evaluate how much of the functionality can be done with them – if it turns out that WordPress with plugins has all you need, then great, but the same goes for Laravel packages – they might save time.

3. MVP or serious project?

Question – what is the goal of the client? Usually there are three options: quality, speed, price. So if, for example, a client wants to test the market and to create something fast/cheap, WordPress is quite good for it and you can “fake” a lot of things in the first version of the website. But keep in mind that if the project grows then you probably would have to re-create it with the same Laravel or, probably worse, support WordPress and “fake” even more things.

And if the client wants serious and maintainable project from the beginning, it does make sense to invest in proper custom architecture with Laravel or Symfony.

4. Who will work on the project?

The decision is not only about yourself, it’s about the whole team. Who will work on the code and on actually USING the project? What is client more comfortable with – WordPress adminpanel or your custom one? Would you have to teach the client how to use the system?

Maybe project will have partners in the future for integration – what system is more comfortable for them? In short, think about people around the project.

* * * * *

Any more concerns you would advice? How do you decide which technology to use on your next project?

Liked the article? Maybe you need help with your Laravel project?
Check out my Upwork profile and hire me!

23 thoughts on “Holywar: when to use Laravel vs WordPress?

  1. > And rarely people work with both worlds – cause their philosophy is fundamentally different.

    I work in both worlds. Maybe I’m unusual? I don’t know, but I do know that it’s important to pick the right kind of technology for the project. Some user requirements are obviously CMSes; others obviously need custom code.

    I’m glad you akhnowledged the existence of Drupal as well as WordPress. I would *never* recommend WordPress to anyone, even for a really simple site. There are simply too many security holes to take it seriously. Even if you don’t think you’ve been hacked as a WordPress user, there’s a pretty high chance you have been and your site is being used to attack other more high-profile targets.

    If you’re going to go down the CMS route, my current recommendation is Joomla. The admin panel is easy enough to use for your non-techie customer, and it has much better quality under the hood.

    However, there is also a “third way” — where you do both; ie a CMS, but with custom PHP code as well. Some projects need this; there’s clearly a need for a CMS, but also some custom components.

    All the major CMS platforms have powerful plugins systems, allowing you to write pretty much any code you like on top of the CMS. But if you’re specifically looking for Laravel, I suggest taking a look at OctoberCMS (https://octobercms.com/).

    In fact, all the major CMS platforms also have a framework under the hood. I recommended OctoberCMS because it’s based on Laravel, but Drupal is based on Symphony, so is also pretty easy to write code for. Joomla has it’s own framework behind the CMS so maybe a bit more of a learning curve, but not really any more difficult to work than the others with if you’re any good as a coder.

    Even when using a CMS, I very rarely find a project that can be completed without at least some custom code. Most clients want something that’s either not available in the various CMS plugin libraries at all, or else pugins may exist but are not good enough quality to consider using for the project or don’t have the features they want.

    The more well-established CMSs have a larger plugin library; the newer ones like OctoberCMS have a much smaller library, so you start a project with them with a default assumption that you’ll be writing most of the plugin code for yourself. That’s not a problem if they want something bespoke, but if they’re wanting something that is easily available for free in the Joomla plugin library for example, then you should let that be a guide to helping you chose the right CMS for the project. (however, that still doesn’t mean I’d recommend WordPress, even if it does have the biggest library of plugins!)

    1. Amazing comment, Spudley, thanks for taking time to write it! Although I disagree on Joomla recommendation (it has too little community if you need to find solutions to problems), but I do respect the choice. And October CMS is another option, yes, planning to try it in the near future.

    2. Hey, can you please give some ground on your “Security holes” statement for WordPress? I mean your other points could be true, I don’t have opinion there, but I want to know what makes all your bad experience with WordPress 🙂

      1. Yes, I would love to read more about these security holes. I don’t really agree with this statement, as well as with the Joomla thing.
        I have worked with Joomla in the past and am more than happy to not work with it anymore. I simply hated it (might be because of the VirtueMart plugin though, worst piece of code I’ve ever met).

        WordPress is pretty powerful, and could be used *even* with these so called security holes. I have recently worked on a Laravel project where a small part of it was about articles shown to the users. Instead of reinventing the wheel, I have used WordPress as a backend for the news sections of the project (using the rest API and pulling the data from Laravel).
        Pretty clean, and nobody cares about the WordPress security wholes (if there were any) as the install was completely blocked from public access 🙂

        1. @Spudley Great comment.

          @Mike Damoiseau Joomla is surely more powerful than WordPress I hated wordpress and I finally gave up on it, Joomla is much more powerful and can scale better, wordpress is mostly spaghetti code and I have no idea how people can deal with it, it really is bad, everything is painful in wordpress when it comes to updating and scaling, or building multilingual websites.

          I have to agree with you virtuemart is the worst component on earth, lots of spaghetti code and super buggy, it seems they don’t even follow the Joomla convention but they would rather freestyle, not to mention it is buggy by default.

          I had a client who wanted an e-commerce website, her website was built with virtuemart, I told her I can migrate to another more stable component, she agreed, however she started crying later on because she is not used to this component, not to mention the component I used has great documentation and I was always available for help, however some kind of people can not adapt to new changes they are simply like that, I read a whole book about this type of personality.

          She was proud of the site I built as it has high performance, and a fast load time: 1 second. and got a score of 99% on GTmetrix and 96% on google for mobile and desktop, she contacted me again after a month and she said she wants to get back to virtuemart, I simply refused! beside that I am being busy I told her even if I had the time I would never get near virtuemart I am sorry good luck finding someone, and then sent her a link about all the bugs in virtuemart and how many hours of works it needs to fix these bugs, I think she wasn’t happy with what she heard even though she already admitted that the website I developed for her has a high performance and free of bugs, however some people are just stubborn and I learned to fire stubborn clients.

          This is similar to having a surgery and then you wake up from the surgery and tell the doctor what to do like to use other tools, or ask him to move your heart a bit to the right, and your stomach a little bit down, hilarious, you don’t give experts an advice, you just sit and listen.

  2. You know, actually there are people who work with both in the same project. There are lots of cases when you gain from using both Laravel and WordPress together. You can use them separately with a bridge, you can use Laravel inside WordPress or vice versa.

  3. I need to get my corporate website made. One vendor is suggesting wordpress and the other is suggesting Laravel. I am confused! Any suggestions?

  4. WordPress disgusts me in a way, while Laravel is a beauty, totally different things but thats how I see them

  5. I don’t think Laravel vs WordPress is a fair comparison. I view Laravel as a framework to create APIs and software products like admin panels and Cloud SaaS.

    For portfolio sites and blogs there are Laravel BASED CMSes such as October, Pyro and LavaLite.

    It would be more appropriate to compare one of those against WordPress such as this October CMS vs WordPress review:

    https://leaderinternet.com/blog/october-cms-vs-wordpress

  6. Nice post. I have a question though. I’ve been working with wordpress for quite a while now and I wanted to kow if laravel is more performant and secure as an application (php and sql) than wordpress?

    thanks

  7. I found this article from 2014 about how to use Laravel & composer inside of a WordPress plugin:
    https://www.topdraw.com/blog/using-composer-laravel-and-guzzle-in-your-wordpress-plugin/

    I’d be interested to hear from experts about whether this method is still valid for current versions of the software packages and what the limitations might be.

    There are, not surprisingly, several libraries available to access a WordPress database and WordPress credentials from a different Laravel app, and I saw a recent tutorial about setting up WordPress inside of the Homestead environment.

      1. I had noticed these interesting suggestions from Eric Barnes, that you mention, in my search: https://laravel-news.com/search?q=WordPress However, besides being a back end, the WordPress ecosystem also offers some advanced rapid development front end options such as DIVI – https://www.elegantthemes.com/gallery/divi/ and Toolset/Types – https://wp-types.com/home/toolset-components/ It would be difficult to use these powerful tools/libraries outside of a WordPress application, so I am looking for more ideas about how to use Laravel as components inside of WordPress.

  8. I disagree, that there are two groups. There are also those, who want to use both – the advantages of a CMS (which in my opinion are mainly in the GUI for the Client side) and the advantages of a Framework (or however you call it remains something like a usual Programming Language library as C, Java, etc. it has), that is of course a dream for any developer / programmer.
    And there might be interesting (not deep research about CMS with Laravel):

    first, there is already a CMS on Laravel maybe not the one, named Statamic, which is pretty interesting, but not open source, which absolutely not means it is not worth buying. That has an interesting approach of using files only plus git, (which i beleave, every programmer will like) instead of databases.

    second, there is an interesting article on this (WordPress in Laravel) topic
    https://nehalist.io/integrating-laravel-into-wordpress/

Leave a Reply

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