Full Optimization Checklist
Details
Glossary:
First Byte Time | Applicable Objects | Time to First Byte for the page (back-end processing + redirects) |
---|---|---|
What is checked | The target time is the time needed for the DNS, socket and SSL negotiations + 100ms. A single letter grade will be deducted for every 100ms beyond the target. | |
Keep-Alive | Applicable Objects | All objects that are from a domain that serves more than one object for the page (i.e. if only a single object is served from a given domain it will not be checked) |
What is checked | The response header contains a "keep-alive" directive or the same socket was used for more than one object from the given host | |
GZIP Text | Applicable Objects | All objects with a mime type of "text/*" or "*javascript*" |
What is checked | Transfer-encoding is checked to see if it is gzip. If it is not then the file is compressed and the percentage of compression is the result (so a page that can save 30% of the size of it's text by compressing would yield a 70% test result) | |
Compress Images | Applicable Objects | JPEG Images |
What is checked | Within 10% of a photoshop quality 50 will pass, up to 50% larger will warn and anything larger than that will fail. The overall score is the percentage of image bytes that can be saved by re-compressing the images. |
|
Use Progressive JPEGs | Applicable Objects | All JPEG Images |
What is checked | Each JPEG image is checked and the resulting score is the percentage of JPEG bytes that were served as progressive images relative to the total JPEG bytes. | |
Cache Static | Applicable Objects | Any non-html object with a mime type of "text/*", "*javascript*" or "image/*" that does not explicitly have an Expires header of 0 or -1, a cache-control header of "private", "no-store" or "no-cache" or a pragma header of "no-cache" |
What is checked | An "Expires" header is present (and is not 0 or -1) or a "cache-control: max-age" directive is present and set for an hour or greater. If the expiration is set for less 7 days you will get a warning. If the expiration is set for less than 1 hour you will get a failure. This only applies to max-age currently. | |
Use A CDN | Applicable Objects | All static non-html content (css, js and images) |
What is checked | Checked to see if it is hosted on a known CDN (CNAME mapped to a known CDN network). 80% of the static resources need to be served from a CDN for the overall page to be considered using a CDN. The current list of known CDN's is here |