WordPress has been around for almost 20 years and never stopped evolving. If we took a look within the original code, that’d prove to be completely different than the current.

Whether you like it or not, as a dev or even web designer you must agree: there is no comparison with any CMS from that same era. Drupal, Joomla, Typo3 and many others. They are still evolving and releasing new versions here and there, but their shape and structure remain basically the same.

Finally, in terms of modules, plugins, extensions and themes, there is no match for WordPress’ community. Literally you can find dozens of thousands of free plugins and theme, and many more if you include the premium ones.

Well, but competition is still around, especially the new ones, like headless platforms and cloud CMS and services. They are an option indeed, especially depending on what you have in mind, but as they spread, the old myth that haunts WP lovers emerge stronger than ever.

“WordPress is nice, but really slow”.

Is it?

Ok, is WordPress slow anyway?

First of all, let’s stop comparing apples and oranges. Of course, if you compare any self hosted script with cloud services operating with abyssal datacenters, it will be really “slow”.

Also, we always need to compare WP or any other script with something capable to offer the same features. For instance, you can’t compare WordPress as a self hosted script with Contentstack. But you can compare it with WordPress.com.

Considering the majority of WP websites, and that includes over 40% of all world’s websites, the average speed is really nice.

Most of them are actually hosted in a five-bucks shared hosting service, so having that in mind, they are really running fast.

However, especially in the last few years, the number of website owners complaining about WP performance increased hugely. As the script itself actually improved its performance, that wouldn’t make any sense. But it does…

Myth: WordPress is slow

One must compare it with similar technology. Having that said, the most similar scripts to WordPress are Joomla and Drupal. Notwithstanding the evident outdated assortment of tools and resources, either for web design or coding, both platforms actually generate heavier pages.

SEO maniacs have been spreading that WordPress is slow (sometimes suggesting corporate clients to opt for obviously personal tools, like Wix). The fact is: if you use one of the built-in themes or a good starter and keep the things straightforward (no Revolution Slider, WPBakery or unnecessarily heavy packages), your WP website will be really fast.

Of course you can compare it with static generators, like Statamic or Gatsby. To make use of tons of features currently offered by the community, sometimes you need to sacrifice a bit of speed.

Then again, if you plan to just serve static or non-dynamic content, those generators are surely a better option.

Server matters

Another thing that makes WordPress slow is how badly companies use to choose hosting services. Honestly: shared hosting is now in the past. For basically the same price, you should be choosing between a VPS or cloud server, if you develop, or managed hosting services.

Do not believe in your client when he tells you that “we just want a simple company’s website”. It doesn’t matter if you are a programmer, a web designer or even one of the block-piling devs (who just rely on Elementor, JetEngine, etc).

In a week or so, that “simple website” ordered by your client will be including a dozen of sliders, hosted videos, all flavours of live chats and social plugins and whatever hell he found while googling stuff.

CDN and cache plugins

Is a CDN really useful for your website? And which caching strategies should you use?

A CDN applies to a website which is either hosted in a server in the other side of the world, or serve content to multiple regions. That means: not for ANY website. Sometimes it brings some complications you don’t want to deal with, and gives no performance in exchange.

Cache plugins can also be misleading. Although most work as expected in a small scale, as traffic grows, they tend to struggle.

There are many cache plugins and most require some knowledge to be configured. But usually, website owners overcache websites using multiple features, and as a result, they face problems with… speed.

Some issues and exceptions may happen and by overcaching, changes may not appear properly in the frontend, so owners clear their caches more frequently (killing the main purpose of the tool). Some of the plugins can actually make WP slower, like W3 Total Cache or WP Rocket. Not because they’re bad, but because of their misuse.

Many caching plugins use to create static files to be served to users, which tends to fasten times. However, the process itself takes time and resources. And if your host relies in a poor or outdated filesystem, that will be a problem. For that reason, many specialists recommend website owners to look for SSD storage while hiring hosting services.

Finally, as CDN and cache plugins sometimes are doing the same job, you completely lost the control over whatever the user is actually seeing while browsing your website.

