perf:http2-3 | Enable HTTP/2 or HTTP/3 | static | response protocol (info if urllib can't confirm — verify in Lighthouse) |
perf:text-compression | Enable text-based compression | static | content-encoding: gzip|br |
perf:browser-caching | Enable browser caching | static | cache-control max-age + etag |
perf:hsts | (security reused) HSTS | static | strict-transport-security |
perf:sec:* | (security reused) CSP/XCTO/XFO/Referrer | static | presence of security headers |
perf:content-type | correct content-type | static | content-type present |
perf:ttfb | Reduce TTFB | static | HEAD latency (best-effort) |
perf:page-weight | Keep page weight <1500KB (<500KB ideal) | static | sum of built tree / HTML doc size |
perf:js-bundle-size | Optimize JS bundle size | static | largest .js files vs 250KB |
perf:css-size | Optimize CSS file size | static | largest .css files vs 100KB |
perf:no-dup-js-libs | Remove duplicate JS libraries | static | md5 content dup + version-stripped name |
perf:gif-to-video | Convert animated GIFs to video | static | .gif presence |
perf:resource-hints | Use resource hints (preload/prefetch/preconnect) | static | <link rel> hints in HTML |
perf:preconnect | Use preconnect for critical 3p origins | static | rel=preconnect |
perf:fetchpriority | Use fetchpriority | static | fetchpriority attribute |
perf:no-lazy-above-fold | Disable lazy loading above the fold | static | early <img loading=lazy> / missing preload |
perf:lazy-offscreen | Lazy loading for offscreen content | static | <img loading=lazy> when 3+ imgs |
perf:service-worker | Register a service worker | static | serviceWorker / sw.js |
perf:speculation-rules | Speculation Rules API | static | speculationrules |
perf:stream-html | Stream HTML to browser | static | transfer-encoding / renderToPipeableStream |
perf:source-maps | Source maps for debugging | static | .map / sourceMappingURL |
perf:virtualize-lists | Virtualize long lists/tables | static | >500 <li> heuristic |
perf:third-party-async | Optimize third-party script loading | static | external <script> async/defer |
perf:cdn | Use a CDN | static | server/via header heuristic |
perf:lcp | Optimize LCP (<2.5s, Critical) | lighthouse | largest-contentfulpaint |
perf:fcp | Optimize FCP (<1.8s) | lighthouse | first-contentful-paint |
perf:inp | Optimize INP (<200ms) | lighthouse | interactive (TBT proxy) |
perf:cls | Minimize CLS (<0.1) | lighthouse | cumulative-layout-shift |
perf:load-time-3s | Page load <3s | lighthouse | speed-index / load |
perf:critical-chains | Minimize critical request chains | lighthouse | critical-request-chains |
perf:no-render-blocking | Eliminate render-blocking resources | lighthouse | render-blocking-resources |
perf:min-http-requests | Minimize HTTP requests | lighthouse | network-requests |
perf:dom-size | Reduce DOM size/complexity | lighthouse | dom-size |
perf:no-legacy-js | Avoid legacy JS to modern browsers | lighthouse | legacy-javascript |
perf:no-js-redirects | Avoid JS-based redirects | lighthouse | redirects |
perf:font-loading | Optimize web font loading | lighthouse | font-display / render-blocking |
perf:defer-on-interaction | Load non-critical code on interaction | lighthouse | unused-javascript / TBT |
perf:viewport-aware | Load code when near viewport | lighthouse | unused-javascript |
perf:bfcache | Optimize back/forward cache | static | heuristic: no unload listeners (manual confirm) |
perf:secure-js-libs | Use secure/up-to-date JS libs | lighthouse | lighthousec.js-libraries (best-effort) |
perf:webpagetest | Analyze with WebPageTest | manual | human/WebPageTest run |
perf:consent-mode-v2 | Google Consent Mode v2 | manual | privacy/consent config review |
perf:gtm-efficient | Optimize GTM implementation | manual | tag-config review |
perf:offline-fallback | Offline fallback page | static | service worker + offline route (best-effort) |
perf:loading-indicators | Show loading indicators | static | app-code review (best-effort) |