1. Published under a CC-BY license. Feel free to copy, embed, fork. Original author Dmitry Pashkevich
2. Resource count
2.1. Concatenate JS and CSS
2.2. Image sprites
2.3. Inline small CSS & JS
2.4. Inline small images (base64)
2.5. CSS effects instead of images
3. Resource wait
3.1. New connection overhead
3.1.1. Keep-Alive
3.1.2. Locate server close to target audience
3.1.3. Optimize server's TCP stack
3.2. Browser's max connections limit
3.2.1. Domain sharding
3.2.2. Use CDN
3.3. Blocking resources
3.3.1. Defer loading non-critical resources
3.3.2. JS at the end
3.3.3. CSS inside <head>
3.3.4. Flush output buffer early
3.4. Other
3.4.1. Avoid redirects
3.4.2. Main content early in HTML
4. Display time
4.1. Parsing and execution
4.1.1. HTML
4.1.1.1. Content-type + charset headers
4.1.2. CSS
4.1.3. JS
4.2. Paint
4.2.1. Don't overdo CSS effects
4.2.2. Avoid image scaling in browser
4.3. Layout
4.3.1. CSS inside <head>
4.3.2. Minimize element count and nesting
4.3.3. Specify image dimensions
4.3.4. Avoid using tables for layout
5. Transfer size
5.1. Caching
5.1.1. One resource = one URL (consistency)
5.1.2. ETag/Last-Modified headers
5.1.3. Expires/Cache-Control: max-age
5.1.4. URL fingerprinting (revving)
5.1.4.1. Via filename
5.1.4.2. Via query string
5.1.5. Avoid query strings in static resource URLs
5.1.6. Cache-Control: public header
5.1.7. Load libraries and fonts from public hostings
5.2. Encoding
5.2.1. gzip text assets
5.2.2. Don't abuse Base64
5.3. Protocol overhead
5.3.1. Prefer short URLs
5.3.2. Minimize cookie size
5.3.3. Use cookie-less domain for static resources
5.4. Other
5.4.1. Use simple error pages (404, 500, etc.) for non-document requests
6. Resource size
6.1. Images
6.1.1. Optimal format
6.1.2. Lossless compression
6.1.3. Strip metadata
6.1.4. Minimal needed resolution
6.2. HTML
6.2.1. Avoid excessive markup
6.2.2. Prefer HTTP headers over <meta http-equiv>
6.2.3. Minify
6.3. CSS/JS
6.3.1. Minify
6.3.2. Custom, minimal builds of libraries
6.3.3. DRY
6.4. Other
6.4.1. Fonts: strip metadata and unused character tables
6.4.2. Choose a compact data format