Website Optimization Speed Tweak - Localize External Resources

Share Article

Even popular offsite widgets can slow down or hang web pages. Discover how to localize offsite resources to improve web page performance.

Even popular offsite widgets can slow down or hang your web pages. Learn how to localize offsite resources to improve web page performance.

Website Optimization is announcing its new "speed tweak" article illustrating how to speed up web pages and save bandwidth by “localizing” popular offsite widgets which often slow down or hang web pages. Discover how to localize offsite resources to improve web page performance.

Third-party widgets abound these days on the Web. Widgets, typically implemented with a snippet of JavaScript, are an easy way to add useful functionality to a website. The problem with all these widgets is they can cause indeterminate delays if any third party servers are slow.

What is a Widget?

Webmasters want easy ways to add useful functionality to websites. One popular way to add functionality is to use a third-part tool, called a widget. A snippet of JavaScript is placed in the target web page, which calls an off-server JavaScript that does some useful task. There are widgets for many popular tasks, including Google Analytics which is used by more than 10 million websites. Other widgets include Jquery, survey widgets, advertising, Facebook likes, Google Plus, RSS headlines, and more.

The Problem with Widgets

The problem with relying on third party widgets is that they can slow down a website. Loading JavaScript or other resources from off-site can cause indeterminate delays for a website. Inconsistency in response times can cause a reduction in what Chris Roast calls "attunability" or the ability to attune to the response times of websites. Depending on how the widget is placed within web pages (HEAD, top of BODY, bottom of BODY element), a slow widget can at the least slow down the loading of web pages (bottom of BODY), and at worst hang web pages altogether so users don't see any content (top of BODY). Loading multiple widgets also introduces DNS and network overhead. An anonymous example is shown in Figure 1.

See Figure 1: Slow Time to First Byte Example

Even popular widgets can have negative effects on website performance. Google Analytics is widely used to track statistics about websites (formerly Urchin). On Thanksgiving weekend of 2012, a popular website for computers and laptops suffered because Google was slow that day (Sunday, November 24, 2012, see Figure 2). When configuring a popular Lenovo laptop (Thinkpad X230) served up a page that hung for more than a minute, waiting for Google to deliver its payload to

See Figure 2: Waiting for

One solution is to localize the external JavaScript to avoid the uncertain off-site delay. [ Also see: Moving the script from the top of the body to the bottom, and caching it locally improved performance by 13% in our tests. This is with a full-speed Google on board. When Google is slow or unresponsive (as it is rarely, but it happens), a website can suffer. If the external resource changes frequently create a CRON script to copy the external resource periodically to keep it up to date.

Another Cyber Monday Example of Slow External Resources

Another example is PC Magazine. Searching for the top 100 websites, the page was delayed while waiting for an external server to deliver a programming API (see Figure 3).

See Figure 3: Waiting for

To be fair this behavior tends to happen on busy online shopping days like Cyber-monday, Black Friday, and the week before Christmas, but this third-party slowdown can happen at any time.

How to Combat Widgetitus

Many of these external resource delays are preventable. The solution is to periodically cache the resource locally on the website's server and serve it locally. You can use a CRON script to periodically copy the external resource over to the server. Here are some techniques you can use to minimize widget overhead.

  • Cache the remote resource locally (CRON to copy periodically)
  • Defer or delay loading to allow the rest of the page to render before loading JavaScript/external resources
  • Load the resource in an iFrame to decouple the script from your page loads


External widgets can cause indeterminate delays of web pages, which can reduce response time consistency. If users cannot rely on consistent performance of a web site, they are more likely to go elsewhere. To improve attunability, localize external resources to reduce reliance on third-party servers.

Designing for Delay in Interactive Information Retrieval
Chris Roast, Interacting with Computers 10 (1998): 87-104. Introduced the notion of attunability. Consistency in response rates is important for user satisfaction.

Diagnosing Slow Web Servers with Time to First Byte
Slow web servers can be caused by a number of factors. Test for slow server response times with the time time to first byte metric.

Google Analytics Is Installed On More Than 10 Million Websites
Google's own conservative estimate of the number of sites using Google analytics is over 10 million sites as of April 2012. Marketing Land, Nov. 25, 2012 accessed.

Speed Optimizing Google Analytics
Learn how to speed up web pages that use Google Analytics with a few simple changes, while maintaining its advantages for faster-loading sites.

About Website Optimization:

Website Optimization provides services and techniques to improve web site performance: boosting search engine visibility for more traffic, increasing conversion rates to maximize leads and profits, revving up site speed to retain users.

Andy King’s new book titled “Website Optimization: Speed, Search Engine & Conversion Rate Secrets” offers a comprehensive set of techniques you can use to improve web site performance including boosting search engine visibility for more traffic, and increasing website conversion rates to maximize sales, leads and profits.

Share article on social media or email:

View article via:

Pdf Print

Contact Author

Visit website