Thursday, June 4, 2009

Introducing Page Speed

At Google, we focus constantly on speed; we believe that making our websites load and display faster improves the user's experience and helps them become more productive. Today, we want to share with the web community some of the best practices we've used and developed over the years, by open-sourcing Page Speed.

Page Speed is a tool we've been using internally to improve the performance of our web pages -- it's a Firefox Add-on integrated with Firebug. When you run Page Speed, you get immediate suggestions on how you can change your web pages to improve their speed. For example, Page Speed automatically optimizes images for you, giving you a compressed image that you can use immediately on your web site. It also identifies issues such as JavaScript and CSS loaded by your page that wasn't actually used to display the page, which can help reduce time your users spend waiting for the page to download and display.

Page Speed's suggestions are based on a set of commonly accepted best practices that we and other websites implement. To help you understand the suggestions and rules, we have created detailed documentation to describe the rationale behind each of the rules. We look forward to your feedback on the Webmaster Help Forum.

We hope you give Page Speed a try.

39 comments:

Pascal said...

Very useful

Wim Leers said...

Awesome! An alternative to YSlow, with different points of view, different rules and a very cool — and useful! — new feature: the activity recorder.

This comes just in time to be included in my bachelor thesis on Drupal's page loading performance.

I'm wondering if Steve Souders — the original author of Yahoo's YSlow — was involved in this as well? I'm asking since he's now working for Google.

Sheldon said...

Awesome, can't wait to use it.

Matt Raible said...

Why not simply enhance YSlow? Is it because there's a difference between Yahoo's recommended practices and Google's?

Todd Seiber said...

First of all thanks for giving us PageSpeed. Second thanks for hosting 3rd party libraries.

Is there any thing Google can do to minify and combine libraries like script.aculo.us?

PageSpeed output:

Combine external JavaScript
There are 9 JavaScript files served from ajax.googleapis.com. They should be combined into as few files as possible.

* /ajax/libs/prototype/1.6.0.3/prototype.js
* /ajax/libs/scriptaculous/1.8.1/scriptaculous.js
* /ajax/libs/scriptaculous/1.8.1/builder.js
* /ajax/libs/scriptaculous/1.8.1/effects.js
* /ajax/libs/scriptaculous/1.8.1/dragdrop.js
* /ajax/libs/scriptaculous/1.8.1/controls.js
* /ajax/libs/scriptaculous/1.8.1/slider.js
* /ajax/libs/scriptaculous/1.8.1/sound.js
* /ajax/libs/swfobject/2.1/swfobject.js

Artem Russakovskii said...

Well, Bryan McQuade's name is all over the source files, so he's probably the main developer behind the project.

vitalic said...

I agree with Todd and it can work like:
/ajax/libs/combine(prototype_1.6.0.3_prototype.js)(scriptaculous_1.8.1_scriptaculous.js)(scriptaculous_1.8.1_builder.js).js

WiredMaster said...

Great Article!!

Vishnu Kumar Agarwal said...

YSlow seems already very good for this. I didn't used that as of now, but It may be duplicate of that, resulting it confusion to developers / users. In YSlow 2.0 there are 22 rules. We can also ad our own customized rule set (including what speed-test provides, if any new). Though I'll love to try speed-test to see what different Google did.

MiSTER.de said...

make sure to use firebug 1.3.3 otherwise page speed will not work

mnot said...

[ made this comment on another G blog, not sure where the correct place to give feedback is, so... ]

Only had a quick glance, but:

1) You state that Expires is more widely implemented than Cache-Control: max-age. On what do you base that? See also: http://www.mnot.net/blog/2007/05/15/expires_max-age

2) You advise to (almost) always set Cache-Control: public. That wastes bits; the only time you need to set public is when there are Authorization request headers being sent (i.e., HTTP auth is in use).By default, responses are implicitly public.

duĊĦan said...

thx, very userful :)

dksuresh said...

