Performance MOC
Date: 2026-08-16
A conversion lever with an engineering implementation. Ordered measure → diagnose → fix → hold. Optimising before measuring is the field’s defining mistake.
Measuring
- Core Web Vitals — LCP, INP and CLS: what each detects, and why they replaced the metrics before them
- Largest Contentful Paint — perceived load; the element it picks and the four phases of its timing
- Interaction to Next Paint — responsiveness across the whole visit, and why it exposed problems FID hid
- Cumulative Layout Shift — visual stability, its scoring, and the causes that dominate in practice
- Time to First Byte — server and network time, the floor everything else sits on
- Field vs Lab Data — real users versus a synthetic run, and why they disagree by design
- Real User Monitoring — collecting field performance from actual sessions
- Synthetic Monitoring — repeatable lab runs as a regression signal
- Percentiles in Performance — why the 75th percentile is the standard, and the mean useless — see Skewed and Heavy-Tailed Distributions
- Performance Budgets — a threshold that fails a build, which is the only kind that holds
Loading
- Render-Blocking Resources — the CSS and JS that stop first paint, and the ways to unblock each
- Resource Hints —
preconnect,preload,prefetch,dns-prefetch, and the harm of over-hinting - Priority Hints — telling the browser what matters when its heuristics guess wrong
- Lazy Loading — deferring off-screen work, and why lazy-loading the LCP element is a self-inflicted wound
- Code Splitting — shipping less JavaScript per route
- Bundle Analysis — finding what’s actually in the payload, which is never what you expect
Assets
- Image Optimisation — format, dimensions, responsive sources, and the single largest win on most retail sites
- Modern Image Formats — AVIF and WebP against JPEG, with fallbacks
- Font Loading — FOIT, FOUT,
font-display, subsetting, and self-hosting - Video and Media — poster frames, preload behaviour, and streaming formats
- Compression — gzip and Brotli, what compresses well, and where it happens
Caching and delivery
- HTTP Caching —
Cache-Control, ETags, revalidation, and the difference between fresh and stale - CDN Caching — edge caching, cache keys, and purging
Runtime
- JavaScript Execution Cost — parse, compile, execute; why bytes understate the real cost
- Third-Party Scripts — the tags nobody owns, their measured cost, and how to contain them
- Tag Manager Performance — the specific cost of a container that anyone can add to
- Animation Performance — sticking to compositor-only properties, and diagnosing when you haven’t
- Memory and Long Sessions — leaks that only show up after twenty minutes
Holding the line
- Performance Regression Testing — catching it in CI rather than in the field a fortnight later
- Performance and Conversion — how to estimate it for your own site, and why borrowed benchmarks mislead
- Performance Culture — making it someone’s job before it becomes everyone’s emergency
Borders
Filed in other domains, needed constantly here.
- Browser — The Critical Rendering Path · Long Tasks and Blocking · The Event Loop · Cache API and Service Workers · Reflow and Repaint
- Architecture — Rendering Strategies · Edge Computing · Static Generation and Revalidation
- Foundations — Indexing · N+1 Queries · Query Planning · Caching Strategies · Content Delivery Networks
- Tooling — Module Bundling · Continuous Integration
- Statistics — Percentiles in Performance · Skewed and Heavy-Tailed Distributions · Correlation and Causation
- User Experience — Loading and Perceived Performance
- Commerce & Growth — Search Engine Optimisation
- Analytics — Client-Side vs Server-Side Tracking