I was asked this question a few times. Customers want to build a web application – job board, business directory, SaaS product and wonder if a WordPress is a good platform for that.
Let’s get it straight: I love WordPress and I have built hundreds of websites using it. WordPress makes it really easy to manage content and tons of plugins and themes which are available make it super attractive for businesses and individuals who want to get a head start in building their online presence without reinventing the wheel.
WordPress allows developers to extend the standard functionality while keeping all the goodies it comes with like
- Easy content editing
- Handy categories and tags to organize your content
- Users registration which may be easily extended into full featured membership application
- All those themes which do “almost” what you want to build
- Even more plugins which promise you the world
All that sounds like it will give you a head start in development of your application. But this coin has the other side. WordPress is terrible platform from the applications development point of view. It comes with a lot of legacy and you pay the price for the flexibility and all the open ends with the complications in your code and performance.
In other words, there is a huge technical debt acquired the moment we write the very first line of code.
Theme you got may be pretty close to what you want, but what sounds like a quick change may cost developer long nights and gray hair, plus, there is chance that the result of their intervention will be not as stable and not as solid as it should be.
Suddenly all those plugins start to add even more technical dept and complication to your project. Problem is that plugin is written as a standalone product and it doesn’t always play nice with the rest of the site. So, while it’s doing it’s own function, it’s often a nightmare to extend functionality beyond the original scope.
Scalability quickly becomes another issue. The way WordPress stores all the posts and meta data is intended to be very flexible, so you can have unlimited number of different post types and endless custom fields. But the price you pay is “one size fits all” database structure, which will do fine for your 20 or even 1000 pages website, but will drag you down when you populate database with a serious number of entries typical for web applications. As a solution, developers need to create additional data tables and structures for all that data, but at this point, the framework of WordPress doesn’t really help you much, I find that it actually makes things way harder, compared to modern PHP frameworks like Laravel or Zend Framework.
So, while WordPress is great for content management and will give you a head start building your site, it’s not the platform I would use to build a web application.