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

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

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

Их вы можете как найти на официальном сайте 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 и РСЯ). В дальнейшем мы еще не раз вернемся к этой актуальной теме, так что оформляйте подписку на получение свежих материалов по электронной почте, чтобы не пропустить свежеиспеченные публикации. Надеюсь на вашу лояльность в плане нажатия кнопочек соцсетей, расположенных внизу статьи.

Еще статьи по данной теме:
Самые интересные публикации из рубрики: Заработок на сайте и бизнес в сети

23 отзыва

  1. Саня

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

  2. Игорь

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

  3. Саня

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

  4. Ната

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

  5. Игорь

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

  6. Ната

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

  7. Игорь

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

  8. Дмитрий

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

  9. Дмитрий

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

  10. Игорь Горнов

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

  11. Валерий

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

  12. Юлия

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

  13. Игорь Горнов

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

  14. Ирина

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

  15. Игорь Горнов

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

  16. Ирина

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

  17. Игорь Горнов

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

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

  18. Павел

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

  19. Игорь Горнов

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

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

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

    <?php endwhile; ?>
  20. Павел

    Спасибо

  21. Игорь Горнов

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

  22. Валерий

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

  23. Игорь Горнов

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

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

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

Чтобы ввести любой код, вставьте его между [php] и [/php]. Ссылка (URL), помещенная в текст комментария, не будет активной. C целью ее выделения и более удобного копирования можно заключить ее между тегами <pre> и </pre>.