Задача
У образовательного портала есть большой справочный раздел — тысячи страниц по школьным предметам и темам. Раздел собирает 121 640 показов в поиске за месяц, то есть поисковик его видит, понимает и показывает. А кликов почти нет: CTR 0,46 % по разделу и 0,35 % на позициях 1–2. Для сравнения, блог того же сайта на тех же верхних позициях собирает 15,6 %. Разница в сорок с лишним раз — это не сезонность и не погрешность, это поломка.
Позиция первая, а человек не кликает. Значит, проблема не в том, где страница стоит в выдаче, а в том, как она там выглядит.
Решение
Я предложил не переписывать контент и не гнаться за позициями, а посмотреть на то, что пользователь реально видит в выдаче — на сниппет: заголовок, описание, дату. На больших сайтах эти строки не пишутся руками, их собирает шаблон. Один дефект в шаблоне тиражируется на все страницы раздела сразу — и вы этого не замечаете, потому что у себя на сайте описание не видно, оно живёт только в коде и в поиске.
Гипотеза: сниппету не верят. Проверять надо не страницы по одной, а шаблоны, которые их порождают.
Внедрение
Разбор шаблонов дал два дефекта — оба массовые.
Первый — падеж в описании на 6 459 страницах. Шаблон подставлял название класса в предложном падеже там, где нужен родительный, и описание читалось как «…для 5 классе и подготовки к уроку». Ошибка была видна прямо в сниппете поиска — на всех страницах раздела одновременно. Человек читает такую строку и понимает: тут автомат, а не ответ. Я развёл две формы подстановки — отдельную для «в 5 классе» и отдельную для «для 5 класса».
Второй — даты публикации из будущего. В блоге нашлось 39 статей, датированных вперёд, вплоть до следующего сентября. Дата уезжала сразу в три места: в разметку для соцсетей, в структурированные данные для поисковика и в видимую подпись под заголовком. Показательный факт: из 171 статьи одного месяца ни одна не получила ни единого показа. Я добавил защиту на уровне вывода — дата подрезается сегодняшним днём, независимо от того, что запишет генератор контента. Так же уже подрезалась дата в карте сайта — теперь все три источника согласованы.
Результат
Оба дефекта устранены и выкачены в прод: корректное описание теперь отдаётся на всех 6 459 страницах раздела, некорректные даты не попадают ни в разметку, ни в карту сайта, ни на страницу.
Честная оговорка: рост CTR здесь нельзя показать на следующий день. Поисковику нужно заново обойти шесть с половиной тысяч страниц и обновить сниппеты в своей базе — это недели, а не часы. Что измеримо прямо сейчас: масштаб (одна правка шаблона = 6 459 исправленных сниппетов), стоимость (обе правки — несколько строк в двух шаблонах) и база отсчёта, от которой будем мерить: 0,46 % по разделу и 0,35 % на позициях 1–2 до фикса.
Главный вывод из этой истории: на сайте из тысяч однотипных страниц вы правите не страницы, а шаблоны — и ошибку в шаблоне вы не увидите глазами, потому что она прячется в той части, которую показывают поиску, а не вам.