WordPress

What is Preconnect and why you should implement it on your website

Published on 20. October, 2020

What is Preconnect and why you should implement it on your website

When we talk about improving your website’s performance, usually you read about minifying and combining CSS and JS files, or enabling compression, or optimizing your images.

However, there are many little things you can do in addition to those. One of them is implementing preconnect on your site.

What is preconnect?

Preconnect tells the browser to establish an early connection to external domains, which includes the DNS lookup, TCP handshake, and optional TLS negotiation. This is time you will save when loading a page. To illustrate this, let’s do a simple test.

The following screenshot shows a regular website making three calls to m.stripe.com, fonts.googleapis.com and fonts.gstatic.com. As you can see, the DNS lookup, initial connection and SSL negotation is done when the resource needs to be loaded, which is late in the loading process.

Now, if we preconnect to those external resources, we get the following:

What is Preconnect and why you should implement it on your website Ursus Minor

The difference is clear, preconnect allows to do the DNS lookup, initial connection and SSL negotation in the background when the page is loading, so later in the loading process those 3 tasks will be already done, and the only thing the page will need to do is to load the actual content.

The result is a better loading time, or in other words, you will improve your site performance.

Do not preconnect everything!

You should not preconnect to all your external domains.

It might be contradictory, considering that we just proved that preconnecting improves the loading speed. However, you should know that 

  1. browsers close any connection that isn’t used within a few seconds.
  2. there’s a limit on the number of simultaneous connections in browsers.

Therefore, as a rule of thumb you should only preconnect to the 3 or 4 most important external domains. Preconnecting to everything may actually slow down your website.

How to implement it?

Following the previous example, the goal is to enter the following lines between the tags and of your site.



You should add a line for each external call. In our case, we implemented preconnect to 3 external domains.

If you pay attention to the middle line, you’ll see the attribute crossorigin. When to add it? When the resources on the connection are downloaded using CORS. If the assets use CORS, crossorigin is needed. If CORS won’t be used, crossorigin should be omitted. If you are not sure, you can try with and without, and check which one works 😉

To add those lines, we have two methods.

1 – Use a plugin like Insert Headers and Footers. Install, activate it, go to Settings and add the code in the first box.
What is Preconnect and why you should implement it on your website Ursus Minor

2 – The recommended method, but for advanced users: Edit the functions.php file of your child theme and add the following piece of code.

function shortpixel_preconnect() {
echo '

';
}
add_action('wp_head', 'shortpixel_preconnect', 0);

Is your website still slow? Find out here why.

Original article Published here >

What is Preconnect and why you should implement it on your website

* Optimise WP Website Images with ShortPixel – Super Fast Website, Optimised SEO, WordPress Plugin (Referral Ad)