Great design and engaging content are important parts of your website, but if it loads too slowly, people will lose patience and navigate elsewhere. Keeping your WordPress site nimble is a critical part of the user experience – so employing ways to speed up load times and make things work more efficiently is a must!
Better site performance relates directly to more conversions, lower bounce rates, more page visits, and a “stickier” experience all around. Site speed is also a consideration in SEO rankings and can be the deciding factor in search result placement between two equally strong sites in a competitive niche.
The focus on speed is particularly important on mobile, where a study from 2017 found that 53% of mobile users will leave a page that takes more than 3 seconds to load – a time that has likely gotten even shorter with faster devices and improved network speeds.
Why Your WordPress Site is Slow
Before we get into how to improve speeds, it’s helpful to know what’s slowing your site down in the first place.
Loading speeds get bogged down in one of two overarching ways: on the backend (how long it takes the server to deliver requested files), or on the frontend (the overall optimization of the WordPress site itself).
Backend troubles are typically related to hosting – whether that’s a cheap (and low speed) plan, or inefficiencies like outdated PHP, poor database optimization, no page caching, etc.
Frontend issues are much easier to manage, even if you aren’t an expert web developer.
WordPress sites tend to load slowly for the following reasons:
- Too many outdated or inefficient plugins
- Heavy themes
- Too many third party scripts
- Unoptimized JavaScript or CSS
- Large, unoptimized images
We’ll get into resolving these issues below, but with the power of plugins and a few handy tools, WordPress makes frontend improvements simpler than you might expect.
Speed Testing
Testing the performance of your website is painless with online speed testing tools. There are plenty of free, easy to use options available – all you need to do is enter your URL and get your results!
These are a few of the best:
While these tests provide plenty of useful data, there are a few key variables to keep in mind – and they’re all reasons to test multiple times, using multiple tools.
- Connection Speed: User load times will depend on the speed of their internet connection, and some testing tools may inadvertently pad the results you receive by using ultra-fast connections to perform their tests. Use multiple tools and compare the results for more accurate numbers.
- Location: Even though the internet is global, connection speeds can still depend on geographical location. Test from a location near your user base (or target audience) if you can, and if your reach is well beyond local, test from as many locations as possible.
- Device: Desktop and mobile devices don’t necessarily behave alike, so it’s important to use these online speed testing tools from both.
Not all tools have the same features, and the more advanced tests will show connection speed settings, device types, locations, and other granular details about what factors are affecting your results.
Once you receive those results, it might be an overwhelming collection of numbers, letter grades, and points systems. Scores and grades may provide some helpful insight on areas for improvement, but first and foremost, look at the actual load times.
Your traffic doesn’t care how your site loads quickly, they just want the content quickly! The two primary numbers to look at are “fully loaded” times (how long it takes the whole site to load) and Largest Contentful Paint (LCP) times (how long it takes for the “main content” to become visible while other peripheral elements are still loading).
Generally speaking, you want to aim for full load times of 2 to 3 seconds. Google recommends under 3 seconds for mobile sites, and under 2 seconds for ecommerce sites.
Remember, however, that fully loaded times are only one piece of the puzzle. Your LCP results are closer to your site’s “perceived load times” – and are likely closer to what your users actually experience when they arrive at your site. Google recommends an LCP of 2.5 seconds or less, and is now considering load times as part of SEO ranking!
Now, let’s dig into how to improve your site’s performance!
Theme
Some WordPress themes are more taxing than others, and if you want to improve your site’s load times, you may want to consider switching to a lighter weight theme.
Such themes may have limited features, but they’ll still look great and help boost your site’s performance. These are some of the fastest, lightest themes available – but explore for yourself as well!
Hosting
As mentioned above, if your hosting is slow on the backend, users will experience poor load times and generally clunky performance. Even with great optimization on the frontend, slow hosting can still hinder speed – and with it, damage the user’s experience.
High quality, managed hosting will help your site perform at its best. Hosting providers like WP Engine, DreamHost, and Kinsta (among many others) offer the robust backend support that keeps your site running smoothly, as well as customer service to help you adjust settings and options as needed. There are more budget-friendly options as well, but watch out for the cheapest hosting providers if you want to keep your site load times fast!
It’s also a good idea to look into where a hosting provider’s physical servers are located. If you can find hosting that’s close to your primary audience, that proximity will translate directly into better site performance for your main users.
Content Delivery Network
A content delivery network (CDN) uses “edge” servers around the globe to cache your static content. When someone visits your site, your site content is then downloaded from the nearest edge server – and just like with hosting, physical proximity makes a difference in speed!
Using a CDN improves load times because it makes the cached content more readily available from anywhere in the world! Many WordPress hosting providers include options for a CDN as part of their hosting packages, so don’t overlook this relatively simple way to improve overall performance – especially if you have site visitors from a variety of different locations.
Page Caching
When a person visits your site for the first time, each element of that site is retrieved from the server and “built” in their browser. Page caching reduces the workload for your server by storing HTML information in a cache and recalling that information upon repeat visits – which drastically improves load times.
If you’re using cheap or shared hosting, just using page caching can make a huge difference in speeding up your site. Many WordPress hosting providers use page caching automatically, but it’s still worth double-checking.
If your hosting doesn’t already have page caching implemented, you can also use a plugin like WP Rocket, WP Super Cache, or W3 Total Cache (among others).
Optimized CSS and JavaScript
The way your site handles the underlying code also affects site performance. Without getting too far into the coding weeds, taking steps to minify CSS and JavaScript files, combine some of them into fewer separate files, and adjusting load order to favor “above the fold” content can improve load times, particularly LCP.
Fortunately, you don’t have to do these code improvements manually thanks to plugins like Autoptimize and others that make minifying and combining CSS and JavaScript files relatively easy.
These plugins also provide options to exclude sections of JavaScript from combined files, force scripts into the <head> section of a page, and other ways to fine-tune how each page handles code.
Optimized Images
Just like using a CDN, optimizing scripts, and using page caching to make the server’s job easier, optimizing your images reduces file sizes and makes content load faster.
Resizing and compression are the two main components of image optimizing. Making sure that images are the correct size for their intended use (not larger than they need to be), and that file sizes are as small as possible, can be done before images are uploaded to your site. Like many of the strategies here, however, you can also use plugins to handle this process for you!
Imagify, Smush, and ShortPixel are all popular image optimization plugins, and there are other options available as well. These plugins (as well as some page caching plugins, theme options, and browser settings) allow for “lazy loading” as well, meaning that images are only loaded as needed – speeding up performance and LCP.
Plugins
While plugins can be used for a wide range of performance enhancements, they can also be part of the problem! There are so many interesting, handy plugins available, it’s easy to go overboard and bog down your site’s performance. Generally speaking, the more plugins you use, the slower the site will be.
Not all plugins are created equal, however. Even a single poor-quality plugin can drastically decrease load times.
So, when choosing plugins for your WordPress site, try to limit the overall number you use – and focus on the functionality you’re actually using. If a plugin isn’t necessary, remove it! It’s also a good idea to only use plugins from reputable developers, as they’re more likely to have quality coding, fewer compatibility issues, and better overall performance.
The upside, beyond some of the tools we’ve mentioned here already, is that plugins like WP Offload Media can directly improve performance by offloading media to cloud storage options like Amazon S3, and deliver it to your site visitors by way of a CDN.
Revisions
Every time you save a post or page draft, WordPress automatically stores each revision as its own file – and this can quickly lead to a lot of clutter in your database.
To cut down on this issue, you can disable or limit how WordPress handles revisions, either by using a revision control plugin, or by adding one of the following code snippets to your wp-config.php file:
Disable:
define(‘WP_POST_REVISIONS’, false);
Limit (store only two revisions):
define(‘WP_POST_REVISIONS’, 2);
Gzip Compression
A powerful compression technology that reduces file size at the server level, Gzip compression can boost performance in a big way. While most site performance plugins have this feature built-in, it’s powerful enough to mention on its own.
If your existing plugins aren’t already handling Gzip Compression for you, check out a standalone plugin to enable it.
If you’re not sure whether your existing plugins are making use of Gzip Compression, you can easily check with this testing tool.
Comments
An active comments section is usually a good sign that you’re generating traffic and interaction, but it can also have a negative impact on performance. Not only do comments add general “weight” to your site, people’s user images (Gravatar) also each add an external HTTP request to load their profile image.
You could, of course, disable comments entirely – but if you want to streamline your site without restricting users’ ability to interact, you have a couple of options.
First, you can look into lazy load plugins specifically for comments, or even more powerfully, use an external comment system like Facebook Comments or Disqus AND use a dedicated lazy load plugin to further reduce the workload of your site.
Another simple way to optimize comments is by disabling avatar images. You can find this in Settings > Discussion > a checkbox for “Show Avatars.” With this box unchecked, you’ll reduce the overall number of HTTP requests your site has to make for pages with comments.
Browser Caching
For repeat visitors, browser caching allows some assets to be stored on a local computer or device, which means that upon subsequent visits, those files are loaded from the local cache, not requested from the server.
Like so many of the other strategies in this article, this works to reduce both the site and server’s overall workload, in turn speeding up load times and boosting performance.
Like compression, many performance plugins have browser caching built-in, or you can use a standalone plugin.
Preconnect and Prefetch
A major feature of WP Rocket, and available through some other plugins and manual coding as well, prefetching, reconnecting, preloading, and so on are predictive measures based on previous visits that anticipate what actions a visitor will take, and “preload” the relevant information accordingly.
This speeds up perceived site performance by fulfilling user requests before they make them. By the time someone is navigating to the next page, the requests have already been made to the server and the files are already loading.
For a much more detailed overview of how all of this works, learn more here.
Script Management
Running scripts increases load times, so when pages are running scripts they don’t need, it’s adding unnecessary weight to the page and slowing down performance.
Many plugins load scripts across your entire site, not just on the pages where they’re actually in use, but there are other plugins like Perfmatters and Asset CleanUp that allow you to control where and when scripts load.
Similarly, third-party scripts – whether those are external ads, tracking scripts, social media pixels, etc. – can also reduce performance and slow download times, and you have far less control over how they behave. Carefully consider the benefits of each third-party script you use, and try to limit their use as much as possible.
Balance
Last but not least, this is more general guidance than a specific strategy for improving site performance.
Finding the right balance between streamlined speed, sophisticated functionality, and beautiful design can be difficult… And so much of it comes down to testing, revising, and fine-tuning as you go.
Of course, you want your site to look great, but if it comes at the expense of functionality, all of that great design is pointless. On the other hand, a lightning-fast, agile website makes for a great user experience, but not if your performance efforts have removed all of the features.
Keep these strategies in mind as you adjust your site and boost performance, and remember that while each of these tactics can make a small difference, together they can drastically improve site speed, and with it, user experience.