Как вставить рекламу Direct и Adsense в тело статьи без плагинов?

Вставляем контекстную рекламу в середину статьиДоброго времени суток, Дорогие друзья!

Сегодня я снова хочу поговорить на тему контекстной рекламы. На этот раз я расскажу об одном способе вставки рекламных блоков, который, по заявлениям очень многих вебмастеров, может серьезно увеличить доход сайта от контекстных блоков Adsense или Direct. Как вы уже поняли из заголовка, речь идет о вставке рекламных объявлений от Яндекса или Google прямо в тело статьи. Такой способ подходит далеко не всем. Но факт остается фактом. Он действительно увеличивает количество кликов, повышает стоимость каждого клика и, в итоге, положительно сказывается на конечной прибыли вашего блога или сайта.

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

Так вот, сегодня я бы хотел рассказать о том, как я вставлял рекламные блоки Директ в тело статьи. С рекламой от Google я не экспериментировал, но вставка контекстных объявлений Adsense осуществляется идентичным способом.

Еще один важный момент. Можно вставить рекламные блоки Адсенс или Директ в тело статьи полностью автоматическим способом. Используя плагины WordPress, которых сейчас великое множество. Но я отказался от этого варианта.

Во-первых, я вывел для себя правило – чем меньше плагинов в блоге, тем лучше. Он работает стабильнее и быстрее.

Во-вторых, мне не нравится полностью автоматическое размещение контекстных блоков. Все статьи на сайте разные. Разные по структуре, объему, с разным количеством изображений. И будет не очень красиво, если рекламный блок будет красоваться прямо рядом с картинкой, или «разрезать» важную часть текста.

Что я имел в итоге?

Задача – вставить блоки контекстной рекламы Directили Adsenseв тело статьи.

Условие – использовать только штатные средства WordPress, не прибегая к помощи плагинов.

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

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

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

Вставка рекламных объявлений при помощи созданной функции и шорткодов WordPress

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

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

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

Создаем функцию 

Давайте создадим рабочую функцию function, которая и будет отображать нашу контекстную рекламу. Функцию можно создать прямо в блокноте. Но я бы рекомендовал использовать Notepad2. Он удобен тем, что показывает не просто текст, а именно правильно отображает код. Готовая функция будет иметь следующий вид:

function vstavka_context() 
{
return 'Код Яндекс Директ или Google AdSense';
}

Где «vstavka_context» — это название функции. Оно у вас может быть соврешенно другим. Никак не влияет на работоспособность. А вместо строчки «Код Яндекс Директ или Google AdSense», должен идти ваш код рекламного блока YandexDirectили GoogleAdsense. Итоговый код функции будет иметь примерно следующий вид:

function vstavka_context() 
{
return '<script type="text/javascript">
//<![CDATA[
yandex_partner_id = XXXXX;
yandex_site_bg_color = 'FFFFFF';
yandex_site_charset = 'windows-1251';
yandex_ad_format = 'direct';
yandex_font_size = 1;
yandex_direct_type = 'flat';
yandex_direct_border_type = 'none';
yandex_direct_limit = 2;
yandex_direct_title_font_size = 2;
yandex_direct_title_color = '0066CC';
yandex_direct_url_color = '666666';
yandex_direct_all_color = '666666';
yandex_direct_text_color = '666666';
yandex_direct_hover_color = '0066FF';
yandex_direct_favicon = false;
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
//]]>
</script>';
}

Для Adsense все будет выглядить примерно следующим образом:

function vstavka_context() 
{
return '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- название блока -->
<ins class="adsbygoogle"
     style="display:inline-block;width:250px;height:250px"
     data-ad-client="xxxxxxxxxxxxxxxxxxxxxxxxx"
     data-ad-slot="111123213112"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>';
}

Теперь нам необходимо добавить к нашей функции шорткод (Shortcodes). Он необходим для того, чтобы мы без лишних проблем могли вставить рекламный блок в любое место в статье. Это как кодовое слово. Везде, где оно будет оставлено, будет выводиться контекстная реклама от Яндекса или Google. Вот и все.

Для Direct шорткод будет иметь следующий вид:

add_shortcode ('direct', 'vstavka_context')

Для Adsense все будет выглядить вот так:

