A web performance audit checklist

David Gilbertson
Sep 5 · 14 min read
Thanks Vlad Kutepov for taking this photo for me and putting it on Unsplash

The benchmark device


Work out the user split

Turn on compression

Crank up the compression, to 11


Never wait for the network again

Lots and lots of files

Unused code

Never-used code

"@turf/along": "^6.0.1",
"@turf/area": "^6.0.1",
"@turf/bbox": "^6.0.1",
"@turf/bbox-polygon": "^6.0.1",
"@turf/bearing": "^6.0.1",
"@turf/boolean-contains": "^6.0.1",
"@turf/boolean-crosses": "^6.0.1",
"@turf/buffer": "^5.1.5",
"@turf/center": "^6.0.1",
"@turf/centroid": "^6.0.2",
"@turf/clean-coords": "^6.0.1",
"@turf/clone": "^6.0.2",
"@turf/distance": "^6.0.1",
"@turf/explode": "^5.1.5",
"@turf/helpers": "^6.1.4",
"@turf/invariant": "^6.1.2",
"@turf/length": "^6.0.2",
"@turf/line-intersect": "^6.0.2",
"@turf/line-offset": "^5.1.5",
"@turf/line-slice": "^5.1.5",
"@turf/line-slice-along": "^5.1.5",
"@turf/meta": "^6.0.2",
"@turf/midpoint": "^5.1.5",
"@turf/nearest-point-on-line": "^6.0.2",
"@turf/point-to-line-distance": "^6.0.0",
"@turf/points-within-polygon": "^5.1.5",
"@turf/polygon-to-line": "^6.0.3",
"@turf/shortest-path": "^5.1.5",
"@turf/simplify": "^5.1.5",
"@turf/transform-scale": "^5.1.5",
"@turf/truncate": "^6.0.1",

Too-big code

Not-used-by-all-users code

Not-used-right-now code

Use a Content Delivery Network

The little things

User interactions

Backend performance

That’s all!

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade