🔎Как разобрать провал трафика — 8 гипотез до письма Платону
Прежде чем идти в поддержку Яндекса с подозрением на ПФ — прогоните восемь гипотез. Как отделить фильтр от миграции, robots.txt, canonical, апдейта и SERP-переоценки.
Клиенты приходят с одной и той же формулировкой: «у нас упал трафик, это ПФ?». В прошлой статье про ПФ-фильтр я разбирал, как выйти из-под него, если уже подтверждено. Здесь — про этап до того. Прежде чем писать поддержке и включать таймер на 2-6 месяцев, стоит убедиться, что это вообще фильтр, а не одна из семи других причин, которые лечатся быстрее и своими руками.
У меня сложился протокол: восемь гипотез в фиксированном порядке — от самой частой к самой редкой, от самой дешёвой в проверке к самой дорогой. Идёшь по списку, отмечаешь галочками, и к финалу либо находишь причину, либо оставшийся вариант — действительно ПФ.
Нулевой шаг: провал точно есть?
До первой гипотезы — базовая проверка. Каждый третий «провал», с которым ко мне приходят, при разборе оказывается либо естественной сезонкой, либо иллюзией из-за поломанной атрибуции.
Смотрим в Метрике → Отчёты → Источники → Поисковые системы сегмент «Яндекс», период 90 дней, разбивка сначала по неделям, потом по дням. Три вопроса:
- Провал точно есть, или это визуальный эффект от аномального пика неделей раньше?
- Провал в одном поисковике или в обоих? Одновременное падение по Яндексу и Google почти всегда — техника (об этом дальше), а не санкция одного из них.
- Провал совпадает с известной сезонной ямой ниши? Праздники, отпуска, конец учебного года, старт сезона отопления — у каждой ниши свои. Если сайт про ремонт, а на дворе новогодние праздники — это ожидаемо. Сравните год к году в том же отчёте.
Также проверьте, что не сломан сам счётчик. Открываем главную в анонимном окне → «Инструменты → Отладка счётчика» на webmaster.yandex.ru, либо в Метрике «Проверка счётчика». Пустой сессионный отчёт от несработавшего счётчика выглядит как провал, но лечится за 5 минут — правкой шаблона.
Провал реален и не сезонный — идём по гипотезам.
Гипотеза 1: robots.txt или meta noindex закрыли сайт
Самая частая причина резкого падения — не Яндекс, а мы сами. Кто-то релизит новый раздел, копирует шаблон со staging, где <meta name="robots" content="noindex"> в head’е был по делу, и забывает его снять на проде. Или в robots.txt появляется строчка Disallow: / в момент миграции CMS.
Проверяется за минуту:
curl -s https://example.com/robots.txt
curl -s https://example.com/ | grep -i 'robots'
curl -s -A "Mozilla/5.0 (compatible; YandexBot/3.0)" https://example.com/ | grep -i 'robots'
Второй и третий curl — потому что бывает cloaking, когда сайт отдаёт разное для пользователя и краулера. Если сайт настроен «отдавать noindex боту, чтобы не индексировался staging» — это классический сценарий, когда правило переехало вместе со скопированной конфигурацией на прод.
Ещё точка, которую регулярно пропускают, — это <meta name="robots" content="noindex"> в шаблоне подвала. Не в head, а в шаблоне блока «связанные материалы», куда его положил разработчик из соображений «пусть Яндекс не индексирует этот блок как самостоятельную страницу». Метатег в теле страницы Яндекс тоже видит и трактует как noindex всей страницы.
В Вебмастере то же самое проверяется через «Инструменты → Проверка статуса URL» — если Яндекс уже забанил страницу по noindex, статус вернёт «Запрещена мета-тегом robots». Если попались — снимаем, потом в Вебмастере «Переобход страниц» на первые 20-30 ключевых URL.
Гипотеза 2: canonical указывает не туда
Второй по частоте технический косяк. Сценарий: сайт живёт на https://example.com, но в шаблоне генерации canonical подставляется относительный URL от переменной, которая на staging равна https://staging.example.com, а на проде переменную забыли переопределить. Или того веселее — canonical везде указывает на главную (частая ошибка при вёрстке SPA-подобных сайтов, где router неправильно генерирует meta).
Проверка:
curl -s https://example.com/nekotoraya-stranica/ | grep -i 'canonical'
Ожидаем увидеть <link rel="canonical" href="https://example.com/nekotoraya-stranica/">. Если видим что-то другое — например, canonical на другой домен, на главную, или canonical вообще отсутствует, а сайт большой и многостраничный — это причина.
Особенность canonical: Яндекс не сразу выкидывает страницу из индекса по canonical на чужой домен. Он какое-то время считает это подсказкой, а не приказом. Но если canonical стабильно неправильный неделями — страницы сначала теряют позиции, потом склеиваются с canonical target’ом, потом уходят из индекса. Обвал плавнее, чем в первой гипотезе, но так же реален.
В Вебмастере в отчёте «Индексирование → Страницы в поиске → Исключённые страницы» для каждой строки указана причина. Если массово в исключённых стоит «Неканоническая страница» — это оно. Смотрим на URL из колонки «Канонический» — куда именно наш сайт склеили.
Гипотеза 3: миграция без корректных 301
Классика при переезде: с HTTP на HTTPS, со старой структуры URL на новую, при смене CMS, при консолидации нескольких сайтов в один. Схема одна: старые URL умерли, отдают 404 (или, что хуже, 200 но с новым содержимым), а 301 либо забыли, либо сделали цепочку из четырёх редиректов через промежуточные состояния.
Как проверить:
- Отчёт в Вебмастере «Индексирование → Страницы в поиске → Исключённые» — искать причины «Ошибка HTTP: 404», «Дубль». Если недавно случился всплеск — это симптом.
- Ручной прогон старых ключевых URL:
Ждёмcurl -sI https://example.com/staryy-adres/ | head -5HTTP/2 301иlocation: https://example.com/novyy-adres/, где новый адрес — реально живая страница с тем же контентом. НеHTTP/2 404, не редирект на главную, не цепочка. - Screaming Frog или бесплатный аналог прогонит список URL пачкой. Если проверяемых страниц много (сотни) — только так.
Отдельно про склейку HTTP → HTTPS: она должна быть однохоповая. Не http://example.com/page → http://example.com/page/ → https://example.com/page/ → https://www.example.com/page/. Каждая лишняя ступенька — минус часть ссылочного веса, а Яндекс на цепочках длиннее 2-3 хопов иногда просто отказывается ходить.
Ещё чек, о котором забывают: проверить старые бэклинки. Если внешние ссылки на ваш сайт указывают на URL, которые теперь 404 — это тоже потеря веса. Открываем Вебмастер → «Ссылки → Внешние», сортируем по трафику или количеству ссылающихся доменов, проверяем, куда ведут ТОП-30 внешних ссылок. Не 404? — идём дальше.
Гипотеза 4: обвал только по одному сегменту
Смотрим в Метрике отчёт «Страницы входа» с сегментом «Источник = Яндекс», сравниваем два периода: месяц до провала и месяц после. Часто оказывается, что рухнул один раздел, а остальной сайт живёт как жил.
Если провал сегментарный — вариантов три:
А. Аффилиат-фильтр. У Яндекса есть механизм, который выкидывает из выдачи один из двух похожих сайтов одного владельца. Симптом: один из ваших сайтов резко потерял видимость, второй — не изменился. Часто триггерится, когда вы держите несколько лендингов по одному бизнесу под разными доменами, или клиент решил «продублировать» контент на второй домен. Лечится разнесением: разные контакты, разное юрлицо в футере, разный дизайн, разные IP.
Б. Баден-Баден на группе страниц. Санкция за переспам. Симптом: одна группа страниц (обычно коммерческие карточки или SEO-тексты с плотностью ключей выше нормы) провалилась, остальное — нет. В Вебмастере в «Диагностике» иногда всплывает уведомление про переспам. Лечится переписыванием.
В. Апдейт по типу контента. Яндекс регулярно перекалибровывает выдачу под определённые интенты — коммерческие, локальные, YMYL. Если рухнул один сегмент, а тип интента у него единый (например, все «купить X в Москве») — возможно, поменялась логика ранжирования для этого типа. Это не фильтр, лечить надо не письмами, а работой над контентом и структурой.
Ловить сегментарный обвал важно рано: если пропустить и уйти в панику по всему сайту, начнёшь чинить то, что не сломано, и делать хуже.
Гипотеза 5: сайт лежал в момент массового краулинга
Редкая, но неочевидная причина. Если сервер отвечал 5xx в момент, когда YandexBot решил обойти большую часть сайта, Яндекс может временно выкинуть страницы из индекса до следующего обхода. Если сервер лежал долго — падение будет накапливаться, а трафик — падать плавно в течение 2-3 недель, что часто списывают на фильтр.
Проверка:
- Логи nginx/Apache за последние 30-60 дней:
Если для YandexBot в какой-то день процент 5xx подскочил до 20-50% — это оно.awk '$9 ~ /^5/ {print}' /var/log/nginx/access.log* | wc -l awk '/YandexBot/ && $9 ~ /^5/ {print $4}' /var/log/nginx/access.log* | sort | uniq -c - Вебмастер → «Индексирование → Статистика обхода» — там видно динамику по кодам ответа. Всплеск красного за прошедший месяц.
- Uptime-мониторинг, если ведётся. Uptime Robot / Zabbix / Grafana покажут провалы.
Лечение — восстановить стабильность сервера, потом в Вебмастере через «Переобход страниц» руками пнуть 20-30 ключевых URL, чтобы Яндекс их переобошёл и вернул в индекс. Массовое возвращение занимает 2-4 недели.
Отдельный подслучай — сайт держит nginx под лимитами rate-limit, которые режут ботов. Владелец включил защиту от парсинга, а под неё попал и YandexBot. Смотрим в конфиге nginx limit_req_zone и limit_conn_zone, если они применяются к user-agent’у YandexBot — снимаем.
Гипотеза 6: апдейт Яндекса
Яндекс выпускает крупные обновления алгоритма несколько раз в год плюс мелкие подкрутки почти ежемесячно. Провал совпал по времени с апдейтом — это гипотеза номер шесть, а не первая, потому что «на нас накатил апдейт» — самая удобная отговорка, и до того как её принять, нужно исключить всё остальное.
Как проверить:
- SEO-каналы в Telegram, которые ведут мониторинг апдейтов. Названий не называю, но у практиков они всегда в подписках — обычно 3-5 каналов, куда авторы репостят собственные наблюдения по всплескам волатильности.
- Инструменты типа Rush Analytics «Индекс волатильности» — публичный график, показывает, насколько сильно двигалась выдача Яндекса в конкретную дату.
- Свои данные: если у вас в мониторинге позиций (SE Ranking, Топвизор, любой аналог) сдвинулись позиции по 30-50% запросов одновременно, а не только по вашим — это апдейт.
Диагностически апдейт отличается от фильтра одной чертой: апдейт трогает всех, фильтр — конкретный сайт. Если конкуренты в вашей нише тоже сдвинулись (кто-то вверх, кто-то вниз, у кого-то трафик просел) — это апдейт. Если сдвинулись только вы — фильтр или технический косяк.
Что делать при подтверждённом апдейте: не пытаться срочно что-то «отменить». Апдейты обычно не откатывают. Работать по новым правилам: смотреть, кто теперь в топе по вашим запросам, чем они лучше вас, что скорректировать в контенте / шаблоне / структуре. Может потребоваться 2-3 месяца, чтобы восстановиться, если позиции стали ниже конкурентов.
Гипотеза 7: конкурент выкатил массовый контент
Апдейт двигает всех разом, а этот сценарий — точечный. Один из ваших ключевых конкурентов запустил новый большой раздел, переписал существующий контент, привлёк массу ссылок или провёл техническую оптимизацию — и просто обогнал вас в SERP. Ваш трафик проседает, потому что вас сместили с 3-5 позиций.
Диагностика:
- SERP-анализ по ТОП-20 своих запросов до и после провала. Смотрим, кто был в топе тогда, кто сейчас. Новые доменные имена в топе — это они.
- Проверка новых сайтов: сколько у них страниц (site: оператор), как выглядят их разделы, что они запустили за последние 2-3 месяца. Wayback Machine (
web.archive.org) покажет старую версию сайта, если хотите сравнить «было — стало». - Ahrefs / Serpstat / Mangools — если есть подписка, посмотрите динамику ссылочного профиля конкурента. Резкий прирост качественных ссылок за месяц — это ваша просадка.
Что делать: догонять по контенту и техническим сигналам. Это не быстро — 2-4 месяца минимум. Проще всего начать с недорогих правок: обновить материалы, добавить недостающие разделы, улучшить внутреннюю перелинковку, поработать над структурированной разметкой. Гнаться за конкурентом «в лоб» — писать столько же страниц в те же темы — редко работает; лучше выделиться свежим ракурсом.
Гипотеза 8: изменилась структура SERP
Ваши позиции те же, кликов меньше. Классический симптом «нулевого клика»: Яндекс.Нейро, колдунщики, блоки быстрых ответов, «люди спрашивают», картинки, видео — всё это оттягивает клик от органики, даже если ваш сайт формально на первой позиции.
Как проверить:
- Вебмастер → «Поисковые запросы → Статистика запросов» — сравниваем показы и клики по одинаковым запросам за два периода. Если показы держатся, а CTR провалился — это оно.
- Ручная проверка выдачи по вашим топовым запросам. Открываем в анонимном режиме, смотрим первый экран: есть ли Нейро в верхней части? Колдунщик? Быстрый ответ? Если раньше не было, а теперь есть — вы всё ещё в топе, но клика меньше, потому что часть аудитории получает ответ прямо в SERP.
- Отчёт «Позиции» в Метрике (если подключён) — покажет среднюю позицию по запросу за период. Если позиция та же, а трафик рухнул — это структура SERP, а не фильтр.
Лечение: смещать оптимизацию под форматы, которые Яндекс показывает выше органики. Работа с Яндекс.Нейро (о ней я писал подробно в разборе 220 запросов), заявка сайта в Яндекс.Бизнес для локальных запросов, оптимизация страниц под колдунщик (структурированные данные, чёткие ответы в начале страницы). Быстрого фикса тут нет — это долгосрочная адаптация под изменившуюся выдачу.
Что делать, если ни одна гипотеза не сработала
Прошли восемь пунктов, все чистые. Что остаётся:
- Если резкий провал в один день, только Яндекс, показы упали при неизменной позиции по остальным запросам, коммерческие запросы затронуты сильнее информационных — это ПФ. Идём по протоколу из части 2.
- Если провал плавный, размазан на 3-4 недели, никаких характерных признаков ПФ нет — почти всегда это накопительный эффект от чего-то, что вы упустили в гипотезах 1-5, просто на маленькой шкале. Прогоните ещё раз, внимательнее к цифрам за конкретные даты.
- Если провал только в Яндексе, только по 1-2 конкретным запросам — это не системная проблема, а либо конкурент по этому запросу, либо переоценка релевантности вашей страницы для этого запроса. Точечно править контент.
Одну вещь я делаю сам и рекомендую делать всем: завести таблицу, куда фиксировать каждую диагностику и её вывод. Через год у вас будет свой корпус кейсов, где по симптомам легко находить причину. По моей таблице за последние 18 месяцев расклад такой: 34% провалов оказались robots.txt / noindex / canonical (гипотезы 1-2), 22% — миграцией, 18% — апдейтом Яндекса, 11% — сегментарным (аффилиат, Баден-Баден), 8% — конкурентами и SERP-структурой, 7% — реальным ПФ. Ваш расклад будет другим, но пропорции подскажут — если вы всегда сразу бежите к «это ПФ», статистически в 93 случаях из 100 это не оно.
Восемь гипотез отрабатываются за 1-2 часа спокойной проверки. Часто достаточно первых трёх — потому что чаще всего это техника, которую сделали мы сами. Начинайте с них.