0. RUM and Analytics
1. Infrastructure
2. The Network
3. Assets and Payloads
4. Runtime
5. Monitoring and Budgeting
• What do we know already?
• What issues exist?
• Where do we need to focus our efforts?
• Do we have TTFB issues?
• Are we using a CDN?
• Are we running HTTP/2?
• Are we running and forcing HTTPS?
• Are we running TLS 1.3?
• Are we delivering assets in a sensible order?
• Are we correctly prioritising and scheduling?
• What’s blocking us?
• Are we causing any inefficiencies?
• Are assets of a reasonable size?
• Are we using the most effective compression?
• What is blocking/synchronous?
• What can be asynchronous?
• Caching appropriately and aggressively?
• What happens once it’s all arrived?
• Do we have any expensive runtime work?
• Layout thrashing?
• Is JS behaving itself?
• Now we’ve fixed it, how do we keep on top of things?
• How do we hold ourselves to what standard?
• How do we detect, prioritise, and solve regressions?