Its nice and very useful

keemor said...

Nice new thing is category "Use efficient CSS selectors" and FAQ to it

Eimantas said...

Page Speed hung when i tried to analyze performance of this page .(

Prav said...

seems to be pretty good..

Typhoon said...

It almost looks similar to Yslow add-on. What's new in it?

http://www.smartbloggerz.com

Harold Fowler said...

Wow, I think you might just be onto something tehre dude!

RT
www.real-anonymity.pro.tc

clausy said...

I thought that you were going to be adding the page load speed to actual individual search results - now that would be cool. Then we could ignore the slow pages if we wanted to.

Andy Gongea said...

Page Speed is the same tool as YSlow but with few differences. Steve Souders the creator of YSlow is now emplyed at Google. This is why both tools have the same features.

Jug said...

I hope you can manage to get this one into Google Chrome in the future, as an extension. :-) It would feel kind of natural for some reason. ;-)

Darkimmortal said...

Works perfectly on Firebug 1.4X.0a31 / Firefox 3.5b4, but only initially works when Firebug is docked into the window. However, Firebug can be undocked once it has completed its analysis.

kieranmullen said...

Will this end up like google accelerator?
accelerator.google.com

www.RedesignYourBiz.com said...

wow, great post. this should help lots n lots of people.

Brady said...

WOAH! Thanks Google! No more YSlow for me. This rocks!

Jason said...

I'm wondering about the browser caching summary too. For a number of images (img, css background and link) I get,

The following resources are explicitly non-cacheable. Consider making them cacheable if possible

The web server is responding with a long Expres and a Cache-Control: max_age, public. There's not much else to do.

Dafydd said...

This add-on doesn't work at all for me. After installing and restarting Firefox jumped to 100% CPU and memory use starts growing slowly until it's used all the RAM and swap.

I tried disabling all add-ons (apart from Firebug 1.3.3 and Page Speed). Same result.

Yslow does work for me. Shame I can't try this out, as it seems very useful.

phreakhead said...

@Todd Seiber: There is a way to minify and combine script.aculo.us:

It's called jQuery.

Ben Lisbakken said...

@Todd Seiber: We don't minify those libraries because those library maintainers choose not to release minified versions. For our libraries API, we only distribute libraries as is. You should file a bug with the Prototype team -- if they start releasing minified versions, we will host them as well.

-Ben

Chennai said...

Nice the see the page speed and it is very interesting here that.

Jauder Ho said...

Ben, is there a particular reason why the libraries do not return a Content-Length header?

Here's a link to a test page that shows this. http://bit.ly/17HSNB

Uzbekjon said...

@Todd Seiber, you can use YUI Compressor to minimize your javascript code http://bit.ly/huv29

Manoj Maniraj said...

Timely help from Goole, very useful.

San said...

I'll use both this and YSlow
Will test it in my blog
http://danielsantana.net

BlogTactic said...

High time we have this tool

Bala said...

Armani Exchange Canada: Use the Coupon codes, Promotion codes, Discount Codes, Coupons, Coupon Codes, Promo Codes to save money. Find All Free shipping Coupons, Deals, Discounts and Promotional Codes for Your Favorite Online Shopping.The Latest Coupon Codes, Online Coupon section with hundreds of Deals, updated daily! More information: http://www.Deals365.us

veerasekar.v.g said...
This post has been removed by the author.
Liza said...

You can save your money by using printable coupons while you shopping at www.clickmycoupon.com and get discount offers on every items.

Zirh.com said...

Calming Words : Find the latest Coupon Codes, Coupons, Discounts. You to make online shopping use the Free shipping Coupon Code Offers, Vouchers, Promotions and Discount Coupons every time. You can also find Voucher Promotional Codes, Free Shipping Codes, Rebate Coupons, Special Discount Offers, Online Discount Coupon Codes, Voucher Coupons information, saving offers at Deals365.us

Post a Comment