Improving Geekzone page load time breaks ad blockers... Ask the ad blocker developers to fix their software
Warning: long-ish, geek-ish post ahead...
For the last few months I have spent at least a few hours every week trying to make Geekzone the fast as possible. I really believe the web needs faster websites, and the answer is not only on laying bigger pipes, but smartly using the technology available.
There are many reasons to have a fast website. For the publishers I can think of higher position on Google search results, reduced bounce rates, improving time on site, and many more. For readers the most obvious is that instant gratification when they can try loading a page and start using it almost instantly.
Our site is hosted in Auckland, mainly because 65% of our New Zealand traffic actually comes from that single city in the country. Also because it's closest to the point where most data traffic leaves New Zealand, which is one less hop for all our overseas readers (and we have a large number of those, almost 55% of the total visitors number).
We implemented domain sharding, by creating domains for our css, images, avatars, flags, etc. This was later replaced with a CDN using a base domain name different from our main Geekzone one, so to create a cookieless domain, avoiding unnecessary data traffic when browsers requested those resources.
I also spent some time changing our database schema, indexes and creating a session management that didn't rely on the standard ASP IIS session. This allowed us to increase the number of workers processing web requests.
One of the best changes we made was implementing Aptimize, a server-side software that transparently optimizes our pages by automatically creating image sprites, CSS inline graphics, and other special tricks. Running Aptimize pratically reduces the number of requests by half when loading the Geekzone front page, and cut the number of requests in our forum pages down by a third. Don't believe? Check this test with Aptimize off and a test with Aptimize on.
Aptimize also helped me create the CDN bits by automatically rewriting references to static resources to point to a domain of my choice.
Those and other changes (including code changes) proved well worth the work so far. Average page load times were down from ten seconds to about six seconds (this includes overseas visitors), and New Zealand visitors see an average of two to three seconds load time. This includes the time to load advertising in our pages.
But we still had some other tricks, but let's talk about something else before going there.
Online advertising. Since 27th October 1994 we have lived with online ads. That's when HotWired ran the first banner ad on a webpage. Since then many content publishers, including myself, can only afford to continue providing their service for free because of banner ads.
It's a common misconception that publishers make money only if you click an ad, and since you won't be clicking an ad then blocking banner ads won't impact publishers. This is wrong. Online advertising comes in many "models", including CPM (Cost per thousand), and CPC (Cost per click). In CPM models publishers get paid by the number of impressions of an ad, regardless of how many clicks it gets. So this clearly means that blocking ads prevents publishers from realising important revenue - money that goes into paying hosting, traffic, CDN, software, development, salaries, etc. Some time ago Ars Technica wrote an important article on why Ad Blocking is devastating to the sites you love.
Back when the only way to access the Internet was on dial up people started using "ad blockers" because, seriously, any extra bit to download impacted on the time a browser spent loading a page. This is not true on bradband connections anymore. We are talking about seconds, down from minutes. And we are talking about seriously breaking the web when only large media companies could be able to run websites (and they still run ads on them anyway).
I once received a tweet from someone saying "hey, the Geekzone layout is broken when I use ad block, any chance to fix the layout?"... I know that person. As in I have met him before. And I seriously think he wouldn't work for free. But he was asking me to help him with a problem created by his own action while blocking ads on my site. Sorry but I couldn't spend time on that problem, seeing I still have the "Speed Project", the "API Project", and many other things to work on the site. Things that actually cost money to create. Money he was blocking me from making.
It's good for you isn't it? You can see our content in less than a second! I could be getting less ad impressions if you close the page before the ads are loaded, but at least I thought of you and presented the content first, even if it means a little less for me, right?
But there's the law of unintended consequences... Ad blockers actually block the script that loads all other scripts in our pages, the "mother script".
We use Google search embedded on Geekzone and being the search a script it will only show if it can execute inside your browser. And since the mother script is being blocked by ad blockers, our embedded Google search doesn't work anymore if you are running an ad blocker.
Also logged in users have a "Geekzone Live" feature in our home page, where they can see forum updates as they happen, instead of the static front page visitors see. That script is also not working, because the mother script is being blocked by ad blockers.
Since implementing this change I received many comments in our forums and in private. People are angry. They don't care the pages are loading in less than a second now. What they care is that search and live updates are not working anymore when they run ad blocking software. A few of these people actually think I made this change intentionally, to punish people using ad blocking software.
No, I did not do it to punish people using ad blocking software. What they don't realise though is the only broken thing here is the ad blocking software itself. If they still want to run that type of software they should ask the developers to make it work with new web technologies, and keep up with times.
Better still, people should just not use it. Just read why Ad Blocking is devastating to the sites you love again...
Other related posts:
Microsoft Ignite New Zealand, Microsoft Surface Studio
Geekzone data analytics with Power BI
Now with more fibre
comments powered by Disqus