Website Loading Slowly? You Can Probably Blame Ads
Few things are more frustrating than when you notice your website loading slowly. There are a myriad of factors that contribute to performance bottlenecks and slow page speeds, but one of the most notorious culprits that we’ve encountered recently is ad networks.
Ad networks have become the bane of the internet. It’s become enough of a problem that Google has started penalizing sites that go overboard with interstitial ads, or ads that try and trick users into downloading software.
We see ads causing performance issues on our client’s websites all the time. It’s true that you can make a decent amount of money from ad impressions, and for many publishers it’s their sole stream of revenue, but that doesn’t change the fact that poorly implemented ads, or ads that haven’t gone through quality control can cause serious performance issues that frustrate readers, and keep people from coming back to your website.
There’s a virtual tightrope walk that constantly puts site owners in an awkward position. They’re always asking themselves, “How can I maximize ad revenue, and generate as many impressions as possible, without interfering with the experience of my readers?”
That’s not a fun place to be, so today I want to go over how you can figure out if ads are to blame for your slow loading website, why ads are a bottleneck at all, and what to do if you find yourself in a situation where ads are ruining your user experience and page load time.
Discover Why Your Website is Loading Slowly
The first thing we need to do is dig into why your website is loading slowly in the first place. We’re going to ignore things like subpar web hosting, bloated themes and plugins, database overhead, and things of that nature. Let’s take a look at ads specifically, and whether or not they’re contributing to your slow page load times.
Testing Ad Impact With the Right Tool
There are a number of different tools that are used to test front end performance of your website. These tools are nice because they’re free to use, and simple to use as well. Just enter your site URL, wait a minute or two, and you’ll be given back loads of actionable data. Here are some of the most popular ones:
- Pingdom Tools – Really fantastic interface, but doesn’t give back a lot of super technical data regarding performance bottlenecks. Also, limited locations for testing.
- Page Speed Insights – This is the tool built by Google to let site owners know how the world’s biggest search engine sees their websites. This is a tool you’ll want to use pretty regularly if you’re focused on growing your organic traffic, since page speed is part of the search ranking algorithm
- WebPageTest – This is more or less the de facto standard for web performance geeks. The interface isn’t as pretty, but the data is second to none and overall this is an incredibly powerful tool.
- GTMetrix – GTMetrix is similar to Pingdom Tools in a lot of ways, but has one silver bullet that neither Pingdom nor WebPageTest can provide. GTMetrix gives you the ability to enable an ad blocker in your testing so you can see true comparisons of how your site performs with ads enabled, and how it performs when they’re disabled. Note: The ad blocker integration is only available in the paid version, but well worth it for the value of the data you get back.
For today’s tests we’re going to focus primarily on GTMetrix and WebPageTest to show how ad networks impact your site performance.
The most obvious impact of any ad implementation is the addition of HTTP requests. Typically speaking, a basic WordPress website will have anywhere from 30 to 150 HTTP requests. The WP Site Care homepage is pretty well-optimized, and we make 96 HTTP requests, so you have some context.
An HTTP request is basically just another name for every time your computer requests new information from your server, or any other server for that matter. Of course as more requests are made, that’s undoubtedly going to take longer to process. This gets even more complicated and involved when those servers are distributed throughout remote physical locations. Even though information travels at the speed of light, there’s still going to be latency if my computer is making hundreds of requests to Albany, Austin, Atlanta, and Acapulco all at the same time. Keeping HTTP requests as low as possible will ensure better performance for your website.
Now let’s take a look at an example from an unnamed website on the internet. The identity of the site owner has been removed to protect the innocent, etc. We captured the following results using the GTMetrix performance testing tool.
The first screenshot shows the performance of the site with ads completely disabled. 81 requests is very respectable, as is a 2.8s page load time. Anything under 3 seconds is considered a win in most cases. The page size could be reduced some, but for an image rich website it’s not uncommon to have a page size around 2MB.
In the second screenshot, ads were turned on. Here’s a percentage breakdown of the exact performance impact of ads on this website.
- Page load time 8.6s – 307% increase in page load time when ads were introduced
- Total Page size 3.55MB – 152% increase in page size when ads were introduced
- Requests 446 – 550% increase in HTTP requests when ads were introduced
This isn’t even ad edge case or extreme example. We see and review sites just like this one every single day. We’ve seen sites where enabling ads introduced over 1,000 new HTTP requests!
Varying Physical Locations
The number of HTTP requests made by ad networks is a huge issue, and it’s compounded even more when you start to take into account where all of these ad servers are located. The more physical distance that has to be traveled to return ads to your website, the slower the page load times are going to be.
Let’s take a look at the same website from the last example, and take a look at how many different servers are being used to serve up this ad content.
The pie chart on the left is completely out of control. HTTP requests are being made to over 150(!) servers across the world. It’s truly remarkable that data can be returned from that many places in less than 10 seconds.
The 15.7% slice of pie is the server that hosts the actual website. The WHOLE ENTIRE WEBSITE makes just barely more HTTP requests than the top ad network on the site. Let me reiterate that. One ad network makes almost as many HTTP requests as all of the content, images, and assets that make up this entire website.
Take a look at the HTTP request breakdown by domain for wpsitecare.com. We load data from about 15 different servers instead of 150+. We could cut that number down even more, but we use the Twitter, Facebook, and Google APIs to add some features like our homepage twitter stream and things like that. It’s a conscious decision to include those additional HTTP requests, because they allow us to add cool features to our website.
We also know that massive entities rely on the Twitter, Facebook, and Google APIs a lot more than we do, so we can trust that they’re keeping their networks maintained and performant.
How to Keep Ads from Slowing Down Your Website
Now I’m not quite naive enough to say publishers should abandon the ad revenue model altogether. There are definitely other business models that can be more lucrative and have less impact on your readers, but when ads are the core piece of your revenue, it’s tough to make that switch without making some big strategical changes.
Know Your Ad Provider
We see a myriad of ad providers out on the web, many of whom are super reputable and keep their ad servers optimized, and require advertisers to comply with a strict set of guidelines.
The flip side is that we see just as many shady ad providers who are more interested in their own bottom line than they are about your website. They have loose or no performance guidelines at all. They don’t require asynchronous ad loading. They’re totally content with littering your site with garbage code, as long as it keeps their revenue numbers growing.
It’s completely common for these providers to blame any other myriad of factors for your slow performing website. But when presented with data like we’ve collected, it becomes almost impossible for them to refute. That doesn’t keep them from defending their poor implementation practices. If the “secret” about ad performance gets out into the wild, that could really damage their business. So it makes a lot more sense to keep things on the down-low.
Be Excruciatingly Picky About Your Ads
There are a number of reputable ad networks out there. Here’s a list of some of the more popular ones, that for the most part, can be trusted to deliver quality ads in a performant way.
- Google Adsense – This network is extremely popular as it’s extremely easy to optin, has few restrictions, and is very easy to implement.
- WordAds – This is the network that runs ads across the entire WordPress.com platform. They’ve recently allowed publishers on self-hosted WordPress sites to apply.
- Media.net – This network delivers ads primarily from the Yahoo/Bing network, which delivers ads at a very large scale. There’s also no minimum traffic requirement to join this network, so definitely worth checking out for smaller publishers.
- RevenueHits – This is actually an advertiser that prides itself on performance, which is really rare in the ad network space. They also have massive inventory and no minimum traffic requirements.
- Doubleclick for Publishers – This is another Google product, but it’s different than Adsense in that it’s the actual server platform itself, and then you ad inventory to it, from AdSense, third-party networks, and direct sell ads. There are some minimum requirements for using DFP, and to maximize revenue you will want to hire someone to set this up and manage it for you. From a performance standpoint, it’s as rock solid as they come.
Even this list of trusted sources can slip up from time to time, so if you’re not comfortable evaluating ads on a somewhat regular basis on your own, definitely reach out to professionals who can manage your ads and who can audit your ad setup from time to time.
Diversify Income Streams
The last option to help reduce the performance impact of ads on your website, is to start moving away from them. Or, at the very least, to start introducing new revenue streams to help subsidize what you’re earning from ads. Some really popular models that we’ve seen work well for our customers are
- Affiliate Marketing – This is our favorite alternative to display advertising, as it’s still works 24/7, and it also makes the reading experience better for community. Affiliate marketing is using outbound links on your website with a built in referral code so you get a bonus if a reader purchases a service or product on another website
- Digital Products – Create your own guide or handbook that brings a ton of value to your readers, and sell it for a small fee. You could publish your first book or release your first single if you’re a musician. You can start selling more easily than you think using GumRoad or a WordPress plugin like Easy Digital Downloads
- Services – Do you have an awesome service that you can sell to your readership and community? It might be work looking at how to best provide that in a way that makes sense. It’s not quite as attractive because you end up trading time directly for money, but if it pays the bills, it’s definitely something to consider.
Just Say No to Slow Websites
I’d like to wrap this article up by challenging you to run your website through some of the tools I mentioned earlier. How do things look? Are ads killing your site? How many HTTP requests are coming from servers other than your own? If things look grim, it’s time to start putting together a plan for keeping those page load times in check.
Figuring out a way to increase your bottom line, expand your reach, and doing it all in a way that keeps your readers happy is definitely possible, but I’m not going to lie to you and tell you that it’s easy. It’s a lot of hard work!