Strangely, if you kept your WP installation neat, with lightweight plugins and themes and in a good hosting service (that offers more advanced caching mechanisms like Redis) you wouldn’t need to bother with caching plugins at all.

Do plugins slow my website?

Yes and no. Imagine, for instance, several plugins that perform a single task: to add a shortcode to WordPress. Those shortcodes will be just registered, and unless you use them, the code triggered by them won’t be running at all. You could have a hundred plugins like those installed and would see no problem in terms of speed.

But modern plugins are not happy with performing simple tasks. Of course some features are mind blowing, but in order to keep the website performance, maybe you should remove some plugins that:

  • Perform multiple queries to the database, like those for related posts
  • Plugins that load a monstrosity in JS, like Revolution Slider
  • Plugins that allegedly protect your installation (but not that much) will destroy your performance, like Wordfence
  • Seems unbelievable, but avoid using image optimization plugins. They mess up the thumbnails structure and rely on not so efficient techniques. Always prefer to optimize before uploading or use a CLI tool instead
  • Plugins that create heavy background and schedule tasks, like backup plugins or broken link checkers
  • Really Simple SSL. Because forcing HTTPS is already stupidly simple

Do themes slow my website?

Well, if you are asking… yes, they do. Although nobody likes to reinventing the wheel, and some themes really meet your needs perfectly, the problem starts with “modern” web designers.

Of course you should be using editors like Elementor and even the latest features from the native block editor, but use it wisely.

The reason is simple: they are powerful, and can be easily extended by competent devs.

If you are a web designer, use it freely. However, the modern theme development seems to be just something like buying an “almost-there” premium theme at Envato and add any outrageous number of plugins to get finally there.

If code style is not something tipically seen in plugins, when we check coding for themes a lot of absurds spark out.

Hard coding, exposed database queries, fields and meta never validated or sanitized. It is gross. Also, Envato’s themes seem to have a preference for builders like Wpbakery, which can be considered outdated in a number of features.

Shmoptimized assets

You just installed an optimizing plugin, click for minify or concatenate assets and “pluft”, your website is broken. Modern web development has its tricks. While libraries and resources are becoming more sophisticated, building them and optimizing also does.

For such reason, most top-notch frontend developers for WordPress and other platforms are currently using JS bundlers, like Webpack, Browserify or Parcel. Of course they optimize and bundle all assets together, but they do a bit more than just put them together.

Optimizing plugins simply minify and push all assets in a file. Due to dependencies and the logic of the process, some functions, classes and methods may not work as usual. As a result, features may be broken and errors will make the website slower.

Building assets like this, however, is something that requires knowledge and access to CLI tools like NPM or Yarn. So, if you are developing for performance, convince your clients to opt for hosting services that provide such kind of access.

Optimizing images is something even more complicated nowadays. There are at least 30 different plugins that claim to do the job. However, most of them rely on your server resources – which is expensive in terms of CPU and memory usage. Also, most of them actually compress by 5% or 10% the vast majority of the images – which is not really efficient.

As an alternative, using cloud services and APIs to optimize, or CLI tools if you have root access to your server will prove to be tens of times more effective. Even WP-CLI can currently be equipped with commands to optimize images in bulk, as you can read here in detail.

PHP versions can’t operate miracles

When clients look for an agency because their websites are poorly performing in terms of speed, usually they hear something about the PHP version. Of course – PHP 7.3-7.4 perform way better than previous versions. And finally, the performance for 8.0-8.1 is really good.

However, most plugins and themes currently pollute the debug mode with tonnes of warnings and deprecation notices, if not errors. As you move your PHP for newer versions, especially 8.0 or higher, the performance should be better – but it won’t be.

Unfortunately, WP is a platform that needs to provide legacy support in many routines. That happens because of the thousands of plugins and themes – most of them rarely updated and using dated code.

Upgrading the PHP (and also MySQL server) sounds a good idea at first. However, unless you kept your website objective, with a few plugins and developed the website from a lightweight starter theme or even using the latest block themes approach, you’ll face several issues.