Как убрать рекламные блоки Google Adsense с конкретных страниц

Не я первый не я последний. Этот пост для тех, кто также как и я, получил от Google Adsense письмо, в котором говорится о нарушении правил:

adsense-police

Суть самого письма следующая:

Обнаружены новые нарушения правил программы AdSense. Показ рекламы на соответствующих страницах ограничен или отключен. Чтобы устранить эти нарушения, можно либо удалить запрещенный контент и запросить проверку, либо удалить код объявлений со страниц с нарушениями.

Обратите внимание, что если вы не внесете изменения, мы предпримем дальнейшие действия в отношении вашего сайта или аккаунта.

Статус нарушений может меняться (вплоть до бана аккаунта). Поэтому самую последнюю информацию рекомендуют смотреть в Центре правил Adsense в разделе «Нарушения на отдельных страницах».

В Справочном центре Adsense можно узнать подробнее о мерах, которые применяются при различных нарушениях.

Ну и, конечно, подразумевается, что все мы знакомы с Правилами программы Adsense.

Понятно, что если сайт на html и без системы управления, то просто удаляем год рекламы Адсенсе с конкретных страниц, на которых не хотим отображения рекламных блоков.

Если же сайт на CMS, то немного сложнее сделать исключения показов баннеров для отдельных страниц. Разберемся с ВордПресс. Если рекламные блоки вы вставляли через файлы sidebar.php, header.php, footer.php, или как в моей теме через content-single.php, чтобы блок отображался после контента записи. То всё достаточно просто, нужно наш код Адсенс обернуть следующим кодом php фунции:

Как убрать рекламу с отдельных записей WordPress

<?php if (!is_single(array(194,573,583))) { ?>
здесь код adsense
<?php } ?>

Как убрать блоки с отдельной страницы сайта на WP

<?php if (!is_page(array(749,1319,1667))) { ?>
здесь код adsense
<?php } ?>

Убираем рекламу с категорий

<?php if(!is_category(array(375,5783,364))) { ?>
здесь код adsense
<?php } ?>
В моей же теме я еще использовал виджеты для размещения рекламных блоков. Поэтому код adsense я также обернул этим php кодом, но ничего не произошло. Реклама по прежнему показывалась там где я выводил её через виджеты. Это означает, что в виджетах php код не выполняется. Можно использовать специальный виджет для этого Exec-PHP, либо сделать как я. В самом конце файла function.php вставляем вот это:

function mayak_widget_php($widget_content) {
if (strpos($widget_content, ‘<‘ . ‘?’) !== false) {
ob_start();
eval(‘?’ . ‘>’ . $widget_content);
$widget_content = ob_get_contents();
ob_end_clean();
}
return $widget_content;
}
add_filter(‘widget_text’, ‘mayak_widget_php’, 99);

Теперь мы разрешили выполнение php кода в виджетах темы ВордПресс и рекламные блоки Adsense пропали со всех страниц где нам было нужно их убрать.
Upd: Понадобилось не меньше 10 дней, чтобы из кабинета адсенс пропало моё нарушение правил. Убрать рекламные блоки с нужной мне страницы и несколько раз отправлял на проверку, но каждый раз приходило, что страница всё равно нарушает правила. Но потом я прочитал внимательней  и понял, что если рекламные блоки отключены на страницах, которые нарушают правила, то в течение 10 дней ошибка сама пропадет. Примерно так у меня и получилось, я перестал отправлять запрос на проверку и просто подождал.
Сейчас в кабинете отображается, что всё окей:
adsense-ok

One thought on “Как убрать рекламные блоки Google Adsense с конкретных страниц

  • 30.08.2019 at 13:37
    Permalink

    Спасибо за инструкцию! Но не совсем понятно, в какую функцию в виджетах нужно оборачивать код Адсеснс. И что означают в конце функции для виджетов цифры 99.

    Reply

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *