Skip to main content
ModPageSpeed 2.0 and mod_pagespeed 1.1 — Now available

Async AdSense

JavaScript

Rewrites synchronous Google AdSense tags to the asynchronous format.

Filter make_show_ads_async · Filter docs · Demonstrates rewriting the Google AdSense tag.

A mod_pagespeed 1.1 filter. ModPageSpeed 2.0 applies it as part of one always-on pipeline, not as a separate switch.

Both frames render identically — that's the goal. The win is in the bytes and requests below, not the look. They're served live by mod_pagespeed 1.1 on demo-httpd-1.1.modpagespeed.com; the optimized frame applies only this filter. Right after a cache purge it may briefly match the original while the worker rewrites it — reload to see the result.

Measured impact

HTML size

922 B 838 B
−9%

What changed in the source

The page's HTML, before and after this filter. Red lines are removed, green lines are added.


                
                  
… 4 unchanged lines …
<body>
An ad in a blue box:
<div style="border: 2px solid blue;">
- <script>
- google_ad_client = "ca-google";
- google_ad_width = 728;
- google_ad_height = 90;
- google_ad_format = "728x90";
- google_adtest = "on";
- google_ad_type = "text";
- </script>
- <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
+ <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-google" data-ad-format="728x90" data-ad-type="text" data-adtest="on"></ins>
+ <script>(adsbygoogle = window.adsbygoogle || []).push({})</script>
</div>
Another ad:
<div style="border: 2px solid blue;">
- <script>
- google_ad_client = "ca-google";
- google_ad_width = 728;
- google_ad_height = 90;
- google_ad_format = "728x90";
- google_adtest = "on";
- google_ad_type = "text";
- </script>
- <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
+ <ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-google" data-ad-format="728x90" data-ad-type="text" data-adtest="on"></ins>
+ <script>(adsbygoogle = window.adsbygoogle || []).push({})</script>
</div>
</body>
</html>