On Fri, Jun 5, 2009 at 12:39 PM, Mike McGrath<mmcgrath(a)redhat.com> wrote:
I'm a might busy with things at the moment, anyone on the list
want to use
this tool on our websites and do a review? (Of both the tool and our
sites?)
The tool is pretty cool, but I'm not much of a web developer. So far,
I've ran it against
http://fedoraproject.org, and it came up with some
seemingly good suggestions. These are the only two it classified as
big wins, the other stuff is minor (some inefficient CSS as item 3,
for example)
1) We're not gzipping content going to the browser. On the main page:
Compressing the following resources with gzip could reduce their
transfer size by about two thirds (~11.8kB).
* Compressing
http://fedoraproject.org/static/css/fedora.css could
save ~7.2kB.
* Compressing
http://fedoraproject.org could save ~3.5kB.
* Compressing /en/static/js/release-counter.js could save ~1.1kB.
2) Caching parameters for browsers are not optimal (some of these
suggestions we obviously can't follow, but we can others):
The following resources are missing a cache expiration. Resources that
do not specify an expiration may not be cached by browsers. Specify an
expiration at least one month in the future for resources that should
be cached, and an expiration in the past for resources that should not
be cached:
* /en/static/js/release-counter.js
*
http://fedoraproject.org/static/css/fedora.css
*
http://fedoraproject.org/static/css/print.css
The following cacheable resources have a short freshness lifetime.
Specify an expiration at least one month in the future for the
following resources:
*
http://fedoraproject.org/static/images/arrow.png
* /static/images/border-left.png
* /static/images/border-right.png
* fedora11-countdown-banner-4.en.png
* /static/images/f10launch.png
* /static/images/fedora-logo.png
* /static/images/line-bottom.png
*
http://fedoraproject.org/static/images/line.png
Favicons should have an expiration at least one month in the future:
*
http://fedoraproject.org/static/images/favicon.ico
3) The inefficient CSS warning I was talking about earlier:
http://fedoraproject.org/static/css/fedora.css has 6 very inefficient
and 24 inefficient rules of 116 total rules.
Very inefficient rules (good to fix on any page):
* #content .roles a:hover Tag key with 2 descendant
selectors and hover pseudo selector
* #content p.warning a Tag key with 2 descendant selectors
and Class overly qualified with tag
* #content ul#resources a Tag key with 2 descendant
selectors and ID overly qualified with tag
* #content ul#resources li Tag key with 2 descendant
selectors and ID overly qualified with tag
* .toolbar * Universal key with descendant selector
* #content div.login * Universal key with 2 descendant
selectors and Class overly qualified with tag
Inefficient rules (good to fix on interactive pages):
* #head h1 a Tag key with 2 descendant selectors
* .home #nav-home a Tag key with 2 descendant selectors
* .get #nav-get a Tag key with 2 descendant selectors
* .join #nav-join a Tag key with 2 descendant selectors
* .help #nav-help a Tag key with 2 descendant selectors
* #content table th Tag key with 2 descendant selectors
* #content table th Tag key with 2 descendant selectors
* #content table td Tag key with 2 descendant selectors
* #content .download li Tag key with 2 descendant selectors
* #content .download a Tag key with 2 descendant selectors
* #content .roles li Tag key with 2 descendant selectors
* #content .roles a Tag key with 2 descendant selectors
* #footer a:hover Tag key with descendant selector and
hover pseudo selector
* #content #sponsors li Tag key with 2 descendant selectors
* #content #sponsors li img Tag key with 3 descendant selectors
* .downloadbox li li Tag key with 2 descendant selectors
* .download-block p img Tag key with 2 descendant selectors
* .download-sidebar a:hover Tag key with descendant
selector and hover pseudo selector
* #content .panel h3 Tag key with 2 descendant selectors
* #login-box .field label Tag key with 2 descendant selectors
* #content .login h3 Tag key with 2 descendant selectors
* #content .login input Tag key with 2 descendant selectors
* #content .login label Tag key with 2 descendant selectors
* #content .login ul Tag key with 2 descendant selectors