Loading...
X

Как вставить блоки рекламы в комментарии WordPress


Есть мнение, что самые лучшие места для размещения блоков контекстной рекламы это не в боковой панели, не в подвале сайта и даже не в шапке — лучшие места для вставки рекламы это текст статьи. В пику этому мнению нужно вспомнить тех, кто говорит, что вставлять рекламу внутри текста статьи это плохо.

На сайтах есть два места, которые действительно читают: 1) текст статьи, 2) раздел комментариев. Я сегодня наткнулся на интересный пример, который на скриншоте в шапке этой статьи. Там вместо третьего комментария рекламный блок. Даже несмотря на то, что он на тайском языке, в первые моменты я действительно пытался прочитать его.

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

Отсюда возникает идея — а не добавить ли рекламные блоки в комментарии?

Как вставить AdSense в комментарии WordPress

Есть два способа вставки рекламы между комментариями на сайте, работающем на WordPress: 1) автоматизированные объявления AdSense и 2) добавление скрипта, который будет вставлять объявления через каждые несколько комментариев.

Автоматизированные объявления в комментариях

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

У этого способа есть свои минусы:

  • вы не можете контролировать, какие объявления и куда вставляются, то есть, например, вы хотите в комментарии объявления со ссылками, а комментарии вставляются медийные объявления, или вы хотите медийные объявления, а вставляются Объявление в статье;
  • вы не можете контролировать количество объявлений — их может быть слишком много (или слишком мало);
  • для некоторых тем оформления автоматические объявления AdSense просто не вставляются в комментарии — у меня есть сайт где есть статья которая набрала почти 500 комментариев и там нет ни одного рекламного объявлении в комментарии. Трудно понять причину: или новые объявления не вставляются из-за того, что в тексте самой статьи уже много рекламы, либо автоматизированные объявления AdSense просто не могут правильно определить структуру сайта и понять, что имеется большая область, в которой напрочь отсутствуют объявления.

Итак, рекомендуется попробовать с первого варианта. Если он вам чем-то не подошёл, то переходим ко второму способу.

Вставка рекламы в комментарии WordPress

Мы будем редактировать исходный код WordPress. Причём не темы, а именно самого движка, поскольку логика работы WordPress такова, что список комментариев составляется внутри движка, а в тему уже приходит готовый список. Из темы можно только определить набор и имена HTML элементов, в которые оборачиваются тексты комментариев, но для нашей задачи этого недостаточно.

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

К примеру, я покажу, как настроить скрипт так, чтобы выводилось 3 разных типа объявлений. Первое объявление будет показываться после третьего комментария, объявления второго и третьего типа будут чередоваться, например, через каждые 10 комментариев.

Начнём с того, что откройте любую страницу вашего сайта, на которой есть комментарии. Затем откройте исходный код (Ctrl+u). Найдите тексты комментариев и определите строку, которая является для них «обёрткой», например, у меня это строка <section class="comment-content"> :

Когда нашли нужную строку, откройте для редактирования файл wp-includes/comment-template.php, найдите в нём функцию wp_list_comments, а внутри этой функции найдите код:

	if ( $r['echo'] ) {
		echo $output;
	} else {
		return $output;
	}

Этот код отвечает за вывод комментариев на страницу. То есть свой новый код мы будем вставлять ПЕРЕД этим кодом.

Теперь ПЕРЕД кодом вывода, добавьте строки:


$counter = 0;
$ads1 = '<p>test1111</p>';
$ads2 = '<p>test2222</p>';
$ads3 = '<p>test3333</p>';
$section = '<section class="comment-content-container">';

$output = preg_replace_callback(
    "<$section>",
    function ($matches) use(&$counter, $active, $ads1, $ads2, $ads3) {
        $counter++;
        if($counter == 3) {
            return $ads1 . $matches[0];
        }
        elseif ($counter % 20 == 0) {
            return $ads3 . $matches[0];
        }
        elseif ($counter % 10 == 0) {
            return $ads2 . $matches[0];
        }
        else {
            return $matches[0];
        }
    },
    $output
);

Обратите внимание на строку $section = '<section class="comment-content">';, в ней вам нужно заменить <section class="comment-content"> на свою собственную строку, которая является обёрткой для комментария либо присутствует при каждом комментарии.

Строки с $ads1, $ads2 и $ads3 можно пока не трогать.

