« Living during Information Renaissance | Main | Leonardo, the Renaissance Man »

Optimizing Web 2.0 sites

As more and more web pages start implementing Web 2.0 on their sites, it becomes increasingly important to also keep the performance of the website as efficient as possible. When we are stuck with slow loading pages, the first thing we think about is faster dedicated servers that can serve the pages a lot faster. Although, this may improve the responsiveness of a website, the true problem lies somewhere else.

It will probably be a surprise to most of us to find out that only 20% of a total page load time is actually spent on fetching the HTML document from the web server. The remaining 80% of the time is actually spent on the front end, downloading all the components required for the page. This includes images, css, Flash, scripts etc. Focusing on the hardware is solving only 20% of the problem.

The engineers at Yahoo did some extensive research and came up with a list of Best Practices to use to speed up your website:

1. Make fewer HTTP requests
2. Use content delivery network
3, Add an expires header
4. Gzip components
5, Put stylesheets on the top
6. Put scripts at the bottom
7 Avoid CSS expressions
8, Make JavaScript and CSS external
9. Reduce DNS lookups
10. Minify JavaScripts
11. Avoid redirects
12. Remove Duplicate Scripts
13. Configure Etags
14 Make Ajax cacheable.

Yahoo has also released an add-on called YSlow for Firefox that helps developers monitor the performance of their website and make changes to speend them up.

I personally have found these best practices very helpful. EVen though it is hard to implement all the best practices, just even a few changes has drastically changed the performance of some of the websites tha I have worked on. I would recommend YSlow to anyone who builds a website as a hobby or a profession.

Yahoo (n.d.). Exceptional Performance : Best Practices for Speeding
Up Your Web Site. Retrieved Novenber 29, 2007 from , Web site:
http://developer.yahoo.com/performance/rules.html

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)