Оптимизация фронта — чек-лист
Сводный чек-лист по серии «Оптимизация Frontend приложений (23 совета)» и разборам PageSpeed/Lighthouse у AsForJS. Что реально двигает метрики.
Network (TTFB, FCP)
- HTTP/2 или HTTP/3.
- Brotli/gzip — статика всегда сжата.
- CDN для статики и
Cache-Control: immutable. - Preconnect / dns-prefetch к критичным origins.
- Subresource preload для шрифтов и hero-картинок.
Critical rendering path (FCP, LCP)
- Critical CSS инлайнить в
<head>, остальноеdefer. - JS —
deferилиasync, не блокирующий парсинг. - Шрифты —
font-display: swap, preload.woff2. - Hero-картинка —
<img fetchpriority="high">.
Bundle size (TBT, JS load)
- Code splitting по роутам.
- Tree shaking.
- Замена тяжёлых зависимостей (Moment → date-fns/dayjs, lodash → lodash-es per-method).
- Dynamic import для редких функций.
Rendering perf (CLS, INP)
width/heightна<img>для предотвращения CLS.- Виртуализация длинных списков.
content-visibility: autoдля off-screen блоков.will-changeточечно (не на всём подряд).- Throttle/debounce для частых событий.
JavaScript runtime (TBT, INP)
- Web Worker для тяжёлых вычислений.
- Не парсить JSON > 1MB на main thread.
- requestIdleCallback для неприоритетной работы.
- requestAnimationFrame для визуальных апдейтов.
Images
- AVIF + WebP fallback.
srcset/sizesдля responsive.- Lazy loading:
loading="lazy"для off-screen. - Imgproxy / Cloudinary для on-demand resize.
Источники
- Оптимизация Frontend приложений (23 совета) · AsForJS · 2024-08-04
- Оптимизируем главную страницу HexLet до PageSpeed 90+ · AsForJS · 2026-04-26
- Live Coding Оптимизируем сайт ECMA Script · AsForJS · 2025-10-29
- Как LightHouse оценивает ваш HTML и CSS · AsForJS · 2025-08-23