Сохраните изменения и зайдите на свой сайт на страницу с комментариями, найдите там строки test1111, test2222 и test3333. Если всё нормально, то есть эти строки в нужных местах, значит присваивайте в качестве значения $ads1, $ads2 и $ads3 коды рекламных объявлений.

Например:

Пример вывода этим способом рекламного блока в комментарии:

Уделите особое внимание внешнему виду вставляемых блоков рекламы. В большинстве комментариев отсутствуют картинки, поэтому чтобы объявления одного типа сливались с текстом я выбираю Объявления в фиде и в качестве шаблона выбираю Только текст:

Для второго типа объявлений я выбираю текстовый и медийный формат, чтобы они наоборот привлекали внимания — по итогам можно будет сравнить, какие приносят больше.

Разберём код чуть подробнее, чтобы вы понимали, как делать его тюнинг (тонкую подстройку). Строка if($counter == 3) { определяет, что объявление, которое помещено в $ads1, будет показано вместе с третьим комментарием. Соответственно, если вместо тройки вы впишите 2, 4, 5 или любую другую цифру, то первый рекламный блок будет показан вместе с этим по счёту комментарием.

Строки elseif ($counter % 20 == 0) { , а также elseif ($counter % 10 == 0) { определяют, что рекламные блоки $ads3 и $ads2 будут поочерёдно показываться каждый десятый комментарий. То есть рядом с десятым комментарием будет показан блок $ads2, с двадцатым будет показан блок $ads3, с тридцатым вновь будет показан блок $ads2, с сороковым будет показан блок $ads3 и так далее.

Если вы хотите изменить частоту выводимых комментариев, то отредактируйте цифры 20 и 10.

Пример:

$counter = 0;
$ads1 = '<p>test1111</p>';
$ads2 = '<p>test2222</p>';
$ads3 = '<p>test3333</p>';
$section = '<section class="comment-content-container">';

$output = preg_replace_callback(
    "<$section>",
    function ($matches) use(&$counter, $active, $ads1, $ads2, $ads3) {
        $counter++;
        if($counter == 3) {
            return $ads1 . $matches[0];
        }
        elseif ($counter % 14 == 0) {
            return $ads3 . $matches[0];
        }
        elseif ($counter % 7 == 0) {
            return $ads2 . $matches[0];
        }
        else {
            return $matches[0];
        }
    },
    $output
); 

В этом случае $ads2 будет показан вместе с 7м комментарием, $ads3 будет выведен с 14м, $ads2 будет показан с 21м, $ads3 — с 28м и так далее.

Заключение

На данном сайте (Suay.ru) я отключил описанный способ, поскольку мне больше нравится как вставляется реклама в комментарии с помощью автоматизированных объявлений. Но на двух других своих сайтах я применяю именно вариант с правкой исходного кода. На этих сайтах сейчас суммарно примерно 5 тысяч посетителей в сутки, поэтому если кому-то интересна статистика по ним (сколько приносит реклама в комментариях), то напомните мне через несколько месяцев (прямо здесь, в комментариях) — я выложу здесь статистику.

П.с.

На комментарии стало реально приятнее отвечать — теперь есть внутренняя убеждённость, что я делаю это не «за спасибо», а расширяю место под дополнительные рекламные блоки. )))))

Рекомендуется вам:


3 observations on “Как вставить блоки рекламы в комментарии WordPress
  1. Александр

    Интересная идея. А я об этом даже как-то и не думал. Надо будет тоже добавить несколько блоком в комментарии. 

     
    Reply
  2. Devvver

    Был удивлен увидев скриншот своего сайта 🙂
    Я просто подал заявку для перемодерации своего сайта. А оказывается в аккаунте была включена опция автоматические объявления и после вставки кода все заработало автоматом. При этом у меня на компьютере стоит адблок и я 2 недели этого не видел.

     
    Reply
    1. MiAl MiAl

      Надеюсь, ты не в обиде. Взял скриншот твоего сайта, так как рекламные блоки просто супер удачно вписываются в дизайн. У меня на сайте в комментариях в основном вставляются «Объявления в статье», по которым сразу видно, что это реклама, и которые вообще не так удачно смотрятся. А на других сайтах, как я написал, вообще не вставляются автоматом в комментарии.

      При этом у меня на компьютере стоит адблок и я 2 недели этого не видел.

      smiley

       
      Reply

Leave an observation to Devvver Cancel observation

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

wp-puzzle.com logo

Scroll Up