В результатах поиска реклама соседствует с органическими ответами и нередко оформлена в том же визуальном ритме. Метка есть, но при беглом просмотре ее легко пропустить. Для обычного пользователя это вопрос удобства. Для SEO-специалиста — еще и риск неверно прочитать выдачу: принять рекламную карточку за органический результат, ошибиться с фактической позицией сайта или сравнить элементы, которые ранжируются по разным правилам.
Я сделал Yandex Promo SERP — небольшой пользовательский скрипт для браузера. Он выделяет рекламные метки красным цветом и позволяет скрыть найденные рекламные карточки одной кнопкой. Исходный код открыт, проект распространяется по лицензии MIT.
Сразу обозначу границы: это не универсальный блокировщик рекламы и не инструмент автоматического съема позиций. Скрипт меняет представление уже загруженной страницы только в нескольких разделах Яндекса. Его задача проще — помочь визуально отделить промо от остальных результатов.
Что делает Yandex Promo SERP
После установки скрипт работает на страницах:
- поиска Яндекса на
ya.ru/searchиyandex.ru/search; - Яндекс Недвижимости на
yandex.ru/realty; - Яндекс Финансов на
yandex.ru/finance.
У него два режима работы.
Подсветка рекламных меток
Метки «Реклама» и «Промо» получают красный фон, белый полужирный текст и становятся заметнее среди остальных элементов карточки. В некоторых вариантах разметки вместо заливки используется красная пунктирная рамка.
Само объявление при этом остается на странице. Можно посмотреть его заголовок, домен, текст и соседство с органическими результатами, не возвращаясь к исходному оформлению выдачи.
Скрытие рекламных карточек
Рядом с вкладкой «Все» скрипт добавляет кнопку «УБРАТЬ ПРОМО». Она скрывает карточки, которые скрипт определил как рекламные. Повторное нажатие возвращает их на страницу.
Выбранное состояние сохраняется между сессиями браузера. Если промо было скрыто, при следующем посещении поддерживаемой страницы скрипт постарается применить тот же режим.
Это удобно именно как переключатель представления: сначала можно увидеть состав рекламного блока, а затем убрать его и спокойнее изучить оставшуюся выдачу.
Зачем это SEO-специалисту
Yandex Promo SERP не заменяет выгрузку из сервиса мониторинга и не превращает персонализированную браузерную выдачу в объективный источник позиций. Но он полезен в ручной работе, когда нужно быстро понять устройство конкретной страницы результатов.
Быстро отделить рекламу от органики
При поверхностном просмотре легко начать отсчет не с того результата. Яркая метка снижает вероятность такой ошибки, особенно если на странице одновременно показаны обычные объявления, товарные или финансовые карточки и другие обогащенные элементы.
Сравнить выдачу до и после скрытия промо
Переключатель помогает рассмотреть две стороны одной страницы:
- какие предложения занимают рекламный блок;
- что остается в видимой области после его скрытия;
- насколько далеко приходится прокручивать страницу до первых органических результатов;
- какие форматы Яндекс размещает между запросом и обычными ссылками.
Это наблюдение, а не готовая метрика. Для вывода о видимости сайта нужны повторяемые замеры, согласованный регион, устройство, история запросов и другие условия.
Делать понятнее ручные проверки
Скрипт пригодится при разборе выдачи вместе с коллегой или во время демонстрации экрана. Вместо объяснения, где заканчивается рекламная карточка, можно сначала показать выделенные метки, а затем убрать найденные блоки.
Для сохранения доказательств все равно стоит фиксировать дату, запрос, регион, устройство и полный снимок исходной выдачи. Скриншот после вмешательства скрипта нельзя выдавать за неизмененный интерфейс Яндекса.
Как установить скрипт
Для запуска понадобится менеджер пользовательских скриптов. В README проекта описана установка через Tampermonkey, который доступен для Chrome, Firefox, Edge, Safari и Яндекс Браузера.
- Установите Tampermonkey из официального магазина расширений своего браузера.
- Откройте его панель и выберите создание нового скрипта.
- Удалите стандартный шаблон из редактора.
- Откройте файл
ya-promo-serp.user.jsв репозитории и скопируйте код целиком. - Вставьте код в редактор Tampermonkey и сохраните его.
- Обновите страницу поиска Яндекса.
Если установка прошла успешно, рекламные метки станут красными, а в навигации появится кнопка управления промо.
Перед установкой любого пользовательского скрипта полезно посмотреть его исходный код и список адресов, на которых он запускается. Yandex Promo SERP активируется только на перечисленных в заголовке файла страницах Яндекса. Скрипт не использует сетевые запросы к стороннему серверу, но получает доступ к DOM этих страниц и изменяет его. Это нормальная механика userscript, однако устанавливать такой код стоит только из источника, которому вы доверяете.
Как скрипт распознает рекламу
Яндекс динамически загружает и перестраивает элементы выдачи, поэтому одной проверки при открытии страницы недостаточно. Yandex Promo SERP наблюдает за изменениями DOM с помощью MutationObserver и повторно обрабатывает новые узлы.
Поиск рекламных меток выполняется несколькими способами:
- по атрибутам вроде
aria-labelиdata-testid; - по известным CSS-классам рекламных элементов;
- по коротким текстовым обозначениям «реклама», «промо», «яндекс директ» и «спонсорский».
После обнаружения метки скрипт поднимается по DOM-дереву и пытается определить контейнер всей карточки. Найденная карточка получает служебный атрибут, по которому ее можно скрыть или снова показать.
Обработку изменений ограничивает requestAnimationFrame: несколько быстрых событий не запускают одинаковую работу бесконтрольно. Кнопка управления помещена в Shadow DOM, чтобы стили страницы меньше влияли на ее внешний вид, а стили кнопки — на интерфейс Яндекса.
Это разумная архитектура для локальной браузерной утилиты, но она не отменяет зависимости от чужой верстки. Селекторы и структура страницы могут измениться.
Ограничения, о которых нужно знать
Скрипт зависит от интерфейса Яндекса
Яндекс проводит эксперименты и меняет названия классов, атрибуты и вложенность элементов. После такого изменения часть объявлений может перестать распознаваться, а кнопка — не появиться в ожидаемом месте.
Распознавание основано на эвристиках
Скрипт ищет не официальный программный признак всех рекламных форматов, а совокупность селекторов и коротких текстовых меток. Поэтому теоретически возможны как пропуски, так и ложные срабатывания. Перед важным выводом стоит свериться с исходной страницей, отключив скрипт.
Скрытие не меняет ранжирование
Карточки убираются только из отображения в текущем браузере. Скрипт не влияет на ответы Яндекса, рекламный аукцион, позиции сайтов или данные внешних систем.
Это не средство измерения позиций
Ручная выдача может зависеть от региона, устройства, авторизации, истории и экспериментов интерфейса. Yandex Promo SERP делает отдельные элементы заметнее, но не нормализует условия наблюдения. Для регулярного мониторинга нужны специализированные источники данных и воспроизводимая методика.
Что делать, если скрипт не работает
Сначала проверьте простое:
- Tampermonkey включен.
- Yandex Promo SERP активен в панели расширения.
- Открыта одна из поддерживаемых страниц.
- После установки страница была обновлена.
Если реклама не подсвечивается или кнопка не появилась, вероятная причина — новый вариант верстки. В таком случае можно создать обращение в разделе «Проблемы» проекта» и приложить адрес страницы. Снимок экрана тоже поможет.
Когда инструмент действительно полезен
Я использую подобные небольшие утилиты там, где стандартный интерфейс мешает быстро ответить на узкий вопрос. В данном случае вопрос звучит так: где на странице рекламные элементы и как выглядит выдача без них?
Yandex Promo SERP отвечает именно на него. Он не анализирует конкурентов, не снимает позиции и не доказывает влияние рекламы на органический трафик. Проект открыт на GitFlic. Там можно посмотреть исходный код, текущую версию, историю изменений и сообщить о проблеме. Если Яндекс изменит верстку, ориентироваться стоит на актуальный README и последнюю версию файла, а не на скриншоты из старой инструкции.
