Struggling with WordPress performance problems?
Having a slow-loading site can be frustrating for both you and your visitors. Not to mention, it’s bad for your search engine optimization and it can even hurt your conversion rates.
Thankfully, you can fix it! In this post, we’ll take you through 20 common problems with WordPress performance and tell you how to fix each one. By the end, you should know exactly what’s going wrong and be able to speed up your site.
Let’s get started…
20 common WordPress performance issues and how to fix them
Now that we’ve discussed why a slow-loading site is bad, let’s look at 20 possible solutions. The best solution will depend on your particular setup, but all of them can help improve site performance.
1. You’re using slow hosting
Ok, I’m sorry for putting this first because I know that it sounds like a sales pitch. But the fact remains that slow hosting is usually one of the biggest problems with WordPress performance.
So – you can skip this one for now and fix all the other WordPress performance problems first to see if that gets you the load times you want. But if you’re still unhappy by the end of this post, that probably just means your hosting isn’t very good.
The fix? Switch to a host from our collection of the fastest WordPress hosting (here).
2. You’re not using page caching
Page caching is one of the most important tactics for WordPress performance. It speeds up load times and reduces server processing by storing the finished HTML of your page in the cache and then delivering it to visitors when needed (learn more about how it works).
Some performance-optimized WordPress hosts implement caching for you. Otherwise, you use a dedicated caching plugin.
3. Your images are too big
On average, images comprise about 50% of the file size of a web page. So if you can find ways to speed up your site’s images, that can make a big difference when it comes to WordPress performance.
There are two parts to image optimization on WordPress:
- Resizing – resize the dimensions of images based on how you’re going to use them.
- Compression – compress images to further reduce the file size without changing dimensions.
To handle both parts on autopilot, and also optimize your images in other ways, you can use the free Optimole plugin.
4. Your visitors are too far from your host’s datacenter
If your site targets visitors in different geographic areas, your WordPress performance might vary between those locations (because physical distance still affects load times since we haven’t figured out how to beat the speed of light – yet!). It could be fast in areas that are close to your hosting datacenter and slower for areas that are far away.
To fix that, you can use a content delivery network (CDN), which stores your site’s static content on a network of servers all around the world so that visitors can download content from the server that’s nearest to them.
5. You’re using an old version of PHP
WordPress is written in PHP, so your hosting has to install PHP to run your WordPress site. However, there are different versions of PHP, and the newer versions of PHP are much more performance-optimized than older versions.
As of November 2020, you want to be using at least PHP 7.3. Anything below that will be insecure and slower (this is especially true for PHP 5.6).
You can change your PHP version via your hosting dashboard – ask your host’s support if you can’t find the setting. If your host doesn’t support PHP 7.3+, you should switch to a new host.
6. Your WordPress theme is bloated
As your site’s foundation, your theme plays an important role in WordPress performance. If your theme is too bloated, your site will load slower than it needs to. Thankfully, you can find quick-loading WordPress themes that still allow for lots of customization.
Our Neve theme is a great option that works for pretty much any type of site and you can also check out our full collection of the ten fastest WordPress themes based on real test data.
7. You’re using unoptimized plugins
There’s a common WordPress myth that “using more plugins” will slow down your site. This isn’t true. However, using “slow-loading” plugins will absolutely slow down your site:
- You could use 50 optimized plugins and have a fast site.
- You could use one bad plugin and tank your site’s load times.
Some good rules of thumb for plugins are to:
- Only use plugins that add a real benefit to your site. If it’s not that useful, you might as well get rid of it.
- Try to only use plugins from reputable developers who have good reputations for code quality.
- Test your site before/after adding a plugin to see what effect it has on performance. If a plugin has a big impact on your load times, try to find an alternative that doesn’t have as big of an effect on WordPress performance.
8. You load all your images/media right away
Your site doesn’t need to load all of its images and media files right away to offer a good user experience. Instead, it only needs to load the content that is visible to a user on the initial page load. If there’s an image, video, or iframe that’s further down the page, you can delay loading that content until a user starts scrolling down.
To achieve this, you can use a tactic called lazy loading. The Optimole plugin that I discussed above will automatically add lazy loading for your images. To also lazy load videos or other iframes, you can use the free Lazy Load plugin.
👉 How to lazy load WordPress content
9. You’re not using browser caching
Browser caching is another type of caching that helps with WordPress performance. With this tactic, you can store certain files on visitors’ local computers so that visitors don’t need to re-download them for each pageview.
For example, your site’s logo doesn’t change, so it doesn’t make sense to have visitors download it over and over. Browser caching lets you avoid that.
Most page caching plugins also support browser caching. Or, you can also use the standalone Speed Up – Browser Caching plugin.
10. Your site’s file size is too big
Earlier, we talked about your images’ file sizes being too large. One fix is to compress them. Well, the same is true for your site’s file size as a whole.
There are tactics that let you compress your site’s content at the server level, which can shrink its size by up to 70%. If you’re not using these tactics, your site will be unnecessarily large (which means it loads slower).
You can fix this with Gzip compression. Many caching plugins include Gzip compression features. Or, you can also use the dedicated Enable Gzip Compression plugin.
To test that it’s working, use this Gzip testing tool.
11. Your WordPress database is filled with junk
Your WordPress site’s database is where your site stores all of your content and settings. Over time, it can get bloated with unnecessary content like trashed comments, post revisions, etc.
To fix this, you should periodically clean out your database to remove that unnecessary content. Check out our list of database optimization plugins to find a solution that lets you do that.
12. You have too many HTTP requests
Every resource on your site is a separate HTTP request. Some examples:
- One image = one HTTP request
- One custom font file = one HTTP request
Generally, the more HTTP requests your site has, the slower it’s going to load.
To reduce HTTP requests, try to remove unnecessary:
- Embeds (like videos)
Some of the other tactics on this list will also help you reduce HTTP requests. Or, consider this guide.
13. You’re self-hosting audio/video
WordPress lets you self-host videos and audio files on your site. However, it’s usually a really bad idea from a performance perspective because your server isn’t optimized to deliver this type of content.
If you absolutely do need the video/audio embed, a better option is to use a third-party service such as YouTube, Vimeo, Wistia, SoundCloud, etc. For best results, you should also lazy load the video embed, as we discussed earlier.
14. You’re loading Gravatar images
If you have a large comment section, your comment avatars might be slowing down your site. To generate the profile images for each commenter, WordPress queries an external service called Gravatar. That means each profile picture adds another external HTTP request.
To fix this, consider disabling avatars by going to Settings → Discussion in your WordPress dashboard (see image below). Or, consider using a third-party commenting system and lazy loading it (which is what we do on this blog – we use Disqus and lazy load the Disqus comments).
15. Your DNS is slow
Every time a visitor enters your domain name, their browser needs to use something called the domain name system (DNS) to look up the actual IP address of your server.
Different DNS providers are faster or slower than others, though. So a slow DNS provider might affect how quickly your site can start loading content.
To fix this, you can use the DNS service from Cloudflare. By the numbers, Cloudflare is the fastest DNS provider – and it’s also free! You also don’t need to use the Cloudflare CDN or WAF to do this – here’s how to use Cloudflare just as a standalone DNS provider.
16. Your code is blocking your site’s content
17. Your code isn’t minified
By default, your site’s code has lots of unnecessary characters that make it easier to read, but don’t affect its functioning. For example, line breaks and spaces.
Minification shrinks the size of your code by removing this unnecessary content (without changing its functionality).
You can enable minification with the free Autoptimize plugin. Or, many caching plugins also offer minification, including WP Rocket and WP Fastest Cache. Check out some good options here.
18. You have too many separate code files
Along with minification, another problem with your site’s code is having too many separate files. To fix that, you can combine all those separate files into a single file, which is called file combination or concatenation.
Usually, it’s faster to load one big file than multiple small files (though if your host uses HTTP/2, the difference might not be as large).
The free Autoptimize plugin can also help you combine your files. Or, some caching plugins also offer this feature.
19. Other sites are hotlinking your images (and stealing your server resources)
Your server has enough work to do serving up content to your visitors – it doesn’t need to power other people’s sites at the same time. However, if you let people embed images from your site on their own site, that can happen.
The solution is to block something called image hotlinking. Read the guide below to learn more and how it works.
👉 How to block WordPress image hotlinking
20. You’re loading unnecessary sitewide scripts
To fix this, you can manually deactivate scripts on pages where they aren’t needed. The free Asset CleanUp or paid Perfmatters plugins can help you do that.
Improve WordPress performance today
For some other tips around speeding up your WordPress site, you can also check out these guides:
Do you have any questions about WordPress performance? Ask them in the comments below!
5 Essential Tips to Speed Up
Your WordPress Site
Reduce your loading time by even 50-80%
just by following simple tips.
* This post contains affiliate links, which means that if you click on one of the product links and then purchase the product, we’ll receive a commission. No worries though, you’ll still pay the standard amount so there’s no cost on your part.