Как работает поиск и зачем нужно SEO
Разбираемся, как поисковик находит и ранжирует страницы — и почему позиции это следствие, а не цель.
Расшифровка видеотекстом, с таймкодами
- Что такое Core Web Vitals и почему это важно
- Три ключевые метрики: LCP, INP, CLS
- Как измерять: PageSpeed Insights, Search Console
- Что и как чинить
Core Web Vitals — три метрики скорости и стабильности сайта от Google, которые с 2021 года официально влияют на ранжирование. Яндекс с 2023 тоже учитывает скорость напрямую (через ИКС и «скоростные» сигналы Метрики). Игнорировать нельзя.
Простыми словами: пользователь не должен страдать на сайте. Долго грузится? Тыкает кнопку, а сайт не реагирует? Контент прыгает при загрузке? Всё это — минус позиции.
Три метрики Core Web Vitals
LCP — Largest Contentful Paint. Сколько секунд проходит от клика по ссылке до момента, когда показалась самая большая видимая часть страницы (обычно — главное изображение или заголовок).
INP — Interaction to Next Paint. С марта 2024 заменил FID. Замеряет: пользователь нажал кнопку — сколько прошло до видимой реакции сайта.
CLS — Cumulative Layout Shift. Насколько сильно «прыгает» контент при загрузке. Когда вы читаете заголовок — а сверху подгрузилась реклама и заголовок улетел вниз. Это плохой CLS.
Чем измерять — три бесплатных инструмента
1. PageSpeed Insights (pagespeed.web.dev). Главный инструмент. Вставили URL — за 30 секунд получили оценку Mobile/Desktop, цифры по LCP/INP/CLS, и список конкретных проблем с приоритетами. Используйте Mobile (большая часть трафика — мобильный).
Данные реальных пользователей (CrUX)
2. Google Search Console → Core Web Vitals. Реальные данные с пользователей вашего сайта (не лабораторные). Показывает, какие URL «хорошие», какие «требуют улучшений», какие «плохие». Эти же группы видит и поиск.
3. Lighthouse в Chrome DevTools. F12 → вкладка Lighthouse → Generate report. Локальный аудит, тот же движок что у PageSpeed Insights.
Что чинить: топ-7 проблем и решения
- Тяжёлые изображения. Самая частая проблема LCP. Решение: WebP/AVIF вместо JPEG (вес меньше в 2–3 раза),
loading="lazy"на изображения ниже первого экрана,<picture>с разными разрешениями. - Изображения без размеров. Главная причина плохого CLS.
<img>без атрибутовwidthиheight— браузер не знает место, контент после неё подпрыгивает. Решение: всегда указывайте размеры или aspect-ratio в CSS. - Шрифты без font-display: swap. Текст не виден, пока не загрузился шрифт — это удар по LCP. Решение: в
@font-faceдобавитьfont-display: swap; - Тяжёлый JS на главном потоке. Виджеты соцсетей, чаты, аналитика — всё в одном потоке. Решение:
deferилиasyncна скриптах, не блокирующих рендер. - Render-blocking CSS. Огромный CSS-файл в
<head>, не оптимизирован. Решение: вынести критический CSS inline, остальное — preload+defer. - Нет CDN или плохой хостинг. TTFB > 600 мс — сайт медленный ещё до того, как начал грузиться. Решение: Cloudflare (бесплатно), нормальный хостинг.
- Лишние редиректы. Цепочка
http → https → www → non-wwwсъедает 500 мс. Решение: оставить один редирект, остальные — прямые ссылки.
Пример: что покажет PageSpeed Insights
Загружаете сайт на pagespeed.web.dev → получаете отчёт вида:
Performance: 67 (Mobile)
LCP: 3.8s ← медленно
INP: 240ms ← медленно
CLS: 0.18 ← медленно
Opportunities (приоритет):
- Properly size images → save 1.4s
- Defer offscreen images → save 0.6s
- Eliminate render-blocking → save 0.4s
- Reduce unused CSS → save 0.2s
Diagnostics:
- Image elements have explicit width and height: 12/47 missing
- Avoid an excessive DOM size: 1832 nodes
Это рабочий список. Идёте сверху по приоритету — обычно первые 2-3 пункта дают 80% улучшения.
- Обложка первого экрана — WebP до 200 КБ
- У каждого <img> прописаны width и height
- Картинки ниже экрана — loading="lazy"
- Чат и счётчики — через defer/async после загрузки
- JPEG-обложка 4 МБ — главный убийца LCP
- <img> без размеров — вёрстка прыгает, CLS в красном
- Все картинки грузятся сразу при открытии
- Виджет соцсетей в <head> блокирует рендер
| Симптом | Бьёт по | Что делать первым |
|---|---|---|
| Обложка-картинка 4 МБ на первом экране | LCP | Пересохранить в WebP, ужать до 200 КБ |
| Картинки без width/height | CLS | Прописать размеры или aspect-ratio |
| Чат и виджеты грузятся сразу | INP | Подключать через defer/async |
| Шрифт без font-display: swap | LCP | Добавить swap в @font-face |
| Цепочка редиректов http→https→www | TTFB / LCP | Оставить один прямой редирект |
Важно: PageSpeed Insights показывает 2 цифры — лабораторную (полученную в эмуляторе) и полевую (CrUX — реальные пользователи). Поиск смотрит на CrUX. Если у вас лабораторная 95, а CrUX «плохо» — реальный сайт медленный, и позиции будут страдать.
Чек-лист скорости
- Все картинки в WebP/AVIF, не больше 200 КБ каждая.
- У всех
<img>прописаныwidthиheight. - Lazy-loading на изображениях ниже первого экрана.
font-display: swapв@font-face.- Тяжёлый JS — с
deferилиasync. - Метрика, чаты, виджеты — асинхронно или после загрузки страницы.
- TTFB до 600 мс (проверить на webpagetest.org).
- В Search Console раздел Core Web Vitals — нет URL в «плохо».