Not installing an SSL certificate is not an option for your online business or blog anymore. Even if you are not handling sensitive data, just the fact that Google penalizes sites not running on SSL/HTTPS kills your SEO efforts and lands you at the bottom of SERPs (Search engine result pages) – which means that though you may be carrying the information the user is looking for, have made optimal use of the right keywords and yet, you will end up losing the opportunity of getting free, targeted organic traffic. That hurts, right?
And if you ask your customers to provide you any sensitive information, using SSL certificates is a no brainer. It secures the information being exchanged between the user’s browser and your web server. After all, it is your responsibility to ensure the safety of your customers’ confidential records. Also, the green padlock that shows up on their browser when your site has a valid SSL certificate assures them that their data is protected, and they feel more comfortable in interacting with your website. This also includes financial transactions to put money in your pocket. Sounds good, doesn’t it?
But wait, you are getting complaints that your site is slowing down.
Why is your website slowing after the installation of SSL certificate?
The SSL connection needs to be negotiated or established every time there is an exchange between the server and your website. This involves the exchange of public keys among the communicating parties. Now, this takes time, which adds to the slowness. After all, the interacting parties need to do their part to establish trust amongst themselves.
Worse yet, if you have multiple domains that have many pages protected by SSL, it increases the time-lapse. The reason this happens is that each individual SSL session adds to the burden of fetching the web pages. And this has nothing to do with which provider or CA (certificate authority) you get the SSL certificate from, and what kind of certificate you buy – Cheap Wildcard SSL or any other.
How can you optimize your website speed?
There are things you can do to increase the speed of your website. Adopt these practices as part of your website development and you will see a boost on your page load times.
- Do things like increasing server resources, using gzip compression, turning on caching, etc. on the backend
- Optimize the code on the backend – use efficient programming practices and fine-tune your database for speed
- Adopt best practices for programming the front-end, such as minification, etc.
- Optimize your images for faster loading by implementing things like compression
- Make effective use of CDNs (Content delivery networks). CDNs place proxy servers between your website and users to cache your pages. This boosts delivery time as the frequently searched data is looked up and served from these caching servers instead of hitting your web server every time.
- Use HTTP/2 – this is the latest and ultimate when it comes to increasing load times for your website without having to give up the benefits of SSL/HTTPS. In fact, HTTP/2 requires HTTPS to be activated.
Benefits of adopting HTTP/2 (you will need SSL/HTTPS)
Before you move forward with this, note that having an SSL certificate installed on your website and HTTPS protocol turned on is a prerequisite. HTTP/2 (HyperText Transfer Protocol ver. 2) is the latest HTTP standard. This updated HTTP protocol improves the security, efficiency, and most importantly, speed of internet traffic. However, the transition to adopting HTTP/2 is not automatic. You have to do enable it explicitly, check with your hosting provider on the specifics.
If you are an online business owner or a website developer/designer, you will be happy to note that HTTP/2 can boost load speeds for your site on all devices.
How does HTTP/2 increase speed?
The reason HTTP/2 can boost page loading for your websites is that it is optimized to handle more than one request similarly. HTTP/1 was severely limited in that it could handle only one request per connection at a time.
Now, most web pages include tens or hundreds of HTML/JavaScript/image/video/CSS files and more. With HTTP/1, browsers are forced to wait as these files get downloaded one by one or they have to open multiple HTTP connections (and this comes with other problems).
Does HTTP/2 affect site design?
HTTP/2 has some changes compared to HTTP/1, which means you will need to unlearn some of the old tricks you had been using to optimize your servers and website for better speed and efficiency before, while you adopt the new techniques.
When working with HTTP/2, you can disregard a lot of workarounds and optimization mechanisms you had been using for HTTP/1. Some of these are:
- You do not need to inline scripts into your HTML
- There is no need to combine multiple files to cut down on the number of server requests
- Also, domain sharding does not have any effect on HTTP/2
In fact, some of these workarounds will have a negative impact on your page speed when you turn on HTTP/2.
Most of the internet traffic originates from mobile devices nowadays, so keep internet speeds available on these gadgets in mind and optimize your media content for them, like ensuring smaller file sizes. Also, do continue to minify your HTML, CSS and JavaScript.
A deeper dive into some core HTTP/2 concepts
Here are a few core concepts you must know to understand why and how HTTP/2 running on SSL/HTTPS is able to increase the loading speed of your website. This will also help you appreciate the changes between HTTPS/1 and HTTPS/2.
Inline Scripting
Inline scripting refers to using the <script> tag to embed the JavaScript code directly into your HTML page. This was a popular and recommended practice in HTTPS/1 to reduce the number of server requests and load the scripts quickly.
With HTTPS/2, it is no longer that big of a deal (for page loading time) if you have multiple files. HTTPS/2 concepts like Server Push, Stream Prioritization, and Multiplexing handle them gracefully.
Multiplexing
Multiplexing has been used in the communication world for a long time to send multiple voice and data packets over the same channels to optimize the bandwidth. HTML/2 brings the same concept to the world of WWW – this allows multiple Data Streams to travel over the same TCP (Transmission Control Protocol) connection.
Data Streams
The term Data Streams, in the world of HTTP/2, refers to the use of bidirectional streams to carry data. You can prioritize these streams by using their unique identifiers – this helps in optimizing the delivery of data.
Stream Prioritization
Stream Prioritization, another latest feature added by HTTP/2, gives you the ability to instruct a server to allocate the available bandwidth and resources to the high priority Data Streams – this ensures the optimal transmission of content with higher priority to the client devices.
Domain Sharding
Domain Sharding refers to the phenomenon of distributing the site resources across multiple domains and websites to get over the simultaneous transmission limitations of HTTP/1.
You do not need to use Domain Sharding in HTTP/2, as Server Push and Multiplexing will use simultaneous transmission for faster and efficient downloads.
Server Push
Server Push allows a web server to send more than one response for a single request made by the client. Essentially, the server is able to make intelligent assumptions about the files the browser will need to load a page completely, without depending on the client agent to request each of them specifically.
Conclusion:
As you can see, SSL may reduce page load speeds when you are not adopting any optimization techniques. However, with HTTP/2 arriving on the scene, which can only be enabled by the use of SSL/HTTPS, you get both security and improved page load times. So, it is wrong to solely blame SSL for the slowness of your website. We hope this information helps you use SSL effectively to improve your webpage load speed.