10 causes why your WordPress site is slow

WordPress has many obvious benefits. We don’t blame you if you thought, getting your personal or business up and running with it will be as simple as it looks from a distance. What many people realise later on is their website is becoming increasingly more difficult to maintain, gets hacked, slows down and ranks low on search engines.

If this sounds familiar, we are here to help and tell you why this is happening. In the following, you can find out more about the most common reasons why your WordPress website can be sluggish.

1. Missing updates

WordPress has an incredible contributor community. The frequency of new stable releases is extraordinary considering the flexibility of the project. It is easy to forget to update your website especially if you are not confident in how to deal with the situation if the update fails. Having the latest version however is the safest bet to maintain speed and prevent hacking on the long run.

You should keep your site up to date. It is simple to do yet has a huge effect on your site performance.

Updates fall into 4 categories.

  • Core – is a catch all phrase for the logic that enables your website to run. Once an update is part of the new stable release, you can be 100% certain, it is for a very good reason. All updates are carefully reviewed and tested, so technically none of them should break your site.
    If a core update breaks your site, the issue is very likely to be found in the way your custom parts – such as theme and plugins – are built. It is an urgent matter and should be investigated asap. If your site falls behind on updates, it becomes more and more vulnerable to hacking.
  • Plugins – are well managed through the public repository within WordPress. Publishers have the option to release updates to their work, so once they are available, users like you get notified. Plugin updates aren’t always free from errors, but the general rule of thumb is: if a plugin doesn’t support the latest version of WordPress, you probably shouldn’t use it very long.
  • Themes – are interesting because you get notified of updates of themes you have installed but don’t use. Unless you are planning to change the entire look and feel of your website (and probably confuse the heck out of your users), it is a good idea to remove all unused themes. Once you have settled with the right one for you, you should always make sure that the theme is up to date.
The various categories of updates within WordPress

2. Too many plugins

The public plugin repository is awesome! It is a brilliant idea and extendability is probably responsible for the popularity of the framework. If you need a feature, you’ll be very likely to find a plugin that does something very similar (or exactly what you’re after if you are lucky). The sheer number of plugins indicate however that many of them simply do not meet the quality standards and ultimately slow your site down. Many plugins offer a stripped down version and let you purchase pro package. Unless the plugin is extraordinary in all respects, people often refrain from using paid pro plugins as there are almost always free alternatives.

Every plugin you install, adds some overhead when the page loads. The cumulative effect can easily be 12s loading time.
The general rules are: 

  • Install only what is crucial for your site to function.
  • Only use plugins that supports the latest version of wordpress
  • Remove all plugins you don’t need as soon as you deactivate them

3. Badly written untested or unsupported plugins

Plugins are often written by newbie developers or people who don’t bother respecting the quality guidelines provided by WordPress. This becomes a potential issue when the inefficiencies add up and cause you or your developer some precious time to investigate the source of the issue. Frequent updates, latest version support and star-rating are the most reliable measures to tell if a plugin is worth installing.

4. All-purpose theme

Themes that have plenty of controls and advertised as an all-in-one solution for all types of websites, usually don’t really work out for any site. The biggest issue is that settings need to be stored in the database, so at every page load they have to be accessed. This means that the server will need to perform a few more database queries before can pass the result to the browser. It is called server response time and it is fairly difficult to reduce once you have built your website using one of these themes. The ultimate solution is to have your theme being developed from scratch. Yes, it is more expensive and takes a bit more time too, but the benefits far outweigh the downsides.

5. Un-minified resources

Minification is a term used for removing all text from a code that does not have function other than helping to read the code such as line breaks, white space and comments. Once a piece of code is minified, it is very difficult to read and debug which is perfect for our purposes.

Our purpose is to keep the file size to the absolute minimum while maintaining the logic our code provides. Modern JavaScript frameworks like React or Vue are designed to work in development or production mode while tools like Webpack or Laravel Mix help combine and optimise assets brilliantly. You will not only have minified files but also one single file. In essence, your site really should not load more than one style sheet or JavaScript file to run.

When your css and JavaScript files are minified and combined, Google and other search engines will like your site much more and since it loads much faster, your users will appreciate too.

Minification and compiling your assets will have a strong positive effect on ranking and performance.

6. Not optimised imagery

If you use Photoshop, always use the save for web option when exporting your images. (CTRL+ALT+SHIFT+S (Windows), CMD+OPTION+SHIFT+S (Mac))

If not using Photoshop, you may want to locate an export option in your software that lets you determine what is the lowest possible resolution and quality that is still acceptable on your website. There is no need for super high-res photos for the following simple reasons:

  • They look exactly the same on a mobile device as if they were lower resolution
  • They load significantly slower
Save for web in Photoshop


Caching means that once your browser has downloaded certain assets, it is told how long it should keep it in its local storage (on your computer). The benefit is that stored assets load much faster that the ones downloaded from a server.

Please note that caching will not help much if your site takes ages to load initially. Users turned down at the first interaction will probably never come back. It works just like first impression of your new neighbour or colleague. If you don’t like John when you meet him, he’ll have a hard time to change it.

Ok, so let’s tell browsers to keep around files.

There is a file in your website public directory called .htaccess. This is where you can specify rules before your other files will be accessed on your server.

If you want to keep it simple, just add this to your .htaccess file.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"

Slow hosting

Not all hosting services are created equal. If your site sits on your own server, you have much more control over your server settings than if you are using shared hosting. In the latter case still you have a few options to make the most of your server resources.

We already mentioned briefly that your page speed will suffer if if your plugins make complicated database queries to dig out settings and alike. This type of issue requires a bit of housekeeping but definitely worth the effort.

Steps to get around it:

  1. Find out how long does your server take to respond when a user is trying to access your website. (Use your favourite tester tool or take our recommendation: Google Pagespeed Insights)
  2. Deactivate a plugin at a time and do a new test.
  3. If you find the cause, try to find an alternative. If it is a complicated piece of functionality, the best solution may be to get your very own plugin developed from scratch.

CDN/external resources

CDN stands for Content Delivery Network and this is exactly what it does. If all your static assets are stored on a lightning-fast server – and so load much quicker -, your site will perform better and much more likely to deal with busy times when hundreds or thousands of users accessing your site at the same time.

Our favourite solution is CloudFlare (https://www.cloudflare.com)

Hacking and malware

Last but not least WordPress receives lots of criticism about being vulnerable to hacking. There is definitely some truth to it unfortunately.

You can significantly improve your chances not being hacked by doing a few simple preventative steps:

  1. Hide your login screen (use this plugin to get it done in 5 minutes)
  2. Use an ssl certificate
  3. Generate keys (the official tool)
  4. Use strong passwords
  5. Change the default database prefix
Use the link in your wp-config.php to generate your unique application keys and replace the default values in this file with the result.

Thank you!

It looks like you are interested in making the most of your WordPress website. If this is the case, check out our article on the best practices by setting up a new WordPress website.

Thank you for reading this article. Please feel free to leave a comment and/or share it with your friends possibly facing similar challenges. Ultimately if you are looking for some expert help, we are more than happy to work with you speeding up your website. It has plenty of benefits. Have a nice day!

1 Trackback or Pingback

Leave a Reply

Your email address will not be published. Required fields are marked *