Categories
Tutorials

Strapi vs WordPress: What I recommend to clients

I am a big fan of Strapi and WordPress because they have helped my clients achieve their goals. But what works for you?

Before the commencement of every project, I have to decide on what to use to help my clients achieve their goals within certain parameters (always involving time and money).

I am a big fan of Strapi and WordPress because they have helped my clients achieve their goals.

But I have come to also realize that we need to adhere to the adage “horses for courses.”

I am going to write my thoughts on what’s best to use and which considerations would swing me from Strapi to WordPress or vice versa.

I run a biz and want a new website. Strapi or WordPress?

If you’re a businessperson who wants a new website, you’re probably better off going with WordPress for a budget-friendly and easily self-maintainable website.

I am going to assume that you’re looking for your first website or a website redesign and you want to be able to modify content yourself so you can save the costs of hiring a developer.

Here are the reasons why:

A lot of WordPress tutorials online; Strapi not so much

WordPress runs about 40% of websites and that really helps you because you can find tutorials on many, many topics.

Strapi not so much.

So, say you want to do something simple like change the links of your website’s header. In WordPress, it’s a lot easier especially with the what-you-see-is-what-you-get Full Site Editing feature that is available from WordPress 5.9. And if you don’t know something, you can search Google or YouTube and I’m almost sure you’ll find what you need.

Not so much so in Strapi. There is no visual editor in Strapi so you are going to have to know what you’re doing. Of course, if you use Strapi, you probably also have a developer who can explain what to do.

Much easier to host WordPress than Strapi

WordPress is easier to host because a lot of web hosts have one-click solutions.

In fact, a lot of consumer-grade hosts like GoDaddy, HostGator, Dreamhost, etc., have a button on the front page of your admin dashboard that tells you they can do a one-click install of WordPress.

That makes it so much easier than Strapi.

There’s no one-click solution yet. There might be one in the future, but not yet.

On Strapi, you will really need to know your way around running a server. Even the simplest solutions such as using Google App Engine or DigitalOcean’s App Platform to run Strapi is more complicated because you will need to sync your files to a Git repo.

You can find a WordPress developer much easier

Since WordPress is more widely adopted, there are many more experts out there who can help you with your website should you need to find a new developer.

Strapi is pretty niche but if you need someone fast, you should try their Discord channel which has a Jobs section.

WordPress is bloated; Strapi is “clean”

Compared to Strapi, yes, WordPress can be extremely bloated.

The biggest culprit is using too many plugins.

Fundamentally, a WordPress developer who can’t modify the PHP files can turn to plugins to resolve their shortcomings.

Now here’s the problem – if your developer doesn’t know how to go under the hood, things can get messy quickly.

Think about a home. You can wire in a ceiling light into the wall, thereby avoiding a mess of wires or you can plug in a lamp into an outlet. Both lead to the same outcome which is more illumination, but the latter method is much less elegant and is prone to more unintended consequences (tripping over wires, for example)..

Plugins are a major culprit, especially in inexperienced hands. Building pages with page builders such as Elementor or Divi can also lead to higher load times.

But are you doomed to a bloated site if you use WordPress?

I believe that WordPress websites can be very fast if you take the time to be precise with the details.

Caching is one of the most important things that you can do. See, if you don’t cache your web pages, you are essentially running a full website templating engine every time a visitor comes by. This increases the loading times for your visitor.

However with proper management of these details – reducing plugin use, compressing images properly – you will be OK.

That said, if you are using Strapi, you can potentially get even further in terms of site speed. For example, when I build with Strapi, I use NextJS, which has a Image module that compresses images and delivers them in a .webp format that is the fastest standard out there today.

WordPress is vulnerable to hackers

If you’re diligent about avoiding the use of plugins and update WordPress regularly, you can definitely avoid this problem.

Unfortunately, though, with a large user base comes a lot of hackers. In this case, Strapi doesn’t have as many users so the incentive to exploit a vulnerability isn’t as attractive as it would be in WordPress’s case.

WordPress uses PHP which is less popular than JavaScript

Strapi is programmed in JavaScript which I prefer.

After all, JavaScript serves as a fundamental tool for all web developers. PHP not so much so.

