14 Rules for Faster-Loading Web Sites
from the book High Performance Web Sites by Steve Souders
How these rules came about
In 2004 I became Chief Performance Yahoo!. My job description was clear: quantify and improve the performance of all Yahoo! products worldwide. With a long career as a backend engineer at Yahoo! and other web companies, I expected to focus on backend optimizations. I was surprised to find that 80-90% of the time spent by users waiting for pages to load is spent on the frontend, all the work that needs to be done after the HTML document has arrived. Backend optimization is still critical - it drives down hardware costs and reduces power consumption. But if your goal is to make your pages faster for your users, the place to start is the frontend.What happens during this 80-90% of the end user wait time? And how can it be reduced? Working with the product teams at Yahoo! and researching how browsers, servers, and HTTP interact, I identified a list of best practices for making web pages faster. These rules are the key to speeding up your site. They've been vetted on some of the most popular destinations on the Internet and have successfully reduced the response times of those pages by 25-50%.
Evangelizing Performance
While working at Yahoo! I was able to share these best practices with web developers worldwide.
- This web site of performance examples is the companion site for my book, High Performance Web Sites, from O'Reilly Media.
- I created the performance analysis tool, YSlow, an extension to the popular Firebug web development tool.
- I wrote a summary of each book chapter on the YDN blog.
- I had several speaking appearances.
I'm passionate about making the Web faster and about being an advocate for all Internet users. I'm excited about how interest in improving web performance is taking off. Frontend engineers are the last line of defense before pages reach real users. Armed with these best practices, F2Es will be able to dramatically accelerate their web sites and improve the user experience for us all.
On to the examples...