Forum Moderators: martinibuster
I spend a lot of time streamlining the load time of the websites I work on. These days Adsense is increasingly degrading site performance. Don't get my wrong Google has done a good job optimizing what they provide, but they keep adding more "cute stuff" which slows page rendering.
For reference, this is for text ads, Google loads:
[pagead2.googlesyndication.com...]
[pagead2.googlesyndication.com...]
[pagead2.googlesyndication.com...]
[pagead2.googlesyndication.com...]
[pagead2.googlesyndication.com...]
[pagead2.googlesyndication.com...]
To show text ads in the past only show_ads.js and ads? were required.
With the advent of the "Ads by Google" graphic "abglogo/abg-en-100c-ffffff.png" was added, a transparent implementation of the Ads by Google grahpic.
For the scrolling functionality they have added sma4.js and sma.png.
These things could be more highly optimized but their not bad, except of course for:
"Waiting for pagead2.googlesyndication.com"
I'm not going to pull Adsense off websites, but as always, I would like to have better performance for my visitors. Some sites are so SLLLOOOWWW, they load 20 or 30 style sheets, or reams of graphics, these sites probably won't notice anything due to Adsense, but, if you have a high performance site, you probably do.
My question is, do you think this additional overhead, which obviously slows website rendering and performance for your visitor, has positively or perhaps negatively impacted your Adsense earnings?
Suggestion: put each Adsense block in a <div> that specifies a suitable width and height for the panel, then the browser can work around it and finish displaying other content without having to wait for the Adsense.
Good suggestions for all. For my sites everything you mention has been done and more!
ISP's with slow DNS block javascript fetches.
Javascript fetches block rendering, DIV's unfortunately do not necessarily render asynchronously. As you've mentioned for my cases Adsense code is all at the end of the page with absolute positioning.
Of course making sure your webhost has GZIP compression turned on, not a Google issue, but one for many webmasters.
Google itself has at least put their rendering in an IFrame, yeah! But still the browser must fetch the primary javascript first.
I used to "IFrame" the Adsense code until Google broke it a couple years ago. The TOS at the time allowed IFrames, they simply were not recommended, they used to work well. This actually cured all the performance problems related to Google, DIVs didn't do the trick.
I can live with the mandated "Ads by Google" image (Should be optional). This makes it harder to make that title go away.
But the scrolling "ads" and all the code and graphics it adds is annoying. And a performance variable as well! The scrolling buttons are not always present.
Plan your page layout and loading sequence so the user will have useful things look at even if the Adsense is slow to come in.
Excellent suggestion. That's what we do. In fact, we'll absolutely position most of the AdSense Units so they are Source Ordered with the rest of the content. We started that years ago when the loading challenges were much more prevailing. Google does a good job of quickly serving ads these days. ;)
OT, Google's GA.js is another story!
BTW, its AdSense [webmasterworld.com].
So Google wants fast loading pages yet Google is slowing pages via AdSense?
Well, their core value is user experience, yet they allow ads for 'best dead popes' in their system.
Their core business is search results, yet the top results are loads of commercial messages.
They bought Youtube yet they operate Google Video.
They bought Blogger yet they introduced Google Sites.
I have learned to stop reasoning about Google.
[edited by: BrandNewDay at 4:17 pm (utc) on May 24, 2008]
The show_ads.js will block the rendering of your pages. When putting all the Google source in an IFrame worked properly, rendering was not blocked and that's why Google themselves put the rest of their code in an IFrame so at least fetching the other javascripts will not block rendering.
Still I frequently see:
"Waiting for pagead2.googlesyndication.com" or
"Reading pagead2.googlesyndication.com"
when touring the web. And yes, even worse, "Waiting for Google Analytics".
I forgot yet another graphic Google slows our sites with:
[pagead2.googlesyndication.com...]
The Google Shopping cart. This is almost a free ad provided by AdWords (Adwords?) advertisers, and publishers, for Google Checkout.
Google dynamically generates their Adsense content in their search results. A typical search results page only fetches 3, (THREE), files from a Google server! (Note how Google embeds all their graphics in one file!)
As far as I can tell publishers are required to put Adsense code IN their pages. I certainly have seen some publishers use dynamic rendering of their Google AdSense ads and the resultant indexing of AdSense ads themselves in search results. Not sure this meets the TOS. I supposed you could embed the code anyway and just make it not render with javascript.
Personally I'd really like a "Text Ad" to be a text ad, so the ads themselves are rendered as quickly as possible! Having them POP in late may catch visitors eyes, who knows, but publishers can do nothing about this. With many page views the site visitor may have scrolled below the fold before the AdSense ads have rendered.
In fact for one of my sites there is an anomaly; multiple AdSense ads are rendered in a column on one side of the page, just like Google SERPS, while the first Adblock generates the most earnings the second block generates better ... (surprising!). I don't know why this occurs, BUT, this characteristic can be taken advantage of. (Was this tidbit worth reading this far?)