Ф
Фронтендим
@frontendino565 подп.
194просмотров
34.3%от подписчиков
30 апреля 2025 г.
Score: 213
В нескольких проектах пришлось серьезно оптимизировать под Core Web Vitals. Делюсь наработками по улучшению ключевых метрик. LCP (Largest Contentful Paint) — время загрузки крупнейшего контентного элемента:// Измерение LCP в коде new PerformanceObserver((entryList) => { for (const entry of entryList.getEntries()) { console.log(LCP: &#036;{entry.startTime}ms); console.log(LCP элемент:, entry.element); } }).observe({ type: 'largest-contentful-paint', buffered: true }); Для оптимизации LCP: — Используйте <link rel="preload"> для важных изображений — Установите fetchpriority="high" для критичных ресурсов — Внедрите критический CSS инлайново — Используйте CDN для быстрой доставки ресурсов CLS (Cumulative Layout Shift) — метрика смещения макета: Предотвращение CLS для изображений / .image-container { aspect-ratio: 16/9; width: 100%; background: #f0f0f0; } / Для динамического контента с неизвестной высотой / .comments-section { min-height: 200px; / Приблизительная начальная высота / transition: height 0.3s; / Плавное изменение при загрузке / } INP (Interaction to Next Paint) — отзывчивость интерфейса: javascript// Оптимизация обработчика события function debounce(fn, delay) { let timer; return function(...args) { clearTimeout(timer); timer = setTimeout(() => fn.apply(this, args), delay); }; } // Используем для частых событий const handleScroll = debounce(() => { // Тяжелая операция при скролле }, 50); window.addEventListener('scroll', handleScroll); Инструменты для измерения: — Lighthouse в DevTools — PageSpeed Insights для сравнения с реальными пользователями web-vitals библиотека для JS-мониторинга Оптимизация этих метрик улучшила не только SEO, но и общее восприятие скорости сайтов пользователями. Подписывайся на @frontendino
194
просмотров
1822
символов
Нет
эмодзи
Нет
медиа

Другие посты @frontendino

Все посты канала →
В нескольких проектах пришлось серьезно оптимизировать под C — @frontendino | PostSniper