WordPress performance issues

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 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 providers.

If you're in a hurry, here's the summary table from that post:
HostUptimeSpeed USSpeed EUSpeed Asia
Kinsta100%0.85s1.25s2.35s
Flywheel100%1.36s0.3s0.38s
WP Engine100%0.69s1.65s2.08s
SiteGround99.97%1.26s0.44s1.9s
DreamHost99.78%1.87s1.8s3.21s
InMotion Hosting100%1.08s1.32s3.22s
Bluehost99.98%0.97s1.3s2.25s

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 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.

👉 How to upgrade to PHP 7+

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.

Built for WordPress performance: Neve on desktop and mobile

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 your site’s 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 website 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 JavaScript file = one HTTP request
  • One custom font file = one HTTP request
  • Etc.

Generally, the more HTTP requests your site has, the slower it’s going to load.

To reduce HTTP requests, try to remove unnecessary:

  • Images
  • Embeds (like videos)
  • Plugins

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).

Improve WordPress performance when you deactivate avatars

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

The order in which your site’s CSS and JavaScript code loads will affect your site’s perceived performance. For example, sometimes JavaScript can block loading your site’s content, which is why some speed test tools tell you to “eliminate render-blocking JavaScript.”

To fix this for free, you can use a combination of the free Autoptimize and Async JavaScript plugins (from the same developer). Or, WP Rocket also includes these features in the File Optimization tab, as do some other caching/performance plugins.

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

For some plugins, you only need the plugin’s content on certain pages. For example, if you’re using Contact Form 7, you only want it to load its content on your “Contact” page. However, some plugins (like Contact Form 7) will load their CSS and JavaScript files sitewide, which unnecessarily slows down other pages.

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

The performance of your website is important for everything from user experience to SEO and conversion rate optimization.

By fixing all of the common problems that we’ve detailed above, you should notice a dramatic improvement in your site’s page load times. Go use one of these WordPress speed test tools and see how things have changed!

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!

Free guide

4 Essential Steps to Speed Up
Your WordPress Website

Follow the simple steps in our 4-part mini series
and reduce your loading times by 50-80%. 🚀

Free Access

0 Comments
Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!