Диагностика
95 запросов · 25 JS · 12 CSS · 5 шрифтов
Объём: ~10.3 MB · Main thread: 562.5 ms
Резюме. Главные проблемы — медленный LCP (геро‑картинка), высокий CLS (сдвиги вёрстки),
блокирующий рендер CSS, тяжёлые изображения и сторонние скрипты (reCAPTCHA, Яндекс Метрика, Sendsay).
Потенциал: −2–3 s к LCP, −2–4 s к TTI, CLS < 0.1, −3–5 MB суммарного веса.
Ключевые находки
Картинки: экономия ~4.6 MB при переводе в WebP/AVIF; LCP −2.7 s.
Рендер-блокирующий CSS: main.css, libs.css — задержка ~880 ms.
Сторонние скрипты: recaptcha__ru.js (~358 KB, блок 84.9 ms), mc.yandex.ru, sendsay.ru — есть неиспользуемый JS.
CLS: изображения/динамика без фиксированных размеров; вероятны баннеры/слайдеры выше фолда.
Кэш: 86 ресурсов с неэффективным TTL; при повторных визитах теряется производительность.
Компрессия текста: недожатые скрипты (tracking_v2.min.js), score 0.5.
Responsive: Giftcard.png — нет srcset/sizes, лишние 25.7 KB.
Изображения: оптимизация
Ресурс Проблема Оценка экономии Действия
advantages.jpgФормат/размер высокая (LCP −2.7 s) WebP/AVIF, srcset/sizes, fetchpriority="high"
360.jpgКрупный фон высокая WebP/AVIF, preload как as="image"
Zazhigalki-20_1.jpgКрупный фон высокая WebP/AVIF
Z_sayt-_1_.jpgКрупный фон высокая WebP/AVIF
MAKET_zazhigalki-360.jpgКрупный фон высокая WebP/AVIF
Giftcard.pngНет srcset/sizes ~25.7 KB Добавить srcset/sizes, WebP
Рендер-блокирующие ресурсы
Ресурс Тип Эффект Рекомендация
libs.cssCSS блок ~880 ms preload + onload, критический CSS inline
main.cssCSS блок ~880 ms preload + onload, критический CSS inline
inputmask.min.jsJS (unmin) ~4 KB Минифицировать, грузить по необходимости
Сторонние скрипты
Провайдер Ресурс Transfer Блокировка Рекомендация
Google reCAPTCHA recaptcha__ru.js~357.8 KB 84.9 ms Фасад/по клику, только на формах
Яндекс Метрика tag.js, _tag_ec.js~98.4 KB 27.08 ms async, отложенная загрузка (idle/таймер)
Sendsay tracking_v2.min.js~49.2 KB 0 ms Сжатие, условное подключение, по необходимости
Кэширование и компрессия
Ресурс Проблема TTL Рекомендация
tracking_v2.min.jsнет кэша 0 ms Включить кэш у провайдера/через прокси
tag.jsмалый TTL ~3600000 ms Увеличить TTL/версионирование
_tag_ec.jsмалый TTL ~7190000 ms Увеличить TTL/версионирование
advantages.jpgвысокий вес ~30 дней WebP/AVIF + длинный TTL с хешем
360.jpgвысокий вес ~30 дней WebP/AVIF + длинный TTL с хешем
и другие крупные фоны высокий вес ~30 дней WebP/AVIF + длинный TTL с хешем
Рекомендации (приоритет)
LCP и изображения: перевести геро‑картинку в WebP/AVIF; srcset/sizes; fetchpriority="high"; decoding="async"; preload для фонового LCP.
CSS не блокирует: вынести критический CSS inline; подключать остальные через preload + onload.
CLS ↓: явные размеры width/height, aspect-ratio, резервировать место для динамики (метрика/recaptcha/баннеры).
Третьи стороны: reCAPTCHA — фасад/по клику; Метрика — async, requestIdleCallback/таймер; отключить ненужные трекеры.
Кэш/сжатие (IIS): включить gzip/динамическое сжатие; долгое max-age для версионированных css/js/webp/avif; MIME для WebP/AVIF.
Дополнительно: preconnect/dns-prefetch к внешним доменам; loading="lazy" для всего ниже фолда.
Примеры внедрения
Критический CSS и не блокирующие стили:
<style>/* critical: шапка/герой */</style>
<link rel="preload" as="style" href="/css/libs.css" onload="this.rel='stylesheet'">
<link rel="preload" as="style" href="/css/main.css" onload="this.rel='stylesheet'">
LCP изображение:
<img src="/images/advantages_960.webp"
srcset="/images/advantages_480.webp 480w, /images/advantages_960.webp 960w, /images/advantages_1440.webp 1440w"
sizes="(max-width:600px) 480px, (max-width:1024px) 960px, 1440px"
fetchpriority="high" decoding="async" alt="Zippo advantages"
width="1440" height="600">
Фасад для reCAPTCHA и отложенная Метрика:
document.getElementById('unlock-form').addEventListener('click', () => {
const s = document.createElement('script');
s.src = 'https://www.google.com/recaptcha/api.js?hl=ru';
s.async = true; s.defer = true;
document.head.appendChild(s);
});
const loadAnalytics = () => {
const ym = document.createElement('script');
ym.src = 'https://mc.yandex.ru/metrika/tag.js';
ym.async = true; document.head.appendChild(ym);
};
window.requestIdleCallback ? requestIdleCallback(loadAnalytics) : setTimeout(loadAnalytics, 3000);
Составлено по файлу Lighthouse: www.zippo.ru-20251023T114243.json. Разделы: метрики, проблемы, план работ и примеры интеграции.