Методы эффективной вставки контекстной рекламы в посты wordpress
Привет, друзья! Сегодня я расскажу вам, как увеличить доход с контекстной рекламы, используя различные способы вставки в посты wordpress. В первую очередь,практически все нижеперечисленные методы будут эффективны для контентных проектов, на которых публикуются большие посты.
Большинство из этих так называемых хаков вставляют контекстную рекламу непосредственно в тело записи. Это не всегда удобно пользователям. Вы должны это понимать . Примеры буду приводить с объявлениями Google Adsense, но также можно вставлять рекламу, например, и от не менее эффективного Яндекс.Директа.
В посте «Автоматически вставляем блоки контекстной рекламы в тело поста» я уже затрагивал эту тему. Но, во-первых, плагин Whydowork Adsense перестал у меня работать на более новых версиях wordpress. Во-вторых, как известно, плагины увеличивают нагрузку на сервер.
В этой же статье я предлагаю актуальные методы эффективной вставки рекламы без плагинов, только немного редактируя файл functions.php вашей темы. Это по силам каждому .
Для начала скриншот, который показывает, что контекстная реклама внутри статьи действительно повышает доходы на 30-40%. Это было в моем случае на 2-х сайтах. Возможно, в других случаях будут другие цифры.
То есть 2 блока прибавили к заработкам в среднем около 35%. По-моему, неплохо для настройки в 15-20 минут . Внутри поста размещал графическую рекламу. Как я уже писал, она участвует в разных аукционах с текстовой рекламой. И так получилось, что клики по ней были дороже кликов по текстовым объявлениям, которые были размещены вверху контента.
Заканчиваю вступление и перехожу к вариантам размещения. Все куски кода вставляются в файл functions.php, который находится в папке с вашей темой перед закрывающим ?>. Ниже вы увидите подборку хаков, которые я собрал по рунету. Правда, некоторые были созданы благодаря моей инициативе.
Содержание:
1) Вверху после заголовка с определенной датой появления
Если вы хотите зарабатывать на контекстной рекламе, но не хотите отвлекать постоянных посетителей и читателей, то это решение как раз для вас. Не секрет, что самое удачное расположение объявления находится в верхней части страницы. Так вот, код выводит рекламу в посте сразу после заголовка, обрамляя ее текстом, через определенное количество дней.
function kama_content_advertise($text){ $days = 7; // через сколько дней, спустя дату публикации поста, показывать рекламу. $offset = (int) time() - (int) strtotime($GLOBALS['post']->post_date); $interval = 3600*24*$days; if($offset < $interval ) return $text; //Код рекламы<br /> $adsense = <<<HTML <div style="float:left; margin:10px"> здесь ваш рекламный код </div> HTML; return $adsense.$text; } add_filter('the_content', 'kama_content_advertise', -10);
Видите цифру 7? В этом случае google adsense будет показываться только в постах, которые старше 7 дней. Сами объявления будут слева, а текст будет их обтекать справа. Если хотите, наоборот, то замените left на right. Если не хотите обрамление, то уберите условия из div — style=»float: left; margin: 10px;».
Сейчас на блоге стоит именно этот вариант только с 30-дневной задержкой. За примером можно сходить
С этим кодом мне помог wp-kama, который ведет отличный блог по wordpress. Спасибо ему за это .
2) Внутри поста
Именно такой способ я использовал на двух сайтах, которые показаны на скриншоте. «Хак» после заданного количества символов (я так понял, имеется в виду количество символов html-кода, а не символов самого текста), ищет перенос строки и вставляет туда рекламу.
function kama_content_advertise($text){ //спустя сколько символов искать перенос строки и вставлять рекламу? $nu = 400; //Код рекламы $adsense = <<<HTML <div style="float:right;margin:0 0 10px 15px;"> Здесь ваш рекламный код </div> HTML; // return str_replace('<span id="more-5424"></span>', $adsense.'<!--more-->', $text); return preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n| )@', "\\1$adsense\\2", trim($text), 1); } add_filter('the_content', 'kama_content_advertise', -10);
Нужно «поиграться» с числом 400. Изменяйте его и смотрите, что получается. Этот код я увидел у того же wp-kama. С обрамлением объявлений тоже самое, что и в первом пункте. Вот скриншот-пример.
3) Внутри поста с определенной датой появления
Ему же я предложил небольшой апгрейд этого кода. Реклама появляется так же, как и в пункте 2 только с определенным возрастом поста (как в пункте 1).
function kama_content_advertise($text){ $days = 7; // через сколько дней, спустя дату публикации поста, показывать рекламу. $nu = 400; //спустя сколько символов искать перенос строки и вставлять рекламу? $offset = (int) time() - (int) strtotime($GLOBALS['post']->post_date); $interval = 3600*24*$days; if($offset < $interval ) return $text; //Код рекламы $adsense = <<<HTML <div style="float:right;margin:0 0 10px 15px;"> Здесь ваш рекламный код </div> HTML; return preg_replace('@([^^]{'.$nu.'}.*?)(\r?\n\r?\n|</p>)@', "\\1$adsense\\2", trim($text), 1); } add_filter('the_content', 'kama_content_advertise', -10);
Тут уже надо настроить количество дней и количество символов.
4) После тега more
Очень много блоггеров ставит тег more в своих записях, чтобы на главной, в архивах и категория показывалась только часть поста. Андрей Макаров уже достаточно давно опубликовал код, который вставляет google adsense после этого тега.
function adsgoolge_ssd($content) { $google_ads=' здесь ваш рекламный код '; $content=preg_replace('#<span.*?id="more-(.*?)".*?></span>#','<span id="more-\1"></span></p><center>'.$google_ads.'</center><BR><p style="text-align: justify;">',$content); return $content; } add_filter('the_content', 'adsgoolge_ssd');
В этом случае блок рекламы будет выравниваться по центру. Если вы хотите, чтобы он обрамлялся текстом, то переменную ‘.$google_ads.’ нужно заключить в div. Также как, например, в пункте 1,2 или 3.
Сейчас на блоге анонсы записей автоматически обрезаются, поэтому я перестал вставлять тег more. В старых же постах этот тег еще есть. Вот примерно так может выглядеть реклама.
5) В конце поста
А вот с решением этой задачи пришлось «попотеть» . Я спрашивал и на форуме mywordpress.ru и создавал проект на free-lance.ru, но в итоге окончательно смог помочь только Андрей. Правда на фрилансе была предложена вторая идея по реализации.
Была задача автоматического вывода блока объявлений в конце записей, которые обрамлялись бы текстом. В итоге получилось 2 варианта реализации.
а) По количеству абзацев
function adsgoolge_ssd_1($content){ if(is_single()){ $google_ads=' Здесь ваш рекламный код '; $button= '<div style="float:right;padding:8px 0px 8px 8px;">'.$google_ads.'</div>'; $poses = array(); $poseslast = array(); $lastpos = -1; $findchar = "<p>"; if(strpos($content, "<p") === false) $repchar = "<br"; while(strpos($content, $findchar, $lastpos+1) !== false){ $lastpos = strpos($content, $findchar, $lastpos+1); $poses[] = $lastpos; } $counts=sizeof($poses); #------------------------------------ $pickme = $poses[$counts-2]; #<------------- заменить число на нужное (номер абзаца) #------------------------------------ $content = substr_replace($content, "<div>" . $button . "</div>", $pickme, 0); //reset it $lastpos = -1; return $content; }else{ return $content; } } add_filter('the_content', 'adsgoolge_ssd_1');
Это более удобный для worpress метод, но менее универсальный. Он выводит рекламу после второго абзаца с конца записи. Можно сделать и так, чтобы выводил после 1-го или 3-го. Для этого нужно изменить -2, на -1 или -3, соответственно.
Метод подойдет для постов, которые хорошо разбиты на абзацы.
б) По количеству слов
function like_content($content) { if(is_single()){ $google_ads=' здесь ваш рекламный код '; $button= '<div style="float:right;padding:8px 0px 8px 8px;">'.$google_ads.'</div>'; $poses = mb_split(' ', $content); $counts=sizeof($poses); #---------------------------------------- $pickme = $poses[$counts-55]; #<---------- ставим нужное число! #---------------------------------------- #$content = substr_replace($content, "<div>" . $button . "</div>", $pickme, 0); $content = str_replace($pickme, $pickme.$button, $content); //reset it $lastpos = -1; return $content; }else{ return $content; } } add_filter( 'the_content', 'like_content' );
Это наиболее универсальный метод, так как длина одинакового количества слов для каждого поста примерно равна. Но иногда случаются ошибки вывода. Нужно подбирать количество слов (в основном от 30 до 60) с конца записи, после которых отображать рекламные объявления (строчка «ставим нужное число»).
В 5-ом пункте нужно учитывать размер шрифта, количество абзацев, размер блока объявлений. Например, для моего блога при блоке объявлений 338 на 280 нужно было указать -55 слов для пункта «б» и 2 абзаца для пункта «а».
6) Вставляем рекламу, где хотим
Если вы только начинаете вести блог или создавать сайт на wordpress (или сделали это недавно), то возможно вам пригодится и этот метод. Код следующий:
function ads1($atts, $content = null){ $google_ads=' здесь ваш рекламный код №1 '; $button= '<div style="float:right;padding:8px 0px 8px 8px;">'.$google_ads.'</div>'; return $button; } function ads2($atts, $content = null){ $google_ads=' здесь ваш рекламный код №2 '; $button= '<div style="float:right;padding:8px 0px 8px 8px;">'.$google_ads.'</div>'; return $button; } function ads3($atts, $content = null){ $google_ads=' здесь ваш рекламный код №3 '; $button= '<div style="float:right;padding:8px 0px 8px 8px;">'.$google_ads.'</div>'; return $button; } add_shortcode('ads1', 'ads1'); add_shortcode('ads2', 'ads2'); add_shortcode('ads3', 'ads3');
Как видите, в коде 3 различные переменные ads1, ads2, ads3. Для каждой из них задается определенный блок объявлений (правда можно один и тот же). Реклама под ads1 будет появляться в тех местах, где будет стоять код [ads1]. Для ads2 и ads3, аналогично. То есть вы написали пост, потом переходите в редактирование html и вставляете в нужных местах [ads1], [ads2], [ads3]. Я привел именно 3 блока, потому как больше в google adsense нельзя . Можно ставить только [ads1] или [ads2] или комбинации. В общем, не обязательно вставлять все 3.
Еще раз хочу повторить, что вставка контекстной рекламы внутрь статьи эффективна и целесообразно, когда на сайте большие посты. Если вставлять все 3 возможных блока google adsense в небольшую новость в 700 символов, то она, пожалуй, будет состоять только из рекламы. Я не призываю вас размещать огромное количество объявлений на странице. Не обязательно использовать самые большие форматы рекламы и только google adsense. Можно чередовать рекламу, например, с Яндекс.Директом. Совместное использование этих двух систем может увеличить ваши доходы.
Делайте так, чтобы контекстная реклама была дополнением к контенту, а не его основой. Если у вас появились вопросы, то задавайте их в комментариях. Помогу, если это будет в моих силах .