Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Page load time by Mind Map: Page load time
0.0 stars - reviews range from 0 to 5

Page load time

Published under a CC-BY license. Feel free to copy, embed, fork. Original author Dmitry Pashkevich

Resource count

Concatenate JS and CSS

Image sprites

Inline small CSS & JS

Inline small images (base64)

CSS effects instead of images

Tradeoff: CSS effects can be CPU/GPU-heavy

Transfer size

Caching

One resource = one URL (consistency)

ETag/Last-Modified headers

Expires/Cache-Control: max-age

URL fingerprinting (revving), Via filename, Via query string

Avoid query strings in static resource URLs

Cache-Control: public header

Load libraries and fonts from public hostings

Encoding

gzip text assets

Don't abuse Base64

Protocol overhead

Prefer short URLs

Minimize cookie size

Use cookie-less domain for static resources

Other

Use simple error pages (404, 500, etc.) for non-document requests

Resource size

Images

Optimal format

Lossless compression

Strip metadata

Minimal needed resolution

HTML

Avoid excessive markup

Prefer HTTP headers over <meta http-equiv>

Minify

CSS/JS

Minify

Custom, minimal builds of libraries

DRY

Other

Fonts: strip metadata and unused character tables

Choose a compact data format

Resource wait

New connection overhead

Keep-Alive

Locate server close to target audience

Optimize server's TCP stack

Browser's max connections limit

Domain sharding

Use CDN

Blocking resources

Defer loading non-critical resources

JS at the end

CSS inside <head>

Flush output buffer early

Other

Avoid redirects

Main content early in HTML

Display time

Parsing and execution

HTML, Content-type + charset headers

CSS

JS

Paint

Don't overdo CSS effects

Avoid image scaling in browser

Layout

CSS inside <head>

Minimize element count and nesting

Specify image dimensions

Avoid using tables for layout

Notices

1. HTTP 1.x over TCP assumed

2. Using SPDY, HTTP2.0, SCTP, etc. is omitted as it requires a different approach and invalidates part of what is presented here

3. Fine-tuning the TCP stack is omitted

4. Fine-tuning specific Web servers is omitted