PHP isn’t too difficult to learn but if you use Strapi, you are not even going to need to learn PHP.

Now, when you are creating a custom WordPress site, you are going to have to use PHP on the back and frontend unless you use it in a headless set up (which opens up its own can of worms, as I document below)

For developers: Strapi is a better headless experience

OK, this section here is a very developer-centric section so feel free to skip it if you’re just a businessperson looking for a website. Leave this concern to developers like me.

I built two sites to test the developer experience of building a headless website.

The only thing that changed is the backend. I built this snowmobiling competition voting website on Strapi while I built this contractor’s website on WordPress headless.

The experience using Strapi is significantly smoother. Data was much cleaner and handling errors was also much easier. I also enjoyed being able to easily create custom controllers that check for certain data (such as password length, email strings, etc.).

WordPress is a lot more intimidating in this regard. The main thing that would hinder me from doing a similar project with WordPress is the large codebase that wasn’t meant for such customization.

Sure, with enough time, I could definitely build it out, but time is money and that’s why it’s better to start with Strapi if you are building something that needs custom functionality. Strapi is a clean slate whereas WordPress is still focused on blogs, websites and maybe e-commerce.

Methodologies to use WordPress and Strapi

One of my clients wanted to re-do his website and he was anxious about WordPress becoming a limiting factor.

He looked at his competitor and wondered about whether it’s better to walk away from WordPress.

The first thing that came to my mind is that if he’s already using WordPress, he might as well continue using the same method that has worked well for him, especially since 1) staff are familiar with it and that 2) he’s not facing an immediate stonewalls that inhibit his work. 

There are three methods to build a website using WordPress or Strapi. Let me explain what I think are good uses for each.

Monolithic WordPress

Pros: 

  • Lowest development costs, 
  • Fastest speed to deployment
  • Familiar interface that a lot of people know

Cons:

  • Can be limiting if you ever want to go outside of the unwritten boundaries of WordPress’s capabilities
  • Can be mismanaged by the user, causing poor results

WordPress is capable of running a website all within itself and that’s a great thing.

I enjoy using it to create websites because it results in the lowest development costs and fastest speed to deployment.

This is particularly true if my client is OK with using a pre-made theme with some modifications. That makes things so much faster.

In the other two options stated below, a developer has to build the front-end from scratch and also set up functions to query the data from the WordPress/ Strapi API.

That takes up time.

Headless WordPress

Pros: 

  • Using a modern frontend framework with a familiar WordPress dashboard

Cons:

  • The most difficult and costly method among the three

In my experience, headless WordPress is good if you want the performance of a modern front end while having the WordPress backend experience.

For example, you can build a static site using NextJS or Gatsby using data from WordPress’s API. This can save a client host fees.

The downside is that this is one of the more difficult ways to build a website.

Mainly because this is very much not the main thrust of the “WordPress way” of development. Furthermore, you have to code your frontend from scratch so that’s going to take more effort.

Furthermore, you can build a WordPress static site using a plugin, as I show in this guide.

Building a website with Strapi

Pros: 

  • Easier to build custom features
  • Javascript based

Cons:

  • Deployment takes more skill and effort
  • Not the fastest way to build a blog or informational website
  • No front-end capabilities
  • Limits on the free plan

Strapi is a great tool that I enjoy using a lot. 

The community is active and Strapi keeps getting better and better.

I am really appreciative of Strapi because it allowed me to build an app that would be so much harder with an alternative like Firebase. Strapi comes with user authentication methods and the ability to create Content Types (aka Custom Post Types in WordPress) in a much easier way than WordPress.

I recommended it to a friend of mine who built Vancouver Korean Developer & Designer (KDD) on it. He enjoyed using it but I learned that he hit a bit of a wall because there were limits on the number of admins (and what they could do) on a free plan.

However, it isn’t my preferred tool to build simple websites because of the extra work needed.

You have to build everything yourself with Strapi. For example, if you want to build a few pages for your new website, you will have to create a new Content Type that will have the required input fields whereas with WordPress, pages come automatically with categories, tags, featured images, etc.

But the above example only refers to the backend. You still have to build the frontend from scratch. You don’t get the convenience of using a premade theme like you do in monolithic WordPress.