Фильтр между страницей и браузером
Блокировщик рекламы — это программа или расширение, которое вмешивается в загрузку страницы и не позволяет некоторым элементам появиться. Современные страницы собираются из десятков запросов: основной документ, стили, изображения, скрипты, счётчики, рекламные блоки. Блокировщик перехватывает часть этих запросов до отправки, а часть элементов скрывает уже после загрузки.
Помимо рекламы такие инструменты часто режут трекеры: скрипты аналитики и пиксели, которые следят за перемещениями между сайтами. Это уменьшает и трафик, и объём собираемых сведений.
Списки фильтров: сердце системы
Решения принимаются по спискам правил, которые ведут сообщества. Правило может указывать на домен рекламной сети, на шаблон адреса запроса или на имя элемента на странице. Когда запрос совпадает с правилом, блокировщик его отменяет. Списки регулярно обновляются, потому что рекламные системы меняют домены.
Существуют универсальные списки против рекламы, отдельные — против трекеров, региональные и специальные, например против всплывающих окон или назойливых плашек с просьбой подписаться. Слишком широкий набор правил повышает риск поломки сайтов, поэтому настройка всегда компромисс.
Как выбрать способ фильтрации под задачу
Если нужна защита только в браузере на компьютере, достаточно расширения с хорошими списками: оно умеет скрывать элементы и обновляет правила. Для смартфона, где расширения доступны не во всех браузерах, удобнее фильтрация на уровне DNS или встроенная функция браузера. Для дома с множеством устройств, включая телевизоры и колонки, подходит фильтр на роутере или отдельном сервере в сети, который отвечает нулевым адресом на рекламные домены.
Можно сочетать способы: сетевой фильтр закрывает приложения и умные устройства, а расширение добивает то, что подаётся с основного домена сайта. Помните, что каждый дополнительный слой повышает вероятность ложных срабатываний. Хорошая привычка — держать простое исключение: если сайт не работает, временно выключите фильтр для него и сравните поведение, прежде чем менять глобальные списки.
Два основных метода: сетевой и косметический
Сетевая фильтрация не позволяет браузеру вообще загружать ресурс, так что экономится трафик и время. Косметическая фильтрация скрывает пустые места, оставшиеся после отсечения запросов, и элементы, которые нельзя отсечь по адресу, например рекламные врезки внутри основного сайта.
Третий вариант — фильтрация на уровне DNS. Фильтрующий резолвер не возвращает адреса рекламных доменов, поэтому запрос не проходит. Такой подход работает для всей сети и всех приложений, но не умеет скрывать пустые блоки и не отличает рекламу, которая отдаётся с того же домена, что и сам сайт.
Ограничения и побочные эффекты
Часть сайтов сопротивляется: они определяют блокировщик и показывают заглушку. Иногда правила ломают функции — кнопки заказа, видеоплееры, формы входа, поскольку они используют те же сервисы, что и реклама. Ошибочные срабатывания решают добавлением сайта в исключения.
Стоит помнить, что расширение видит содержимое страниц, поэтому источник расширения имеет значение: ставьте инструменты с открытым кодом и хорошей репутацией из официальных каталогов, читайте запрашиваемые разрешения.
Как проверить, что фильтр работает
Откройте в браузере панель разработчика, вкладку «Сеть», и обновите страницу. Заблокированные запросы отображаются со специальным статусом или отсутствуют. Сама программа обычно показывает счётчик отклонённых запросов на текущей странице.
Для проверки DNS-фильтра сделайте запрос к домену из списка фильтрации: правильный ответ выглядит как нулевой адрес или ошибка. Если отсекается слишком много, отключайте набор правил по одному, находя причину поломки.
Разработчику полезно знать, что блокировщики иногда закрывают и собственную аналитику сайта. Поэтому ориентироваться только на счётчики посещаемости для оценки аудитории нельзя: часть реальных людей в них не попадает.
Ещё один нюанс касается «допустимой рекламы»: некоторые программы по умолчанию пропускают ненавязчивые объявления по договорённости с рекламодателями. Эту функцию можно выключить в настройках. Проверьте её, если вам нужна максимальная фильтрация, а также при использовании встроенных блокировщиков, где поведение по умолчанию отличается от специализированных расширений.