Размещение рекламы на главной и веб-страницах рубрик (категорий) сайта WordPress

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com! Пришло время практических действий по монетизации проекта. Сегодня мы научимся, как разместить рекламные блоки на сайте под управлением Вордпресс практически в любом месте на главной и страницах рубрик.

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

Реклама на домашней и страницах рубрик сайта WP

Их вы можете как найти на официальном сайте WP (лучшими на данный момент являются такие как AdsPlace’r, Advanced Ads, AdRotate), так и приобрести у сторонних разработчиков (например, Ads Pro Plugin на сегодняшний день является одним из лидеров).

Конечно, плагины обладают рядом преимуществ. Скажем, любой из них поможет справиться с поставленной задачей по размещению рекламных блоков за минимальный промежуток времени. Однако, как и в любом деле, есть и минусы. К примеру, очень часто подключение нужного функционала требует финансовых вложений, что не всегда подходит начинающим.

Поэтому, для того, чтобы максимальное число пользователей получило возможность реализовать задуманное, требуется альтернатива, в качестве которой я предлагаю вставлять рекламные коды вручную непосредственно в шаблоны тем WP. Конечно, на это уйдет время, зато не потратите денег, а также получите дополнительные навыки по редактированию файлов движка.

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

В принципе, подобным образом можно размещать объявления от любых рекламных сетей, но наиболее часто вебмастера вставляют таким образом блоки контекстной рекламы от Гугла и Яндекса, коды которой можно получить в своей учетной записи Adsense либо в аккаунте РСЯ.

Как установить блоки рекламы на домашней странице и вебстраницах категорий WP

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

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

Итак, попробуем разместить рекламные объявления между анонсами статей. Для этого нужно прежде всего создать специальный шаблон в корневой папке вашей темы с расширением .php и назвать его, к примеру, «reklama.php».

Я на данный момент разместил разные объявления Адсенс на главной и страницах категорий. Для того, чтобы отслеживать статистику кликов по разным блокам, я создал два таких шаблона, в которых поместил коды, соответствующие домашней вебстранице и странице рубрик. Назвал их соответственно «adsense1.php» и «adsense2.php»:

Все эти действия лучше всего производить с помощью классного редактора Notepad++, который наиболее функционален с точки зрения редактирования текстовых файлов различных форматов. В созданный файл просто вставляем полученный код рекламы (скажем, из аккаунта Google Адсенс или рекламной сети Яндекса):

Для страниц категорий действия будут аналогичными. Теперь открываем (в том же блокноте Notepad++) файл index.php, который отвечает за вывод главной страницы и находим там строчку:

<?php while (have_posts()) : the_post(); ?>

Заменяем эту строку на следующую:

<?php while (have_posts()) : the_post(); $postcounter++; ?>

Таким образом мы прикручиваем счетчик вывода постов. Далее, сразу же после этой строчки прописываем такую:

<?php if ($postcounter % 2 != 0) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

Получаем:

<?php while (have_posts()) : the_post(); $postcounter++; ?>
<?php if ($postcounter % 2 != 0) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

Теперь измененный шаблон домашней вэбстраницы будет выглядеть так:

В этом случае получаете очередность вывода рекламы на главную будет такой: над первым, над третьим, над пятым анонсами. Здесь немного нужно сказать о счетчике постов $postcounter, его значение «++» в начале показывает прибавление 1 поста после опубликования. Событие «if ()» показывает, после какого поста будет выводится реклама.

Например, значение «% 2 != 0» указывает на то, что рекламные объявления будут появляться в том случае, если остаток от деления номера этого поста на 2 не равен 0. Например, второй пост: 2/2=1 (остаток равен 0), следовательно пост не выводится, третий: 3/2=1 (остаток 1), анонс выводится и т.д. Вместо 2 можно прописать любую другую цифру; таким образом можно комбинировать и определять места размещения блоков.

Теперь очень важный момент. Рассмотрим второй вариант. Найдите в файле index.php строчку окончания цикла вывода постов:

<?php endwhile; ?>

И перед ней вставляем:

<?php if ($postcounter % 2 != 0) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

Естественно, строка со счетчиком постов «$postcounter++» должна находится в начале цикла. Я заметил, что в этом случае отсчет будет иным и рекламные объявления будут располагаться по-другому: под первым, под третьим, под пятым постами. Так что если желаете, чтобы верхний блок рекламы появился над всеми анонсами на главной блога WordPress, то применяйте первый вариант, если хотите, чтобы последний был под всеми анонсами статей, то используйте второй вариант. Но это еще далеко не все. Если использовать такое событие:

if ($postcounter % 2 == 0)

То реклама будет размещена, наоборот, относительно анонсов статей, при делении цифры порядкового номера которых на 2 получается остаток, равный 0. Соответственно, если на главную блога WordPress 5 статей, то рекламные блоки будут находится по отношению к второй и четвертой статьям. Все опять зависит от того, где расположена строчка:

<?php if (($postcounter % 2 == 0)) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

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

Далее. Можно применить еще такой вариант:

if ($postcounter <= 2)

Такая запись означает, что реклама будет размещена под (или над) первыми двумя постами. Опять же можно поменять цифру 2 на любую другую, если хотите уменьшить или увеличить число постов, под (или над) которыми будут появляться рекламные блоки.

Все рассмотренные выше методы вставки рекламных объявлений справедливы и для страниц рубрик. Только в этом случае необходимо открыть файл темы category.php (или archive.php) и в тех же местах произвести соответствующее редактирование:

Если по строению вашей темы либо по каким-то другим причинам предложенный мною выше вариант вам не подойдет, то для размещения рекламных объявлений между анонсами статей можете использовать функцию:

<?php $counter = 0; ?>

Строку с ее вызовом следует разместить под:

<?php while (have_posts()) : the_post(); ?>

В случае необходимости отображать рекламу под нужными постами вставляете счетчик:

<?php $postcount++; ?>

Сразу над окончанием цикла:

<?php endwhile; ?>

А чуть ниже несколько строк, каждая из них соответствует определенному порядковому номеру анонса статьи (напомню, отсчет начинается сверху), под которым будет отображаться рекламный блок. Ниже следующий фрагмент кода инициирует вывод рекламы под 1-м и 9-м постом:

<?php if ($postcount == 1) { include (TEMPLATEPATH . '/adsense1.php'); } ?>
<?php if ($postcount == 9) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

Для наглядности предоставляю очередной скриншот, где выше описанный вариант корректно работает для домашней страницы:

Кстати, такой метод гибче и позволяет размещать блоки рекламы под какими угодно по счету постами (анонсами статей). К примеру, можно обеспечить их появление под 2-м, 4-м и 8-м:

<?php if ($postcount == 2) { include (TEMPLATEPATH . '/adsense1.php'); } ?>
<?php if ($postcount == 4) { include (TEMPLATEPATH . '/adsense1.php'); } ?>
<?php if ($postcount == 8) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

По аналогии с предыдущим вариантом для того, чтобы отобразить рекламные объявления не под, а над постами, надо все строчки функции счетчика разместить сразу после строки начала цикла:

<?php while (have_posts()) : the_post(); ?>
<?php $counter = 0; ?>
<?php $postcount++; ?>
<?php if ($postcount == 1) { include (TEMPLATEPATH . '/adsense1.php'); } ?>
<?php if ($postcount == 9) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

Пожалуй, на сегодня все. Думаю, вы уяснили, что даже этими далеко не всеми представленными мной способами вполне можно регулировать местоположением рекламных блоков (включая Adsense и РСЯ).

Поделиться с друзьями
Игорь Горнов

Создатель и администратор сайта Goldbusinessnet.com. Участник нескольких успешных проектов и автор более 1000 статей о работе в интернете, создании сайтов, полезных программах и сервисах.

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. Михаил

    Здравствуйте, скажите пожалуйста как можно ( с каким плагином) выставить рекламный блок на 2ю страницу записи.
    т.е. запись разделена на 2е страницы. Нужно что бы на первой стр. рекламный бок не выходил, а выходил на 2й странице.

    Ответить
    1. Игорь Горнов автор

      Здравствуйте, Михаил. Дело в том, что на этом блоге плагины для размещения рекламы на настоящий момент не используются, тем более здесь отсутствуют сложные страницы записей с пагинацией. Попробуйте посетить какой-нибудь специализированный форум, скажем, WP:

      https://ru.wordpress.org/support/forum/plugins-and-hacks/

      Попробуйте задать свой вопрос там. Возможно, найдете нужную информацию.

      Ответить
  2. Валерий

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

    Ответить
    1. Игорь Горнов автор

      Пожалуйста, Валерий. Спасибо за комментарий.

      Ответить
  3. Павел

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

    Ответить
    1. Игорь Горнов автор

      Вставьте строчку:

      <?php if ($postcounter % 3 == 0) { include (TEMPLATEPATH . '/adsense1.php'); } ?>

      В соответствующий шаблон (главной или страницы категорий) после кода окончания цикла:

      <?php endwhile; ?>
      Ответить
      1. Павел

        Спасибо

        Ответить
        1. Игорь Горнов автор

          Пожалуйста, Павел.

          Ответить
  4. Ирина

    Добрый день, Игорь! Подскажите пожалуйста, если реклама Google Adsense отображается не на всех устройствах (например, на домашнем компьютере отображается, на рабочем — нет). то как — то с этим можно бороться?

    Ответить
    1. Игорь Горнов автор

      Ирина, честно говоря я первый раз с таким сталкиваюсь. Обычно реклама или отображается на всех десктопных устройствах, либо не появляется вовсе. Скажите, а как дело обстоит с мобильными устройствами? В любом случае, думаю, следует обратиться в техподдержку

      Ответить
      1. Ирина

        Да, Игорь, я обращалась в техподдержку. У них реклама отображается везде одинаково. А у меня и у знакомых — совсем по разному. На одних компьютерах ее совсем не видно, на других видно не на всех страницах. На мобильном телефоне не отображается совсем реклама в рубриках в сайтбаре. Реклама вверху над заголовком (в рубриках) появляется только после того как нажимаем опцию «далее» ( при прочтении текста). Такая вот таинственная вещь. Может, в шаблоне проблема кроется?

        Ответить
        1. Игорь Горнов автор

          Ирина, значит из техподдержки ничего конкретного они не посоветовали? Может быть, здесь дело в региональных настройках? Допустим, если Вы живете не в России. Хотя я тоже нерезидент, однако никаких проблем не испытывал, странно.

          Думаю, с шаблоном это вряд ли связано. В этом случае на всех устройствах были бы ошибки. Ирина, а Вы не могли бы поделиться в комментариях, если проблема решится? Заранее благодарю.

          Ответить
  5. Юлия

    Игорь, у Вас стоят блоки Адсенса. Я попробовала использовать ваш код для блоков РСЯ. Да, он работает, но сильно тормозит загрузку главной страницы. А если сделать асинхронный код блоков, то выводится только один, самый первый блок, остальные не выводятся. Можете подсказать, в чем дело? Как можно поправить код, чтобы блоки РСЯ при асинхронной загрузке вы водились под несколькими постами. Спасибо.

    Ответить
    1. Игорь Горнов автор

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

      Ответить
  6. Валерий

    Спасибо за статью. Очень помогла при размещении блоков рекламы на сайте.

    Ответить
  7. Дмитрий

    Спасибо за статью! Подскажите пожалуйста какое мне нужно написать выражение чтоб реклама выводилась над первым и пятым постом? Заранее благодарю!

    Ответить
    1. Дмитрий

      Разобрался) % 5 == 1

      Ответить
      1. Игорь Горнов автор

        Совершенно точно.

        Ответить
  8. Ната

    Игорь написала вам на почту может выписьмо не получали?

    Ответить
    1. Игорь Горнов автор

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

      Ответить
  9. Игорь Горнов автор

    Ната, на какой странице у Вас вылезает подобная ошибка? Дайте ссылку, только не в комментариях, а через обратную связь на странице Контакты. Вообще-то это ошибка в синтаксисе.

    Ответить
  10. Ната

    А у мен таку ошибку выдает Почему? Подскажите Parse error: syntax error, unexpected T_ENDIF in /home/…/index.php on line 52

    Ответить
  11. Саня

    Всем — привет. Проверил на себе — все работает.
    Думаю, не только Google Adsense, но и ЛЮБОЙ БЛОК можно вставить таким образом. Хоть текст, хоть картинку, хоть пожелания с новым годом. Только оформить такой блок нужно будет в стилях CSS. Или я не прав? Если прав — надеюсь автор откроет глаза и на такой подход.

    Ответить
    1. Игорь Горнов автор

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

      Ответить
      1. Саня

        Кстати, об адсенс. По-моему, это единственный способ заработка на своем сайте с первой статьи.

        Ответить