Вставка кода Adsense в посты WordPress

Методы эффективной вставки контекстной рекламы в посты wordpress

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

деньги

Большинство из этих так называемых хаков вставляют контекстную рекламу непосредственно в тело записи. Это не всегда удобно пользователям. Вы должны это понимать  . Примеры буду приводить с объявлениями Google Adsense, но также можно вставлять рекламу, например, и от не менее эффективного Яндекс.Директа.

В посте «Автоматически вставляем блоки контекстной рекламы в тело поста» я уже затрагивал эту тему. Но, во-первых, плагин Whydowork Adsense перестал у меня работать на более новых версиях wordpress. Во-вторых, как известно, плагины увеличивают нагрузку на сервер.

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

Для начала скриншот, который показывает, что контекстная реклама внутри статьи действительно повышает доходы на 30-40%. Это было в моем случае на 2-х сайтах. Возможно, в других случаях будут другие цифры.

доход от размещения рекламы google adsense внутри поста

То есть 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-дневной задержкой. За примером можно сходить сюда. А вот тут, например, рекламы еще нет. Она появится с 10 июля.

С этим кодом мне помог 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. Можно чередовать рекламу, например, с Яндекс.Директом. Совместное использование этих двух систем может увеличить ваши доходы.

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

Related Posts