How to Analyze and Reduce HTTP Requests on WordPress
Looking to reduce the HTTP requests on your WordPress website? When you’re trying to speed up your WordPress site, there are some simple non-technical solutions that make a great starting point, like choosing a quality WordPress host and using a WordPress caching plugin.
Why Do HTTP Requests Matter for WordPress Sites?
You can probably see where this is going…
In general, if a browser needs to make more HTTP requests, it’s going to take longer to load the page because it needs to request a lot more information. If you can remove some of those requests, there’s less to load, which means your site loads faster.
A basic rule of thumb is that “fewer HTTP requests = a faster-loading WordPress site“.
Of course, it’s not quite that simple because not all HTTP requests are created equal. Requesting a tiny tracking file might only take a tiny fraction of a second, while requesting a huge unoptimized image could take half a second.
So if you want the more specific version, it’s something like…
- Eliminate unnecessary HTTP requests to have as few requests as possible
- Pay special attention to slow HTTP requests as they have a larger impact
How to Analyze HTTP Requests in WordPress
The best way to analyze your site’s HTTP requests is with something called a waterfall analysis. This analysis shows you:
- How many overall requests your site has
- Each individual request
- How large each request is
- How long each request took
Most performance testing tools can help you perform a waterfall analysis, including:
I’m going to use GTmetrix for these examples because I like its interface, but the basic idea is the same across all the tools.
To get started, you go to GTmetrix and plug in the URL that you want to analyze. GTmetrix will give you a high-level look at the number of HTTP requests in the Page Details section, but you want the Waterfall tab for a deeper look:
By looking at the URLs, you can start to understand what’s happening on your WordPress site.
For example, if you enter “wp-content/plugins” in the search box, you can see HTTP requests that plugins have added to your site. Specifically, the Lightweight Social Fonts plugin adds a 22.9 KB font request for “fontello.woff” that took 337 ms:
To do this, you can use a technique called file concatenation, which is often paired with minification (another way to reduce the size of your code files).
3. Don’t Let Plugins Load Sitewide If Not Needed
You’ll probably have plugins that you only use on a few pages on your site. For example, if you have a contact form plugin, you probably use it on your contact page and nowhere else.
Essentially, this means that some plugins will add 1 HTTP requests to every single page on your site for no reason – not good!
If you absolutely must use a plugin that does that (rather than a more optimized alternative), you can use the Scripts Manager in the Perfmatters plugin to disable scripts on a page-by-page basis, which lets you force the plugin to only load its scripts on pages where you’re actively using it. Consequently, you can reduce HTTP requests on all the other pages on your site.
4. Remove/Replace Unoptimized Plugins
I’ve already covered the myth that using more plugins automatically means a slower-loading site.
However, using more unoptimized plugins will definitely slow down your site.
So, if you see a plugin with tons of slow-loading HTTP requests when you do your waterfall analysis, it’s worth thinking about whether or not you can:
- Completely remove it from your site if that functionality isn’t necessary to the functioning of your site.
- Replace it with a more lightweight option.
5. Consider Lazy Loading
Finally, to decrease the number of HTTP requests for a visitor’s initial page load, you can use lazy loading.
Lazy loading is a technique to delay loading certain “below-the-fold” assets (like images) until a user starts scrolling down.
Reduce WordPress HTTP Requests Today
In order for visitors’ browsers to load your site’s content, browsers need to send an HTTP request for every internal and external asset on your page.
All things equal, fewer HTTP requests generally means a faster-loading website, though you also need to factor in the size/time of each request.
To analyze the HTTP requests for your website, you can use the waterfall analysis feature in a WordPress performance testing tool like GTmetrix.
From there, you can follow the tips in this post to reduce the number of HTTP requests and speed up your site.
Any questions? Let us know in the comments!