add_shortcode ('adsense', 'vstavka_context')

Где «Direct» и «Adsene» — это те самые короткие коды, которые и будут обозначать место вставки рекламного блока в статью. Итоговый код функции с шорткодом для Direct будет иметь вид:

function vstavka_context() 
{
return '<script type="text/javascript">
//<![CDATA[
yandex_partner_id = XXXXX;
yandex_site_bg_color = 'FFFFFF';
yandex_site_charset = 'windows-1251';
yandex_ad_format = 'direct';
yandex_font_size = 1;
yandex_direct_type = 'flat';
yandex_direct_border_type = 'none';
yandex_direct_limit = 2;
yandex_direct_title_font_size = 2;
yandex_direct_title_color = '0066CC';
yandex_direct_url_color = '666666';
yandex_direct_all_color = '666666';
yandex_direct_text_color = '666666';
yandex_direct_hover_color = '0066FF';
yandex_direct_favicon = false;
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
//]]>
</script>';
}
add_shortcode ('direct', 'vstavka_context');

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

function vstavka_context() 
{
return '<script type="text/javascript">
//<![CDATA[
yandex_partner_id = XXXXX;
yandex_site_bg_color = \'FFFFFF\';
yandex_site_charset = \'windows-1251\';
yandex_ad_format = \'direct\';
yandex_font_size = 1;
yandex_direct_type = \'flat\';
yandex_direct_border_type = \'none\';
yandex_direct_limit = 2;
yandex_direct_title_font_size = 2;
yandex_direct_title_color = \'0066CC\';
yandex_direct_url_color = \'666666\';
yandex_direct_all_color = \'666666\';
yandex_direct_text_color = \'666666\';
yandex_direct_hover_color = \'0066FF\';
yandex_direct_favicon = false;
document.write(\'<sc\'+\'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc\'+\'ript>\');
//]]>
</script>';
}
add_shortcode ('direct', 'vstavka_context');

Для Adsense все делается аналогичным образом. Только там не нужно делать экранирование. В коде просто нет одинарных кавычек.

Теперь необходимо вставить нашу функцию в файл function.php, который находится в папке темы оформления вашего Вордпрес блога. Скачайте этот файл с сервера и сделайте его резервную копию. Если что-то пойдет не так, вы всегда сможете залить старую версию function.php.

И еще – лучше всего делать это через FTPсоединение или через панель управления сайтом (например, ISPManager).

Итак. Скачиваем файл. Открываем его. И вставляем наш код функции в любое место между тэгами (<?php) и (?>) перед строкой, начинающейся с «function». У меня это выглядит так:

<?php

function  vstavka_context() {
return '<!-- Яндекс.Директ -->
<script type="text/javascript">
yandex_partner_id = XXXXX;
yandex_site_bg_color = \'FFFFFF\';
yandex_stat_id = 3;
yandex_ad_format = \'direct\';
yandex_font_size = 1.2;
yandex_direct_type = \'flat\';
yandex_direct_limit = 1;
yandex_direct_title_font_size = 2;
yandex_direct_title_color = \'469600\';
yandex_direct_url_color = \'666666\';
yandex_direct_text_color = \'1F1F1F\';
yandex_direct_hover_color = \'1F3C05\';
yandex_direct_favicon = false;
yandex_no_sitelinks = true;
document.write(\'<scr\'+\'ipt type="text/javascript" src="//an.yandex.ru/system/context.js"></scr\'+\'ipt>\');
</script>';
 }
 add_shortcode('direct', 'vstavka_context');

function ping_comments ($comments)
{

Не смотрите на то, что коды Директа немного разные. Последний – это рабочий код с одного из моих сайтов. Взял как есть из файла function.php.

Собственно, все. Мы создали функцию вывода рекламного блока. Теперь нужно только вставить наш шорткод в нужное место в теле статьи. Делается это просто. Прямо в админке WordPress блога. Добавлять шорткод можно как в HTML, так и в визуальном редакторе текста.

Чтобы вставить рекламный блок, нужно выбрать подходящее место в статье и вставить специальное кодовое слово. В моем случае это «direct» (для вставки блока от Яндекса) или «adsense» (для рекламы от Google). У вас эти слова могут быть другими, если вы их по-другому прописали в шорткоде функции.

И еще. Вставлять код нужно в квадратных скобках. Вот так — [ direct ] (пробелы уберите). На этом все. Удачного блогинга!

К записи "Как вставить рекламу Direct и Adsense в тело статьи без плагинов?" оставлено 23 коммент.
  1. Спасибо за альтернативный метод, перепробовала несколько плагинов на разных блогах, реклама не всегда корректно отображается, особенно в середине статьи.

  2. Олег Маркарьян:

    tanichka, всегда пожалуйста. Надеюсь, данный способ решит все проблемы.

  3. Спасибо! Вы очень просто и доходчиво всё объяснили ;

  4. Олег Маркарьян:

    Виталий, всегда пожалуйста!

  5. Remo:

    Спасибо автору, мучился с плагинами для того чтобы вставить блок adsensa в конец статьи, сейчас добавил все в код и хорошо!

  6. Олег Маркарьян:

    Remo, всегда пожалуйста.

  7. Олег, огромное спасибо вам за статью. Это как раз то, что мне было необходимо. Я тоже стараюсь по максимуму обходиться без плагинов и ваш вариант у меня прошел на ура! ))))

  8. А как быть, если мне нужно сделать 2 рекламных блорка адсенс, и я хочу их вставлять в разных местах в контенте?
    пробовала продублировать функцию, в итоге начало выдавать ошибку в этом файле, пришлось перезаливать бекап-файл функций…
    Заранее спасибо!

  9. Инга, нужно 2 раза вставлять шорткод в разных частях статьи.
    Если нужно вставлять разные рекламные блоки, то нужно создать 2 функции, например vstavka_context_1 и vstavka_context_2

  10. Дарья:

    У меня не получается почему-то. После вставки кода в function сайт не работает. Вставляю явно как-то не так:
    <?php

    "код здесь"

    if ( ! isset( $content_width ) )

    $content_width = 584;

    add_action( 'after_setup_theme', 'bws_setup' );

    function bws_setup() {

    load_theme_textdomain( 'bws', get_template_directory() . '/languages' );

    add_editor_style();
    add_theme_support( 'automatic-feed-links' )

    register_nav_menu( 'primary', __( 'Главное меню', 'bws' ) );

    add_theme_support( 'post-thumbnails' );

    }

  11. Дарья:

    Ой, все, разобралась. Большое спасибо, все оказалось действительно очень просто!

  12. Олег:

    Отличная статья и очень простой способ.
    Спасибо огромное

  13. Спасибо, классная статья!
    все получилось, правда со второго раза )
    Есть вопрос!
    на другом сайте видел статью и функции, где можно вставлять рекламу после тега «Моrе» или заголовков Н1-Н6. Попітался сделать, но там описано хуже в результате не получилось )
    Не подскажете, как реализовать функцию в случае с тегом «more»?

  14. ZOiE:

    О, прикольно, завтра попробую, а то сегодня уже спать хочется :)

  15. asdw:

    надо эту статью сохранить :)

  16. Пост безусловно полезный, вот только вопрос возник, как этот блок выровнять по краю, что бы текст был не после него, а как у картинки, обтекал его?

    • В общем то все довольно просто оказалось, просто после return вставляете div с выравниванием по нужной стороне, например
      скрипт рекламы
      и текст будет обтекать его справа.

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

  18. Сергей:

    Олег, спасибо вам большое за статью. Очень хорошая и полезная. Не зря время потерял.

  19. Здравствуйте! а как сделать так ,что бы блок отображался в центре,а то он у меня почему то слева распологается,а не по центру. Пользуюсь плагином AdsPlace’r.

  20. Небольшое дополнение. Может так сложиться, что вы не хотите под каким-то заголовком выводить рекламу, тогда достаточно в редакторе записи сделать перенос после открывающего тега заголовка на новую строку и функция не сработает. Здравствуйте, Максим. Подскажите, пожалуйста, а при такой схеме размещения рекламных объявлений с помощью плагина Google Adsense, надо ли где-то вводить рекламный код, полученный от Адсенса?

Оставить свой комментарий

Поиск по сайту
Email-рассылка блога

Введите свой email адрес:

Статистика

© 2017    Focus Point    //    Войти   //    Вверх