Back to Posts List

Improve Your Website

Share this article

Posted on June 8th, 2010 by Victoria Pal in Tech

Improve you websiteA site can be improved in many ways and on many levels - accessibility, usability, design, organization, promotion, loading times, availability and many more. This post is only concerned with several quick fixes, which are mostly technical, but once in place they can really make a difference.

Generate Fewer HTTP Requests

80% of the end-user response time is spent in downloading page components: html, images, stylesheets, scripts, Flash, etc.

You can combine all images in one single Image Map, reducing the number of requests for drastically. You can also use CSS Sprites to have a single image comprised of all our smaller images. You can diplay different slices by using  background-image and background-position.

Combine your CSS files together to form a single file. Do the same with JavaScript, where possible. It might not be easy to implement in some cases, but if it is and does not cause you other complications, do it. If your website has only a few high traffic pages, leave the CSS and JavaScript as they are. Instead embed these in the few pages that generate more traffic. It is a good short-term workaround for crucial pages.

Compress Content to Lower Bandwidth

Reduce the size of files. Compress images to a smaller size, to the point where you get the best combination of small size and high quality. Use server compression for text files. Deflate text files. Compression ration on text is great and for most of your files which are mark-up, styles or scripts. These files are already small, but nevertheless generate considerable bandwidth. All popular browsers support compression, so it is not a biggie. It is also one of the fastest improvements you can implement.

Optimize Your Database & Reduce Database Calls

Keep your database as clean as possible. Reduce the number of database queries you need to perform for each page. If you are using a popular CMS platform there are tons of tutorials how to fix the default settings. In all cases, there are two things you can and should do. Reduce the number of queries and increase the time between queries. Universal approach to implement the latter is to use server caching of data that is frequently accessed. This won't only take some load off your database, but also take some load off your web server, presuming they are not on one physical server. To further optimize the performance for bulk queries due to high volume of users, you can separate the read and write databases.

Use "Expire" in Headers or Implement Etag

Let the world know what part of your site is obsolete. If a page is no longer of any practical use, alert search engines and proxies not to fetch it. This will give you some extra breathing space. Alternatively, you can use the the etag entity element to let proxies cache your page. This will "tell" them to get a copy only when the page is not the same page as the one fetched last time.

Backup, Backup, Backup!

Run daily backups. Backup your website, backup your database, backup your backups! If you are not hosting your website yourself, make sure your hosting provider is paranoid about backups. For better protection you can also consider remote backup. There are a lot of providers out there. Do offline backups of your files, especially when milestone changes are due to take place.

Benchmark Changes

Keep track of all changes, test them, prove they make a difference. Test different versions of pages against one another. When implementing server caching, test loading times before and after. Simulate online transactions after optimizing your database.

Monitor Your Site

Monitor your website. Prevent downtime and make sure it is reachable form all locations, crucial to your business. Monitor to prevent downtime, sluggish website performance and broken transactions.

Victoria Pal

Doesn't like queuing (particularly at Wimbledon). Likes travelling, tennis and reading. Loves working as a Project Manager at WebSitePulse.

comments powered by Disqus