As a content delivery network (CDN) provider, we optimize websites of all sizes by delivering the best possible user experience, regardless of device. We reached out to our talented solutions engineers, who work tirelessly with our customers day in and day out to continuously search for the best ways to optimize a website’s performance. In the process, we gained a lot of insight, which we are happy to share below:
#1: Limit the number of objects loading on your index page.
The index page, or base page, is the default page shown on a website. For websites that embed user specific information in the base page, they are not typically cached. This has a direct impact on the origin load, as well as browser render time.
Reducing the size of the index page will improve overall performance. In addition, reducing the number of objects loaded by the index page will improve load times. As the number of objects requested by the index page increases, so does the render time. We’ve seen customers load over 500 objects on their index page. This will reduce load times, even if these objects are cached.
#2: Reduce the size of image files.
Can you see the difference? Your browser can. Image A is uncompressed and is approximately 50+ times bigger than image B, which takes much longer to load. Images should be compressed so that it takes less bandwidth to load, and therefore loads faster. Images can be compressed with no appreciable loss to quality. You can do this manually when you upload images to your website. In addition, this does not provide image resizing based on the customer’s display resolution. We partner with LiquidPixels to do just that. This is especially important with commerce websites that need to display product images in high quality in various resolutions.
One of our customers had an index page that was downloading 12.3 MB in content. 11 MB of this content was from images, and 5.6 MB was from one image alone. By running that one image through LiquidPixels and using a quality and scale conversion, we got a file that appeared identical, but was only 71 KB in size.
#3: Consider the location of your origin.
The goal of a CDN is to cache as much as possible so that your users are accessing the files from a caching node with the least latency. There are certain instances, due to the nature of the content, when content must be retrieved from the origin. A very common scenario is the checkout process on a commerce website. We have seen cases where content is hosted with popular cloud hosting sites that result in being blocked by more restrictive government bodies because the hosting site also carries content that is deemed undesirable by the government body. We’ve also seen the origin at a location where latency is high from user location. Hence, considering the accessibility of your origin is important when you have significant uncacheable content. You can improve user experience by locating your origin as close as possible to your primary client base, minimizing uncacheable content and improving accessibility. One way to improve accessibility is using a dynamic acceleration solution such as our Web Acceleration Solution or Commerce Acceleration Solution.
#4: Direct traffic to one website.
Our solutions engineers encounter clients that maintain separate websites for HTTPS, HTTP and naked domains. This is highly inefficient, and can result in complex maintenance, as well as separate tracking on traffic analytics. The client does this because users may access their web content in all different ways. Best practice, as recommended by our solution engineers, is to redirect all traffic to one domain. Starting in 2017, Google will start flagging domains as unsafe when they are not using SSL encryption, so we recommend that you redirect all your traffic to the HTTPS site. The ideal setup should be:
http://example.com 301 redirect to https://www.example.com
http://www.example.com 301 redirect to https://www.example.com
https://example.com 301 redirect to https://www.example.com
https://www.example.com serves a 200 response
While you can serve the redirect from your origin, our Edgecast CDN’s Rules Engine performs this redirect on our edge server, speeding up the process and removing traffic from your origin. We provide Online Certificate Status Protocol (OCSP) Stapling on our edge servers, which will increase the speed of the SSL handshaking process.
We recommend that you use relative paths instead of absolute paths to ensure all the content is loaded over HTTPS. With absolute paths you run into the risk of having a modern browser block any HTTP requests over an HTTPS connection. If you are serving traffic over SSL, you should provide relative URLs for resources that reside on the same secure domain, and use protocol relative URLs for all other domains. Many websites are choosing to serve up SSL by default. Google announced on their security blog that they are giving a slight ranking boost to HTTPS URLs in search results.
Our customers use both the www and naked domain to serve traffic. Whichever you choose, make sure you redirect traffic to your website of choice.
#5: Review cache settings.
Our solution engineers often see cache settings on web pages that are sub-optimal. In extreme cases, objects do not have cache headers set correctly. Cacheable object headers are incorrectly set, preventing them from being cached. Additionally, if the Time to Live (TTLs) for cacheable objects are set too short, it will result in frequent and unnecessary updates from the origin. The first step to optimize performance is to look at cache settings and make sure they are optimal. This is something that our solution engineers can help with when we onboard your site to our CDN. While these changes can be made at your origin, our Rules Engine provides the option to override default cache settings through a simple user interface.
These five things will go a long way to get your website optimized. If you want to learn more, please get in touch with us, and we can show you how our subject-matter expertise combined with our years of experience and our next-generation CDN can help you deliver a better user experience.
Ken Long, Solutions Engineer
Yuriy Aydinyan, Sr. Solutions Engineer
Brett Hickinbotham, Solutions Engineer