Как разместить блоки AdSense на WordPress блоге?
Всем привет! У меня никогда нет проблем с поиском темы. Всегда что-то под руку попадает. Иногда не хватает терпения отложить, а иногда нужно срочно в виде ответа на вопрос или решения проблемы. Так сегодня я заметил на блоге одного из своих читателей очень распространённую ошибку по работе с системой контекстной рекламы Google Adsense. Речь идёт о количестве блоков, допустимых на одной странице. Их может быть не более 3х штук. В противном случае вы рискуете попасть под санкции. Оно вам надо?
В принципе, размещать контекстную рекламу на блог не имеет смысла. В большинстве случаев она не даст результата. Для того чтобы был результат нужно создать соответствующие условия. Но об этом я расскажу в другой раз, в юбилейном 100 посте моего блога. Именно тогда и на моём блоге появятся блоки Google Adsense. Сейчас же я хочу поговорить о чисто технической проблеме размещения контекстной рекламы на WordPress блоге. В частности, я расскажу вам как это сделать правильно. Плюс у вас реально будет больше шансов получить хоть какую-то прибыль.
Google AdSense Plugin для WordPress
В принципе самым простым решением будет использовать специальный плагин. Например, Google AdSense Plugin, который позволяет автоматически встраивать блоки контекстной рекламы на вашем блоге.
Сразу скажу, что этот плагин я не использую. Он нужен больше для новичков, которые не знают PHP и которым лезть в код шаблона противопоказано. Фактически, это первое, что мне попалось из реально свежего (последнее обновление 9 июля 2012 г.) и с хорошим рейтингом (пять звёздочек).
В установке он достаточно прост: скачиваем, копируем в папку плагинов (/wp-content/pligins/), активируем его на странице «Плагины» в панели управления WordPress и настраиваем на BWS > AdSense. Настройки там вроде бы простые. Publisher ID можно найти в панели управления Google Adsense. Это идентификатор издателя, в частности циферки идущие после «pub-». Остальное, думаю, будет понятно и так.
Расстановка AdSense блоков в шаблоне WordPress
А теперь поговорим о более сложном, но и гибком варианте. Я имею введу интеграцию блоков контекстной рекламы напрямую в шаблон WordPress. Ещё раз повторюсь, если вы не уверены в своих программерских силах – не рискуйте. Если с этим разобрались, продолжим.
И так. Я предлагаю вам следующий вариант – два блока 728х90 или 468x60 между анонсами постов на страницах архива и вообще списков постов и один или два блока 336×280 в начале содержания поста на странице поста. Следует отметить, что в WordPress появились типы постов, что сделало шаблоны несколько сложнее. Постараюсь учесть старый и новый варианты, но тут смотрите сами.
Вывод блоков AdSense в списке постов
А начнём мы со списка постов. Это файлы: index.php (главная страница), archive.php (архив постов), category.php (категория постов), tag.php (тег постов) - вроде всё перечислил. По сути, они выполняют одну и ту же роль – вывод списка постов с разбиением его на страницы. Просто для каждого варианта можно задать своё оформление. Поэтому в некоторых шаблонах каких-то из перечисленных файлов не будет. Вообще обычно достаточно двух первых.
Разница между старой и новой структурой шаблонов тут не фатальна. В шаблонах нас интересует строка:
<?php while ( have_posts() ) : the_post(); ?>
Перед ней нам понадобится вставить счётчик выводимых постов. Делается это для того, чтобы блок вставлялся, например, перед 1м постом и после 3го, что будет оптимальным. И так вот то, что нужно вставить перед упомянутой строкой:
<?php $post_count = 1; ?>
Ну а теперь несколько более сложный код. Его мы должны вставить после упомянутой выше строки с while. Код представляет условие при котором будет осуществляться вывод блока контекстной рекламы, а также увеличение значения счётчика ($post_coun) на единицу.
<?php if ( in_array($post_count, array(1,3)) ) : ?>
<div class="adsense"><!-- здесь вставляем полученный код AdSense --></div>
<?php endif; $post_count++; ?>
Поясню. Здесь я использовал php-функцию in_array()
для облегчения кода. Значение счётчика будет искаться в указанном массиве (array(1,3)). Если таковое найдено, идёт вывод кода AdSense.
К слову, напомню, здесь мы собирались ставить блок 728х90 или 468x60. Смотрите чтоб вмещалось.
Вывод блоко AdSense на странице поста
Если в случае со списком постов сложность заключалась в счётчике и условии, то на странице поста всё проще и сложнее одновременно. Здесь разница между старым и новым вариантом шаблонов играет ключевую роль. В старый шаблонах весь код страницы поста находился в файле single.php. В новых шаблонах появились, скажем так, под шаблоны для разных типов постов, например: content-single.php (для обычного поста), content-status.php (короткий пост, статус) и т.д.
В принципе не всё так уж и страшно. Предположим, что вы не пользуетесь типами постов и у вас шаблон в новом формате. Тогда откройте content-single.php, а если в старом - single.php. Здесь нас интересует следующая строка вывода содержания поста:
<?php the_content(); ?>
Лучше всего перед ней разместить полученный вами код AdSense. Общий результат может выглядеть так:
<div class="adsense">
<!-- здесь вставляем полученный код AdSense -->
</div>
<?php the_content(); ?>
Напомню, что здесь мы собирались ставить два блока 336×280.
Вывод блоков AdSense в тексте поста
А вот о такой штуке как возможность размещения блоков контекстной рекламы в тексте поста я узнал недавно и спешу поделиться приобретённым знанием с вами. И так, начиная с версии 2.5, в WordPress появилась возможность простого добавления крючков (англ. hook) тегов shotcode (с англ. короткий код). Вот этим мы и воспользуемся.
Откройте файл function.php и перейдите в его конец, к строке: ?>
- если таковая есть. Добавим перед этой строкой следующий php-код:
function shortcode_adsense() {
$shortcode = <<<EOF
<div class="adsense"><!-- здесь вставляем полученный код AdSense --></div>
EOF;
return $shortcode;
}
add_shortcode('shortcode_adsense', 'adsense');
Поясню. Здесь мы создали функцию shortcode_adsense()
, которая будет возвращать код блока AdSense. Далее мы объявили эту функцию как крючок shortcode. Теперь для вставки блока контекстной рекламы можно использовать объявленный короткий код, а именно:
[adsense]
Таким образом можно создать и любые другие крючки коротких кодов, но в рамках данного поста я остановился только на AdSense. В общем, спасибо Бобрину за науку, а я продолжу.
Оформление блока AdSense
От того, как будет оформлен ваш блок контекстной рекламы, зависит уровень вашего заработка. Конечно, есть и другие факторы, но тем не менее. Что я тут могу посоветовать?
- По любому – никаких границ (ободков, бордеров… называйте как угодно).
- Фон обязательно такой же что и фон на котором расположено содержание поста (обычно белый).
- Цвет заголовков объявлений под цвет ссылок блога. Иногда хорошо срабатывает контраст, например, красный цвет.
- Цвет URL можно сделать под цвет мета-данных поста, или немного светлее текста поста (обычно серый)
- Цвет текста объявления лучше сделать чуть светлее или таким же как цвет текста поста.
- Шрифт такой же, что и на блоге. Размер покрупнее.
Впрочем, здесь надо экспериментировать. У каждого может сработать что-то своё. Так что смотрите сами.
Да, и ещё. Вы обратили внимание, что все блоки AdSense я предлагал вставить в div с классом adsense? Так вот, это было сделано для того, чтобы вы имели дополнительную возможность позиционировать и оформить контекстный блок через CSS (файл style.css шаблона). Например, установить отступы:
.adsense { padding: 15px 0; }
Послесловие
В принципе ничего сложного здесь нет. Есть масса вариантов решений, как по интеграции, так и по позиционированию и оформлению блока Google AdSense. Всё в ваших руках. Чем смог я помог. На этом у меня всё. Спасибо за внимание. Удачи!
23 комментария:
Картинка открылась вчера поверх сайта, но размер был тот же. Может, правда, у меня браузер не понимает, чего хочу. Во всех других случаях открывается как сказано - в отдельной вкладке. Пошла дальше экспериментировать. Ждите флуда, как Вы его называете.
Если же речь о самом AdSense то я его активно использую и прибыль с него - это немалая часть моего заработка. Хотя, сейчас у них проблемы с почтой Украина и вот уже два чека пока не пришли :(
Отправить комментарий