How to Speed Up Website Load Time

Website load time is a key factor in user satisfaction. If you speed up website load time, you get the added benefit of reducing shopping cart abandonment, increasing the amount of time people spend on your website, improving ad click-thru rates, as well as improved SEO with fast page loads. If you run an AdWords campaign directing traffic to your site, fast page load speed translates to a higher quality score in ranking for keywords in the bidding pool. The following tips will help you speed up website load time no matter which factors you're aiming for.

Reduce the number of HTTP requests
Each image, JavaScript, CSS, and other elements of your website design requires an HTTP request to load the web page. More elements on the page mean more requests required to load the page. Web browsers process 8-10 requests at a time, meaning some objects will be required to wait for others to finish loading when you have more than 10 objects on your web pages. For example, a WordPress theme with 50 images, 4 CSS files, and 3 JavaScripts, creates a total of 58 objects (including the web page). Reducing the number of objects will cause your page to load faster. Two easy ways to reduce HTTP reqeusts are to combine CSS files and use Data URI in place of images in your CSS.

Optimize Image Files
Unless your website designer was specifically instructed to optimize theme images for page load speed, it's very likely many of your theme images are too big. You can solve this problem by using lossless image compression tools to re-compress the images. In some cases, converting the file to another format will also reduce the overall file size. Tools for both PNG and JPG files exist to quickly perform lossless compression. For uploaded files, like the ones included in web page body copy or blog posts, be sure the images are properly sized. I have seen many blog posts where the width and height attributes of an image are changed in the HTML, but the actual image is big. If you want a small version of the image to appear in the post, resize the image to the size you want, then upload the smaller version.

Serve Images from an External Domain
Speed up page load time for WordPress and any website by hosting theme images from an external domain. In the case of JakeLudington.com, I use img.jakeludington.com to serve my image files, instead of storing them on my primary server. Amazon S3 is an excellent choice for handling this task, because most website design themes use images sized well under Amazon's monthly free limit. S3 works a little differently than the standard FTP access to a file server, so you'll also need an app like Cyberduck, CloudBerry or the Firefox plugin S3Fox to upload your files. Depending on whether you use cookies on your domain, you may also want to use a slightly different domain for serving images, like jake-ludington.com (to comtinue with my example).

Use Gzip
Gzip compression allows your server to compress HTML before it gets delivered to the browser. This reduces the file size and translates to a faster load time. Check with your webhost to see if this can be enabled. If your hosting provider doesn't support gzip compression, consider getting a new hosting provider.

Validate HTML
Valid HTML loads more quickly in most browsers. If your web pages are full of HTML validation errors, you are forcing the browser rendering engine to work harder at figuring out what the page is supposed to look like. This means longer load times for the end user. Fixing those validation errors reduces the amount of time it takes for a web browser to render the page. Valid HTML may also have the added benefit of improving your page quality score in Google's ranking algorithm, which improves your chances of ranking higher in search engines.

Eliminate duplicate requests
Eliminating duplicate requests ties into the tip about reduced HTTP requests. WordPress plugins are notorious for calling jQuery independent of the built-in WordPress call to jQuery. I have seen many installs where jQuery is called three or more times, often requesting a separate file on the server each time. This is a waste of HTTP requests and a needless drain on page load speed. jQuery only needs to be called once per page. Bonus points for using Google's jQuery library, which increases the chances of a caching benfit from other sites also using it. jQuery isn't the only offender in the duplicate request category, it happens to be the most obvious one. Look for other places where duplication is occuring and squash those too.

Compress JavaScript
Compress JavaScript served both on your pages and in external .js files. When JavaScript code is written, the coder typically writes in a way that is easy for humans to read. The browser doesn't need all the whitespace, indents, and comments that make the js larger. Use JavaScriptCompressor.com to make your JavaScripts smaller and score a win for faster page load times. If you need the commented version of the JavaScript, you can always keep a backup copy that isn't referenced anywhere on your pages.

Serve Images, CSS, and JavaScript from a CDN
A content delivery network is vital to faster page load speeds. By using a CDN you are putting the pieces of your web pages closer to the people browsing them. CDN services work by having servers spread around the globe, all with your content stored. When someone loads your web page, they are going to get the images and other files from the CDN server closest to their geographic location, which dramatically reduces the amount of time it takes for the files to get to their browser. For example, if someone in the UK loads your page, they will get images and JavaScript from a server in the UK, instead of having to wait for the server where you are hosting the main HTML of your website. This kind of performance enhancement used to be expensive, but now Amazon CloudFront, RackSpace CloudFiles, and MaxCDN are making it affordable. If you follow the advice of using Amazon S3 to store images from tip #3, you can automatically upgrade to a CDN by turning on Amazon CloudFront for your S3 bucket instead. From what I can tell, RackSpace CloudFiles is currently the fastest of the three most affordable CDN options available.