Building a WordPress website today may seem simple. This is partly the case with the multiplication of all the drag & drop tools, the simplicity of the WordPress interface and all the themes available on this CMS. However, it is not easy to create a quality website, it must be technically clean, ergonomic and fast. This requires certain skills in specific areas.
In this guide, we will look at all things related to speed on WordPress.
- 1 No, WordPress is not slow
- 2 Why is my WordPress site slow?
- 3 Implementation: Reducing loading time
- 3.1 The choice of theme
- 3.2 The choice of plugins
- 3.3 The server configuration
- 3.4 The WordPress cache
- 3.5 Other optimization plugins
- 3.6 CDNs
- 4 Speed test tools
- 5 Conclusion
No, WordPress is not slow
Preconceived ideas often die hard. The WordPress CMS, which celebrates its 19th anniversary this year, often faces two prejudices that persist over time:
- WordPress has major security flaws
- WordPress is very slow
I disagree with both of these statements. The first point would deserve a full article of its own on WordPress security, but you should know that WordPress is used by almost 43% of all websites in the world. This is absolutely phenomenal, so it is normal that WordPress is also the CMS on which there is the most hacking facts.
For the second point, yes there are a lot of sites under WordPress which are slow, it’s absolutely true. But you know what? The opposite also exists and it is often the result of a brainstorming, from the beginning of the design of the site.
If you mess around with a WordPress installation without understanding what’s behind it and without having web performance in mind, chances are you’ll end up with slow sites, badly built.
Why is my WordPress site slow?
First fact: it’s not WordPress itself which will slow down your site but everything around the CMS. This includes your hosting, your theme, your WordPress plugins and other things like not installing a server cache plugin.
Let’s look at the technical reasons which could slow down your WordPress site. We will then focus on how to solve these problems, in the section about reducing loading time.
Reflection or optimizations?
You must know that it is easier to think upstream to create a fast website rather than optimize it once it is completed and already online. Why? Simply because if you have to work on a slow WordPress, you may have to modify (and not just a little!) the theme you’ve chosen and remove/change the plugins already in place. This can have a real impact on a large site with a lot of functionalities and overall structure of the site, which have to remain the same; and it can take more work, sometimes much more than creating it from scratch.
Choose the best hosting
The choice of the hosting is important because it is the server that will respond to all the requests made by the site to serve the pages to your visitors. If the response time, the server configuration or the plugins installed on the server are not up to the standard of your site, then the loading time will be slowed down.
Personally I like o2switch (hosting located in France), it has the best service in terms of quality/price. If you are looking for dedicated servers or hosting offers specifically dedicated to WordPress, there are lots of offerts, with similar or different levels of quality. If you are interested in these web hosting, try to read the customer feedbacks according to your needs, but beware of false customer reviews that have been multiplying over the last few years. I recommend the two facebook groups WordPress Hosting and WordPress Speed Up which can be a great help if you have specific questions.
The WordPress theme
The WordPress theme is, as far as I’m concerned, the central element to consider above all for the performance of your site. It will display all the pages of your site to visitors, single pages, articles, categories and content types that you have integrated.
Beyond the design, it is the code of the theme itself which is important because it can be poorly optimized and/or include features that you don’t use and consume resources on your server and on visitors’ web browsers.
The design of the theme you choose has nothing to do with the performance it can produce. I regularly see beautiful WordPress themes that are extremely slow. If you want to know if the theme you have found can be chosen for its performance, I suggest you go to the “speed test tools” section at the end of this article.
Why would a theme be slow?
If your theme is “multi-functional”, that it offers a lot of different features and demos, chances are that it is not really optimized as it should be for its performances. This is often the case with templates available on theme selling platforms such as Themeforest to name the most known. This observation is not systematic but relatively recurrent.
Plugins are just as important as the chosen theme. However, it is not as easy to know which ones might have a negative impact on your site or not.
Generally, you should think twice before installing an plugin on your site. I know that we all have the habit of looking for and adding a new plugin as soon as it is needed. This habit is rather bad, because we often end up with dozens of plugins installed on a single site and some will even cover almost the same need.
Why would an plugin be slow?
Like a theme, a plugin can be slow. If it includes too many files for the browser to load, the optimization is probably not well thought out. An example that I find quite staggering and that lasts over time: Contact Form 7.
Do you already know Contact Form 7? It’s one of the most popular plugins to include a simple form on your WordPress site. The most common use is to include a contact form. Well, you should know that this plugin includes a JS file and a CSS file on all the pages of your site, even if there is no form on a page. It’s a shame to load this resource unnecessarily.
Now think about the case in which you have 25 plugins doing the same thing with 2 files each. You end up with 50 useless files on most of your pages… Do you understand the problem?
Then, if the plugin has some special features like parsing your content to include new elements, it may slow down the execution of your page. Even very popular plugins can have this kind of problem, not all plugins, it happens more often than you might think.
Implementation: Reducing loading time
What can be done to improve loading speed and what should be avoided to avoid a slow site?
The choice of theme
It is impossible to list all the actions to be taken to optimize a theme because they are all different.
However, if you decide to choose a theme that is not very well optimized, the main changes to be made are the deletion JS & Unnecessary CSS, disable unused plugins that might come with the theme. No need, for example, to leave a WooCommerce active on a blog site.
If you are not a developer and you still want to relieve your WordPress of all these useless files without going through code, I advise you to use the plugin “Asset CleanUp“, you can see the detailed explanation further down in the article.
There are several themes specially designed to be very well optimised. The aim is often to :
- Reduce the size of the DOM (i.e. avoid unnecessary code)
- Have the least number of CSS & JS files called
- Have a perfect mobile version of the theme
Remember to pay particular attention to the mobile optimization of your theme. The mobile part is very important for Google, and many visitors will use the mobile view of your WordPress template. If you have a perfect desktop version of your theme and a catastrophic mobile version, your efforts will not be rewarded.
I haven’t tested all the themes specifically dedicated to optimization that exist (and there are many!) but I’ll tell you about one that I know well: GeneratePress.
GeneratePress has been around for several years now. It must be said that it ticks all the boxes to be part of the reference themes.
The Generatepress theme itself is a free version and open-source. His rating on wordpress.org is 5/5.
This theme is compatible and optimized for several page builders, including Gutenberg of course, but also Beaver Builder and Elementor >.
If you choose the premium version of the theme , you will have access to lots of features.
First of all, there is a relatively large number of demo themes available directly to import in one click. The themes of the demos are very varied: business, blog, e-commerce and there is no problem finding a demo that corresponds to your theme.
Then there is a theme builder called Elements. This one is very well done since it adapts to both novices and developers. For example, developers will be able to find or place their blocks in relation to WordPress hooks. This block editor is drag-and-drop (but also in code) and offers a lot of customization options.
Finally, the price of the premium options is $59/year, which is quite reasonable, knowing that you can use this theme on an almost unlimited number of sites (500 maximum).
There are other themes optimized for performance. The best known of all is Astra. I also invite you to test it, it has very good feedback and the community around this theme is extremely large.
The choice of plugins
If you’re a developer, don’t be lazy and develop the functionality you need. If it’s a basic need, this one will save you:
- To avoid a security breach if the plugin has one and/or is no longer updated
- To potentially slow down your site
- To overload the site administration with unnecessary pages
If these are features that you used to use on your personal sites or for clients, just develop them once and then replicate them on all your WordPress rather than multiplying the number of plugins on all these sites.
If you’re not a developer, you can do the same to some extent. There are indeed many sites that will give you some piece of code to include in your theme for example. It is not very difficult to integrate, so train yourselves! Be careful all the same with the quality of the code that you include, always try to understand a minimum of what you are doing, what code does what, check if it cannot there may be flaws with data coming from users etc.
The plugins most used by the WordPress community (even the most popular) can also be very greedy in terms of server resources and overload your front-end. Jetpack, WooCommerce, WPML, Slider Revolution or all the theme builders on the market to name a few: all these plugins that are sometimes essentials will most likely have a negative impact on the loading speed of your site. Do not integrate them without having thought about it beforehand, and try to find alternatives as far as possible. An example ? instead of embedding Slider Revolution in your theme, replace it with Smart Slider, which is much lighter and easier to use.
The server configuration
The server cache
There are various modules related to optimizing and caching your files on your server. If you use for example an interface like cPanel, it is easy to activate and configure these modules.
LiteSpeed with its LSCache cache is also a very practical server cache module. It is very often present on shared or dedicated server interfaces. This is probably the most used server cache but there are other cache tools like Varnish.
It should be noted that there is also a LiteSpeed Cache plugin on WordPress which allows you to activate and configure all the possible options once this module has been activated on your hosting.
Version of PHP
Check that your server is at least on PHP 7 (PHP 7.4 ideally) or even better PHP 8.0 or 8.1. Be careful all the same with the compatibility of certain plugins under PHP 8.
There is little chance that your hosting is still on PHP 5.6 or lower, but if it is, you must absolutely change it. Imagine that PHP 7 is twice as fast as PHP 5.6. Moreover, the speed is constantly improved with new versions of PHP.
The WordPress cache
Cache plugins for WordPress: that’s a big chunk.
There are many and everyone has their preference. I can’t list here all the functionalities of all the existing caches because it would be too long, but I will mention the best known and explain their specificities.
Among the most popular, here is what we can remember:
- WP Super cache
- W3 Total Cache
- WP Fastest Cache
- Comet Cache
- WP Rocket
WP Super Cache
Let’s start with WP Super Cache, it’s probably the most used cache by publishers on WordPress, it alone has more than two million active installations, which is phenomenal .
This cache offers two types of configuration: Essential and Expert if you want to go a little further. It is possible to configure some elements:
- Cache duration before regeneration
- Browser cache
- Mobile cache
- Files to always include or exclude
- Miscellaneous slightly more advanced parameters
This plugin is relatively efficient. Let’s just say it does the job, although it’s not, in my opinion, the best for caching your pages.
W3 Total Cache
W3 Total Cache is also an extremely popular plugin.
The main difference with WP Super cache is the customization options.
This is very complete and allows you to configure, among other things:
- The cache type
- The combination and minification of CSS & JS
- The database cache
- The browser cache
- An external CDN
The advantage of this plugin is that each part has a lot of options. I counted for example more than 20 options for minification of files. This allows you to fine-tune your WordPress cache!
WP Fastest Cache
A still very popular plugin. WP Fastest Cache for once offers far fewer options than its competitors, at least in its free version.
You can still do the essentials:
- Minimize/combine files
- Enable compression
- Enable mobile cache
WP Rocket is a plugin that I personally use a lot. It is a paid plugin, but which for me is well worth it in terms of quality/price.
Why? Simply because there is everything, and caching is usually very fast.
With all the tests I was able to perform with most of my sites and excluding Nitropack (which we will see next), it was systematically WP Rocket which obtained the best note on PageSpeed.
The plugins allow you to configure:
- Mobile caching
- Minimizing/compressing and lazy loading CSS & JS
- Media optimization, i.e. the lazyload of images
- The urls to include/exclude
- Various settings on the database in order to lighten it
- CDN setting if necessary
The default settings are usually good enough that you don’t have to change anything, but you can go even further at the level of images, database, or files CSS/JS to gain some points on speed tests.
The price for editing a site is 44€/year, 88$ for 3 sites and 222€ for an unlimited number of sites. If you are a site editor with dozens of sites that you maintain for yourself or your clients, the unlimited license is worth it in my opinion.
Unfortunately, there is no test version so that you can test the plugin before buying it. On the other hand, watch the price carefully because there can sometimes be reductions, especially during black friday.
Having tested NitroPack (only the free version) on several sites, this is the one that impressed me the most. For two main reasons:
- This is the one that gives better results whether for the mobile or desktop version.
- There is almost no configuration to do!
How it works is quite different from other caches. All site optimizations are processed on Nitropack’s servers. They fetch your pages and then modify them. We thus quite often obtain a score of more than 90 on the mobile pages of the optimized site, which is a score that is generally difficult to achieve, even with another cache plugin.
If you have a small site, i.e. less than 5000 page views/month and less than 1GB of bandwidth used, then you can install Nitropack for free >in exchange for a banner with the Nitropack logo at the end of your site (located after your footer).
On the other hand, as soon as your site receives several dozen visitors per day or more, you should switch to the paid version of the plugin. This is not given since it will cost $17.50/month for a maximum of 50,000 page views and more for larger sites. Unfortunately I haven’t been able to test this version yet.
It is certain that Nitropack, which is the latest comer in the world of WordPress cache plugins, will continue to be talked about thanks to its excellent results.
Other optimization plugins
Let’s talk about other optimization plugins that I can use when creating a site.
EWWW Image Optimizer
The sole purpose of EWWW Image Optimizer is, as its name suggests, to optimize the images displayed to visitors. This mainly involves three steps:
- Reduce the size of uploaded images
- Display images in webp, which is a web-specific image format< /li>
- Enable lazyload if your caching plugin doesn’t already. This makes it possible to load page images only when they are displayed on the screen (for example when a visitor scrolls the page).
This kind of plugin is indispensable, especially if you don’t reduce the size of your images before uploading. Images can often weigh one or even several megabytes (which is considerable). There are other plugins that have the same features like Imagify or Smush.
Assets CleanUp is not a very well known plugin but for me it is an extremely useful plugin and very largely underestimated.
Why? because with this plugin you will be able to very easily delete the JS and CSS files of your themes and plugins on each page! What purpose ? delete all those useless files that simply slow down your pages. This is done through a graphical interface in a few clicks.
In the example used earlier with Contact form 7 unnecessary files, we could exclude them all except on our contact page.
Warning though removing the resources, you have to understand what you are doing, if you are not at all familiar with JS and CSS files, it is < strong>you may break your site. Moreover, there is a test mode that allows you to test your changes before publishing them.
I didn’t put this plugin in caching plugins because it does what many caching plugins do but without caching! That is to say that it concatenates and minifies all the files of your site among other things, and it does it rather well! The plugin is quite light and easy to configure, it may be a good idea to use it if you don’t want to bother with a cache on a small site.
Adding a CDN to your WordPress site will allow it to be replicated around the world so that it is accessible relatively quickly from n anywhere.
Some cache plugins also include their own CDN. This is the case for the paid version of NitroPack, and it is an additional option for WP Rocket for example.
Generally speaking, it is possible to configure any CDN with all the most popular caching plugins.
If you plan to reach an international target, or have an extremely fast and optimized site, the choice of a CDN may be wise.
Speed test tools
Here are all the online tools that will give an indication of the speed of your site.
PageSpeed is the essential tool for testing your web pages. Why ? Simply because it’s Google’s tool! And since Google crawls the entire web to index pages, the measurements given by this tool will also be used by the Google robot. If your pages are considered too slow by the Google robot, this may have a negative impact on the Google crawl of your site (see google article).
If you’ve used this tool recently, you’ll have noticed that it first displays results on mobile before displaying those on desktop. Google attaches great importance to mobile because many users use the web from this type of device.
Google also shows you below the problems related to the page and the technical possibilities to solve them and improve the loading time.
This tool is sometimes considered relatively severe compared to other online tools, particularly for mobile, but it is nevertheless the one that should probably be taken into account the most.
GTmetrix is a practical and complete tool, it is also the best known.
If you are logged into your account, you will be able to choose the browser with which to test the site, but also the location of the test, the connection speed and the presence or absence of an Adblock to prevent the display of advertisements.
WebPageTest is another online tool, relatively similar to gtmetrix.
This overview is now complete. We have seen that the loading speed of your pages is an essential element in the creation of your site. It allows your visitors to load the site as quickly as possible. A slow site can scare away your visitors who will not wait for the end of the loading to look elsewhere. The speed will also show Google that the site is fast so as not to be penalized from an SEO point of view.
You now have all the necessary elements to know what to do to speed up your WordPress installation.