This guide is written for anyone who wants to learn the fundamentals of WordPress performance optimization.
For many WordPress beginners, their vocabulary for understanding website performance consists of “fast” and “slow.”
Like with all topics, you can’t understand the subject matter well without learning the terminology first.
In this post, you’ll learn a few new terms and use a free tool to help you better understand your site’s performance.
How to measure your site’s performance
There are lots of tools for measuring a website’s performance, but in this post, we’ll be working exclusively with the popular GTMetrix performance grader.
To use this tool, all you have to do is copy & paste your website’s URL into the field on the homepage and hit Enter.
GTMetrix will run a few tests over the course of about 20 seconds, and then you’ll see a report like this:
There’s a lot to unpack here, but we’re going to focus entirely on the Page Details section on the right.
Understanding your performance metrics
GTMetrix highlights three metrics in each report:
- Fully Loaded Time
- Total Page Size
Learning about these metrics and how they work will help you tremendously with improving your site’s load times.
Fully Loaded Time
The first number you’ll see is the Fully Loaded Time.
This number is how long it takes for your website to finish loading completely. In other words, this is how long the loading icon is spinning in the browser tab before the site is totally done loading.
Average Fully Loaded Time: 6.8 seconds
Total Page Size
The next metric is Total Page Size.
In this case, “size” is a term used to describe the amount of data (like KB and MB) not the visual dimensions of the page.
For instance, a 3MB image on your site would greatly increase your page size. We sometimes also refer to this as the “page weight.”
Reducing your Total Page Size will reduce your Fully Loaded Time.
Average Total Page Size: 2.97MB
The final metric in the report is called Requests.
“Requests” means the number of file requests. For instance, a blog post with five images will make 5 file requests for those images. It will also make a request for the theme’s CSS file, JS files from plugins, and so on.
Reducing the number of requests will reduce your fully loaded time.
Average number of requests: 85
Putting it all together
Here’s the big takeaway from these three metrics:
Your site’s Fully Loaded Time is increased by your Total Page Size and Requests.
This website has a low page size and few requests which is why the Fully Loaded Time is so far below the average.
So, if you want to speed up your website, you do that by:
- Decreasing your page size
- Reducing the number of file requests
Inside the GTMetrix report, you’ll find a list of recommended optimizations based on the Google PageSpeed report, and besides a few, they all revolve around reducing page size and reducing requests.
As you optimize your website, you should return to GTMetrix occasionally to reevaluate your site and make sure your page size and requests are going down. If they are, you should see your Fully Loaded Time follow.
Tip: Before you begin optimizing your site, it’s a good idea to screenshot your results so you can do a before-and-after comparison.
You’ve already learned the most important aspects of measuring website performance, but there are a few subtleties you should also be aware of.
Your measurements won’t stay the same
Each time you run your website through GTMetrix, your Fully Loaded Time is going to be a bit different. And if you try out some other tools like Pingdom, you’ll see different values again.
The truth is, your computer doesn’t get a perfectly even flow of bandwidth from your router, and neither does your server or the tools you test with. Your results simply cannot be exactly the same each time you test.
The good news is that your tests won’t be that different. Your page size and the number of requests will stay the same, and the fully loaded time should only shift by a few milliseconds.
But that small change does introduce a problem…
Improvements are hard to measure
If your site loads in 10 seconds and then you optimize it to load in 5 seconds, it will be extremely evident. You won’t need any tools to know that your site is loading faster.
But oftentimes, you’re making small optimizations that take your site’s load time from 4.5 seconds to 4.2 seconds. If you rely strictly on your own observations, you won’t be able to tell the difference.
And here’s the lousy party…
Since GTMetrix (and every other performance tool) will give you a slightly different Fully Loaded Time with each test, it’s really hard to tell if small optimizations worked even when measuring with tools. This can be disheartening if you complete a new optimization and then GTMetrix shows your site loading slower than before.
While I don’t recommend dismissing testing entirely, it does have this fault.
So how can you be sure the changes you’re making to your site are actually helping with performance?
Stick to the fundamentals
When in doubt, stick to the fundamentals of performance optimization:
- Decrease your page size
- Decrease the number of requests
Those two tactics will always work to improve your site’s performance, so if you get confusing results from GTMetrix, just ask yourself:
- Did I reduce the number of file requests and/or reduce the size of the page?
If yes, you’ve done a good job.
How do I optimize my site?
I keep talking about how you should reduce your page size and requests, but I haven’t told you how to do that yet.
That’s because I already have a massive blog post on the subject:
It’s over 7,000 words long and includes every single viable performance tactic for speeding up WordPress. I use all of those tactics on this website which is why it loads so quickly.
It should be helpful to demonstrate exactly how to lower your page size and requests, and if you are still trying to wrap your head around these ideas, there’s more explanation and examples in that post.
I hope this article helped you to understand performance optimization, and if you enjoyed it, please share it with someone else before you go.