The pros and cons of WordPress after using it for 6 months.
What is WordPress ?
WordPress is a well established platform for internet people to create websites and kickstart their ideas or their business. However for the most part, developers have the tension to think that WordPress is an outdated and nightmare CMS that you should avoid at any cost, is this statement true ? And what you need to know about WordPress.
History of WordPress
Since the first release of the official WordPress repository on 2003, the contributors have made remarkable progress on creating almost every piece of functionality someone needs to build any kind of website. With total of over 1 million lines of code WordPress was and still is the most maintained and developed open source CMS in the entire web.
Pros of WordPress
- No boilerplate: Unlike other technologies like React, Vue or Angular WordPress has everything you need set up. That means there is no need to spent half a day setting up things like Prettier, Eslint, Husky, Redux, rendering methods etc.
- Straight Forward: Unlike JavaScript in PHP there are not many ways you can write a piece of code, you don’t need to worry about best practices because everyone writes the same PHP code no matter what, with minor differences here and there. I remember spending half a day understanding how the code in a React project was written. Does in have semicolons, how is the folder structure, what package manager I need ? How the previous developer manages side effects.
- Faster and cheaper Development: In WordPress if you want an extra piece of functionality, for example articles to have a Gallery with pictures you can create it with a few lines of code and a few clicks on the admin panel (No more than 10 minutes of coding). To create the same thing in a React Laravel project for example you should do 10 times the effort.
- Create the model in the database
- Create 4 different endpoints for Creating, Updating, Searching and Deleting the gallery items.
- Create the logic and the UI (REST API Calls, Redux etc) on your Custom Admin panel for the create to add the gallery.
- Create the logic and the UI in the frontend.
- Write the test for all the endpoint and the frontend code
Cons of WordPress
- You make far less money than a custom project: With WordPress you can create almost anything, yet the result will not be the same. Bad Performance, less customizability, you can not scale for bigger projects. Like banking systems, satellite integrations, hardware, IOT, AI/ML and mobile apps. That means that there is a celling on how much you can make from a project. Here in Greece 20k - 30k is the maximum for the most cases. In the other hand with React I heard of prices that exceed 500k.
- Not scalable: Here I have a great example that will let you to understand the difference between a custom project and WordPress. This example is from my working experience.
We started creating a WordPress site which had nothing more that the typical articles and pages. We created a custom theme with some CSS, HTML and some JavaScript. At that point we did around 70 hours. Until we reached the ending of the project which we spent over 500 hours creating a medium data complexity plugin that calculated prices based on different parameters which we got from an API. Finally we saved everything on the database and served the user with a landing page and an email. Total hours around 600.
Let's now say we create the same project with React and Laravel. We spent 200 hours creating the API, 200 more for the admin panel and 100 for the website, 50 more hours for the custom plugin which took us 500 hours with WordPress and 50 more hours for the devops. Total 600 hours. We did the same amount of time yet we now have an API which we don't need to re-create for future use, a custom admin panel and hundreds of components that we can reuse. So the next time we create a similar project we will spent around 100 hours because we have everything premade. Also there not need to mention that the performance, security and scalability of the project if far greater.
Conclusion
In a nutshell WordPress is far more superior of custom Apps for non logic heavy projects, yet if you want to create something more, you will spent countless hours coding and in the end you will have a mediocre result.
Thanks for reading !
Sotiris Kourouklis