A webpage can include components from different domains like example.com, scripts.example.com and anotherdomain.com. For each different domain the user's web browser needs to 'find' its web server by doing a DNS lookup. Each DNS lookup takes a little time. Too many of these DNS lookups can slow down the overall loading of the page.

HOW IT'S USED

It's normal for a webpage's components (Javascripts, CSS, images etc.) to be served from different domains for shared services like a Facebook Like button, analytics tracking and video players

A DNS lookup is like making a phone call to get directions to a shop: you haven't started making your way to the shop, but at the end of the phone call you know how to get there

If you've been to the shop before and already have directions you don't need to make the phone call. This is like a DNS cache. These directions can be cached by your web browser or computer so a DNS lookup isn't required

This benefits popular components like the Facebook Like button: it's likely the DNS is already cached before the user visits your site meaning a DNS lookup isn't required

BEST PRACTICE

Minimise the number of domains the components you control (CSS, Javascript and images custom to your site) are served from

Third party services like social sharing buttons and analytics tracking all live on separate domains, so limit the amount of third party services you have running on your site

FIX THIS YOURSELF The quickest and most straightforward way to reduce the number of DNS lookups is to remove any third party apps that add scripts to your pages that you can live without. Not all apps add scripts: they'll be ones that change how a page looks or behaves, or tracks your visitors (like analytics).

If there are any components not covered above they may be referenced by your website code. If it's a third party Javascript library you may be able to add this as a file directly to your own website. If you're not confident doing this yourself speak with your developer.