Приветствую всех друзей и читателей — Sozdaiblog.ru!
Сегодня, по Вашим многочисленным заявкам, я покажу, как вставить рекламные объявления в статьи WordPress.
Для тех, кто не знает, поясняю — это способствует увеличению дохода с контекстной рекламы.
За счёт того, что объявления располагаются внутри статьи, они постоянно находятся в зоне внимания читателя, тем самым получая наибольшее количество кликов, чем другие вне этой области.
Многие из Вас уже давно знают, что основными гигантами на рынке «контекста» являются РСЯ (рекламная система Яндекса) и Google AdSense.
Как раз сегодня они и будут нашим примером для вставки.
Чтобы вставить рекламные объявления в статьи, нам потребуется немного повозиться с кодом Вашей активной темы оформления WordPress (как установить тему на wordpress). Уверяю, трудного и страшного здесь ничего нет, достаточно точно и внимательно выполнять все ниже перечисленные действия.
Итак.
Вставка рекламных объявлений РСЯ и Google AdSense в статьи WordPress
Вообще существует несколько различных способов вставки сообщений в статьи. Перед тем, как перейти к одному из них необходимо запастись любым текстовым редактором (желательно Notepad++), получить доступ к файлам сайта и обязательно сделать их резервную копию на случай, если что-то пойдёт не так (резервное копирование файлов wordpress). Затем можно приступать.
1. Вариант
Этот способ позволит Вам вставлять рекламные объявления Google AdSense в статьи с ограниченным количеством символов.
Откройте файл «functions.php», который находится в папке Вашей активной темы оформления и в самом конце, вставьте следующую функцию:
function inject_ad_text_after_n_chars($content) { // only do this if post is longer than 1000 characters $enable_length = 1000; // insert after the first </p> after 500 characters $after_character = 500; if (is_single() && strlen($content) > $enable_length) { $before_content = substr($content, 0, $after_character); $after_content = substr($content, $after_character); $after_content = explode('</p>', $after_content); $text = ' <!-- ЗДЕСЬ ВАШ КОД --> '; array_splice($after_content, 1, 0, $text); $after_content = implode('</p>', $after_content); return $before_content . $after_content; } else { return $content; } } add_filter('the_content', 'inject_ad_text_after_n_chars');
По умолчанию в коде стоит «1000». То есть, если символов меньше, то рекламный блок показываться не будет. Цифра «500» в коде означает количество знаков, после которых будет выводиться реклама. Ещё в этом коде предусмотрен вывод рекламного блока при появлении первого отступа или абзаца (</ p>). Это на случай если он появится раньше заданного числа символов. Код ставиться один раз и автоматически показывает рекламу во всех соответствующих настройкам статьях. Изменять все цифры можно по своему усмотрению.
2. Вариант
С помощью этого варианта Вы можете автоматически вставлять объявления в статьи после каждого < / h2> заголовка.
Для этого откройте уже знакомый файл «functions.php» и в самом низу поместите следующий код:
function ads_h2($the_content) { $ads=' <!-- ЗДЕСЬ ВАШ КОД --> '; if (is_single()) { $the_content=preg_replace('#<h2(.*?)</h2>#','<h2\1</h2><div class="ads_content">'.$ads.'</div>',$the_content); } else { } return $the_content; } add_filter('the_content', 'ads_h2');
Если Вам потребуется вывод блоков, к примеру, после < / h3>, то просто замените его в коде и т. д.
Такой способ хорошо подойдёт для Google AdSense, а вот с Яндексом придётся немного повозиться.
Для автоматического отображения контекстной рекламы Яндекса из файла «functions.php», по правилам, требуется, чтобы все одинарные кавычки в скрипте были «экранированы», то есть, обрамлены слэшем (/).
Чтобы Вам не заморачиваться, возьмите мой готовый вариант. Замените лишь необходимые переменные (цвет, шрифт, количество блоков, срез) и радуйтесь жизни:
function ads_h2($the_content) { $ads='<script type="text/javascript"> //<![CDATA[ yandex_partner_id = 102965; yandex_stat_id = 2; yandex_site_bg_color = \'FFFFFF\'; yandex_site_charset = \'utf-8\'; yandex_ad_format = \'direct\'; yandex_font_size = 1.2; yandex_font_family = \'courier new\'; yandex_direct_type = \'flat\'; yandex_direct_limit = 1; yandex_direct_title_font_size = 2; yandex_direct_title_color = \'3366CC\'; yandex_direct_url_color = \'000000\'; yandex_direct_text_color = \'000000\'; yandex_direct_hover_color = \'006699\'; yandex_direct_favicon = true; document.write(\'<sc\'+\'ript type="text/javascript" src="https://an.yandex.ru/system/context.js"></sc\'+\'ript>\'); //]]> </script>'; if (is_single()) { $the_content=preg_replace('#<h2(.*?)</h2>#','<h2\1</h2><div class="ads_content">'.$ads.'</div>',$the_content); } else { } return $the_content; } add_filter('the_content', 'ads_h2');
Лично у себя я использую именно этот вариант.
3. Вариант
Воспользовавшись этим способом, Вы сможете автоматически вставлять любы объявления сразу во все статьи после определённого абзаца или отступа (< /p>).
Откройте для редактирования файл «single.php», который, как и «functions.php» находится в папке с темой, и найдите следующую строчку:
<?php the_content();?>
Вместо неё вставьте вот такой код:
<?php $paragraphAfter= 3; //display after the first paragraph $content = apply_filters('the_content', get_the_content()); $content = explode("</p>", $content); for ($i = 0; $i <count($content); $i++ ) { if ($i == $paragraphAfter) { ?> <div>Insert Ads Here</div> <?php } echo $content[$i] . "</p>"; } ?>
По умолчанию рекламный блок будет показан после третьего отступа. Задать необходимые параметры можно в строке «$paragraphAfter= 3;».
4. Вариант
А вот этот вариант, вообще снимет все ограничения и позволяет вручную вставлять рекламные объявления в любое место статьи во время её написания.
Открываем наш любимый файл «functions.php» и тем же Макаром вставляем следующий код:
function myads1() { return ' <!-- ЗДЕСЬ КОД ОБЪЯВЛЕНИЯ --> '; } add_shortcode('ad1', 'myads1');
Теперь, когда Вы будите писать новую статью, просто добавляйте вот такой атрибут в необходимые для отображения места:
[ad1]
Это шорткод (Shortcode), он позволяет вставлять необходимые вещи без постоянного использования огромного кода. Кстати, очень удобная штука.
Внимание!
Как и во втором варианте, если Вы используете контекстную рекламу Яндекса, то вставляйте скрипт с экранированными кавычками.
5. Вариант
Если Вам необходимо размещать рекламные объявления постоянно только в начале или в конце статьи сделайте следующее. Откройте файл «single.php» и методом обычного тестирования вставляйте и удаляйте код рекламы, пока не добьётесь нужного результата. Шаблоны для WordPress создаются разными авторами, поэтому универсальный способ не всегда срабатывает.
Мой совет:
Чтобы придать рекламным блокам необходимые стили CSS, оберните их следующей конструкцией:
<div class="adstyle">[ad1] или код любого блока</div>
Затем в файле «style.css» Вашей темы оформления пропишите следующие стили:
.adstyle { background:#f4f4f4; width:400px; height:500px; text-align:right; float:right; border:solid 1px #c7c7c7; }
Все стили Вы можете настраивать по своему усмотрению.
Думаю, что этих вариантов будет более чем достаточно.
Хотя, Вот Вам ещё один на закуску.
Бонус
Есть одно замечательное место на сайте, где, по мнению подавляющего числа SEO специалистов, размещение рекламных блоков будет не менее эффективным, чем в теле статьи. Этим золотым местом является область, которая находится на главной странице после анонса первого поста.
Чтобы внедрить туда рекламное объявление, необходимо обернуть его вот таким кодом:
<?php if ($count == 1) : ?> <!-- ЗДЕСЬ КОД ОБЪЯВЛЕНИЯ --> <?php endif; $count++; ?>
Затем, открываем для редактирования файл «index.php», который находится всё в той же папке с темой. Находим следующую строчку и перед ней вставляем заранее подготовленный код рекламного блока:
<?php endwhile; else: ?>
Как я уже говорил ранее, не все шаблоны для WordPress одинаковы и в Вашем случае такой строчки может не оказаться. Если случиться именно так, то Вы сразу не расстраивайтесь, а просто поэкспериментируйте, вставляя код в разные места. Уверен, что после нескольких попыток реклама будет отображаться в нужном месте.
Кстати, цифра «1» в обёртке означает «первый анонс». Изменяя это значение, можно отображать рекламу после второго или третьего анонса. Здесь уже выбирать Вам.
На сегодня это всё.
Если Вы знаете ещё какие-нибудь эффективные способы размещения рекламных объявлений в статьях WordPress, обязательно поделитесь.
До новых статей….
С уважением, Денис Черников!
Ну как бы понятно. Но у меня в теме всё делается проще.Есть 4 таких блога с кодами, которые я просто вставляю в нужное место и реклама там отображается. Вот:
Используйте [AD] короткий код для вставки этих объявлений на сообщения, текстовые виджеты или нижний колонтитулы Пример: [рекламный код = 4 ALIGN = CENTER]
Так Вы это каждый раз вручную делаете?
Вообще-то да. Пока честно говоря только попробовал. Я же рекламу на блоге вообще не ставлю. Вот пройдёт хотя бы месяца 4 с открытия, тогда начну потихоньку. А пока посетителей всего 100-120 в день. Новашу статью возьму конечно на заметку. Да и я у вас часто бываю на блоге. Интересно.
Тогда всё понятно! Рад, что Вы ко мне заглядываете!
Спасибо за полезную статью! Обязательно воспользуюсь вашими советами!
Пожалуйста, Алексей! Если что спрашивайте!
Отличная автоматизация размещения рекламных объявлений.С плагинами будем прощаться.Спасибо.
Пожалуйста, Владимир! Внедряйте.
У меня реклама, вначале и в конце поста установлена в файле Одна запись. В середину статьи вставляю вручную в нужное место, куда определяю визуально.
А мне нравится когда всё на автомате.
А плагин не проще? типа Quick Adsense. сам по себе он места очень мало занимает.
Если Вам так проще, то ставьте.
Здравствуйте Денис. Скажите, а если я хочу вставить рекламу после тега «далее» это получается подходит Ваш описанный пятый вариант? А я все время в ручную вставляла всю рекламу))
И еще все время хочу найти ответ на такой вопрос. После вставки рекламного кода спустя время, когда открываешь статью в Html то прибавляются строчки в самом коде вот такие
// < ![CDATA[ их бывает мало, а бывает много. Что это значит, можете сказать? Может этот вопрос у Вас вызовет смех, но для новичка — в этих кодах одни вопросы.))
Здравствуйте, Таисия!
Да, можете использовать 5 вариант.
// < ![CDATA[ - это означает, что между ними находятся символьные данные, а не HTML разметка.
Да, Денис, у меня в пятом варианте оказалась вот такая строка и когда я вставила, то реклама не отобразилось и куда ее воткнуть? Вы пишите по экспериментируйте, но как, там ведь этих знаков море так можно до утра экспериментировать.))
Таисия, а как Вы хотели? Я с некоторыми кодами иногда целыми ночами сижу, чтобы одну закорючку в нужном месте отобразить. Кстати, моря там ни какого нет. Включите немного логики, посмотрите какие теги за что отвечают. Они все на английском и даже визуально и логически можно примерно догадаться, что к чему. Пробуйте!
На третьем варианте тема благополучно слетела, вернула все назад)) Пока остановилась на 4м варианте, мне он кажется не таким сложным. Спасибо за советы, можно теперь спокойно убрать плагин для вывода рекламного кода))
Пожалуйста, Анна!
Если улетела тема, значит Вы что-то не туда вставили так как я проверял каждый код на нескольких темах в своём блоге.
Возможно, но меня пока устраивает Ваш четвертый вариант))
Я рад! Выбирайте то, что Вам действительно по душе.
Пользуюсь плагином Quick Adsense. Позволяет быстро перенастраивать любые типы контекстной рекламы. Но в статье много вариантов , с которыми необходимо поэксперементировать. В моем шаблоне это трудно сделать, но может что-то и подойдет
Можно и плагином, но я их не очень приветствую!
Вставлял у себя код без экранирования и все работает. Вывожу после определенного количества символов в записях старше месяца.
В файле функций без экранирования код от контекстной рекламы Яндекса на вставиться, Вы что-то путаете Олег!
Тоже пользуюсь плагином. Но тема установки различных функций с помощью кодов для меня интересна. Поэтому читаю такие статьи со вниманием. Осталось набраться храбрости и внедрить в жизнь.
Не бойтесь Марина! Всё проверено и отстреляно! Разве я буду давать Вам то, что сам не опробовал. Смелей!
Ох, все же придется идти и ковыряться в кодах. Насколько я понимаю, без этого не обойтись! Да и со временем, когда сайт разрастется, все равно нужно будет плагины менять на скрипты. Может это лучше сделать сразу и не создавать себе работу на будущее?
Спасибо за полезный и подробный материал!
Рад быть полезным, Ирина! Но рекламу пока ставить рано. Ваш сайт должен набрать посетителей и определённый рейтинг.
Денис, а можно сделать так, чтобы выводить рекламный блок адсенс только после первого заголовка h2 каждого поста?
Можно! Обычно заголовком идёт h1. Замените в коде этот на него. Можно просто в single.php вставить блок рекламы после заголовка и он будет постоянно отображаться только после названия поста. Пробуйте!
Здравствуй, Денис. Как можно пообщаться с тобой лично? Мне это необходимо, накопилась масса вопросов и я надеюсь на твои советы.
Здравствуйте, Виктор!
Какие у Вас вопросы?
Спасибо за ответ. Я по ссылке захожу на Ваш блог, изучаю посты, которые Вы мне не присылали в рассылке. Сомневаюсь в правомерности своих действий.
Пожалуйста, Виктор, но но причём тут рассылка и посты. Посты можно читать любые, а рассылка, это уведомление о новых.
И еще, Денис, как мне узнать статистику подписчиков? Может издашь что на эту тему? Спасибо.
Какую статистику Вы хотите узнать? Вся статистика на том сайте, где Вы организовали подписку (фиды, или смартреспондер).
Все. Я понял. Больше докучать не буду Извини…
Вы мне не докучаете, просто Вы не объясняете, чем я могу Вам конкретно помочь!
Еще раз извини.Кого то обидеть — не в моем характере. Просто свои проблемы решаю сам. В статистике я уже разобрался, а вопрос у меня простой — о реальном заработке в интернете (долги давят). Думаю, я не один такой и в России и в Интернете.
Виктор, Вам не за что извинятся. Заработать в Интернете за один день не получится. Опять же смотря на чём Вы хотите заработать. Если на блоге, то это долгая песня. Если хотите что-то продать и получить комиссионные, то вперёд в любую партнёрскую программу. Сможете сто-то продать, получите свои комиссионные. Других быстрых вариантов нет.
Спасибо за поддержку.
Пожалуйста!
Привет , подскажите что делать я поставил первый вариан вашей статьи , как поставить код в запись сайтта, но реклам отоброжаеться но её нет как бы только написано в табличке неверный адрес и все не отоброжаеться сама реклама !!
Если не отображается реклама, так это не в коде дело. Ведь он встал на необходимое место! Вы кодировку utf-8 ставили на код?
нет а как это сделать, можете скинуть сраницу сайта!!!
Если не получается так, поищите в Интернете. Там способов море!
Я когда ставил Ваш вариант последнего вывода, после первого анонса, то реклама показывалась после второго, когда в обертке заменил 1 на 0 — стало после первого анонса.
Да, Олег всё верно!
Денис, я пользуюсь плагином quick-adsense. Да, возможно, это не самый передовой способ. Но меня устраивает пока.
Кстати, не согласен, что на главной странице есть прибыльные места. Вообще убрал оттуда любую рекламу. Потому что доход оттуда мизерный, да ctr возрастает, если убрать оттуда рекламу.
Денис, а Вы проводили анализ по срезам в Яндекс.Директ?
Да,проводил! Но здесь всё сугубо индивидуально.
Здравствуйте, Денис! Спасибо за статью, отправляю ее в закладки, скорее всего чем-нибудь из нее вскоре воспользуюсь. Пока экспериментирую с позициями рекламных блоков на сайте. И меня заинтересовал один вариант: рекламный блок Адсенс расположен в начале статьи (после названия, но перед контентом), если эта статья открыта. Но при этом на главной странице, в анонсах, этих блоков не видно. Не подскажете, как это сделать? И, может по опыту, эффективно ли такое расположение?
Здравствуйте, Татьяна
Рад, что статья Вам понравилась!
На главной странице в анонсах её и не должно быть видно, это надо уже в другой файл код вставлять, в индекс.
А на счёт эффекта, то тут всё индивидуально, у меня не пошло. Нужно тесты проводить.
А какой код и куда в индекс надо вставлять?
Так в этом посте даны пояснения, как выводить на главной странице рекламные блоки, а вставлять нужно путём эксперимента, темы ведь разные.
Как вставить объявление сразу после заголовка H1 в статье, например как у вас?
В syngle.php найти h1 и под ним вставить!
спасибо) все получилось)
Пожалуйста, обращайтесь!
здравствуйте. Мне нужен второй вариант. Как не странно, с h2 всё работает, а с h1 никак! Поэтому все в инете дают вариант только с h2? Не подскажите в чём может быть секрет, как сделать, чтобы работало с h1? Может у меня с заголовками что-то не так?!.. А в singe.php -h1 у меня такого нет совсем!
Привет, Никифор!
Я с H1 не проверял, по идеи должно работать. Тут нужно индивидуально смотреть Ваш шаблон и пробовать варианты!
неа никак не получилось! Пришлось опять плагин поставит.
Да там просто, посмотрите внимательнее!
Спасибо за статью. Несколько часов мучилась и наконец вставила код объявления в single.php после h1! Все прекрасно!
Пожалуйста! Рад, что у Вас всё получилось!
Денис, с Новым годом! Всех благ. Хотела спросить, у меня когда вбиваю название сайта в поисковую строку гугля, название некоторых (не всех) страниц и статей, пишутся иероглифами. Все просмотрела, на хостинге спросила. Как вы думаете, в каком направлении мне искать? Ума не приложу. tatiananova.ru
Спасибо, Татьяна!
Копать нужно в сторону кодировки файлов! Скорее всего у каких-то файлов Вашего сайта не стоит кодировка UTF-8!
Спасибо. Исправила!!!!
Всегда, рад помочь!
Здравствуйте Денис! Я тут пыталась поставить рекламу от Яндекс в средине статей, после заголовка h2, столкнулась с такой проблемой: когда необходимый код добавляю в functions.php, и копирую файл на хостинг, у меня админка становится просто белым экраном, в чем может быть проблема? Код вставляю точно проверяла все несколько раз, но конечно, я могу ошибиться:) Помогите, если Вам не сложно, как вставить, чтобы все работало.
Здравствуйте, Ольга!
Проблем может быть несколько — не в том месте вставляете, не полностью скопировали код, не проставили правильно апострофы, и т. д. Смотрите внимательнее!
Здравствуйте Денис нужна Ваша помощь — суть: пользуюсь вариантом вставки номер 2, подскажите можно ли сделать так чтобы на конкретной странице блок рекламы не выводился, что нужно прописать в коде. Заранее благодарен.
Здравствуйте, Алексей!
Увы, у меня нет готового решения!
Очень понравилась идея с первым вариантом. Но!.. рекламный блок упорно встает после второго абзаца. Проставила 1500знаков. Второй абзац обычно в районе 500-700 знаков.
В чем может быть ошибка?
Светлана, всё достигается методом проб и ошибок! Нужно смотреть, заочно не получится подсказать!
А по поводу третьего пункта: а куда сам код рекламы вставлять?
А Вы разве не видите в коде огромный кусок рекламы от Яндекса?
В третьем варианте? не вижу…
Значит не судьба! Что Вам ещё сказать! Вы представляете, как выглядит код рекламы Яндекса?
нет, конечно. Я не работаю пока с яндексом. Хотя из Ваших примеров, как я поняла, такой код есть во втором варианте…
А может мы не поймем друг друга? я имела в виду тот вариант, где нужно работаьь с файлом «single.php», т.е. не третий код, а третий вариант…
Ну вот, это уже более точный вопрос и ответ! Там в коде надпись «Insert Ads Here»! Вот вместо этого и нужно код вставлять!)))
Спасибо. получилось. Только пришлось проставить абзац 15, чтобы реклама вставала приблизительно в середину статьи. Как я поняла, отступы между абзацами тоже считаются, как абзацы.
Пожалуйста! Да, считаются!
Благодарю за помощь Денис, очень помогли!
Пожалуйста, Валерий! Заходите!
В третьем варианте куда надо вставлять рекламный код?
Вместо «Insert Ads Here»
Доброго времени суток!
Не могу ничего нагуглить, может, вы поможете.
Надо чтобы на некоторых страницах вместо рекламы адсенс на ее месте был баннер партнерской программы.
Как убрать рекламу адсенс с конкретных страниц, я нашла:
код рекламы Google Adsense
А вот как вместо нее вставить баннер — что-то непонятно…
Спасибо!
Здравствуйте!
Если Вы вставляете рекламу Адсенс автоматически в каждую статью, то на отдельные страницы через данный код Вы не вставите ничего.
В третьем варианте,в «single.php» нет строки где найти эту строку?
Темы бывают разные, поэтому только методом тыка, если конечно Вы не пишите темы сами!
полетела кодировка, что делать?
Установить правильную UTF-8!
Денис, а можно ли через single.php вывести не 1 рекламный блок, а несколько? Первый, скажем, после 6 абзаца, а второй — после 15 абзаца.
Можно, но нужен код другой!
Как обычно от Дениса: очень полезно и информативно!
Рад что Вам понравилось!
Спасибо за статью. Но не могли бы Вы подсказать куда и скаким оформлением вставить код рекламы, если я хочу чтобы он отображался сбоку от самого сайта? Не в посте, не в футере и не в хедере. По рыскав в интернете я нашла только липкий вариант, а мне нужен обычный, чтобы он выводился под хедером, но за полями сайта.
Пожалуйста! Просто вставьте его вне кода самой страницы в индексном файле!
Подскажите, а можно с помощью этого кода как-то сделать так, чтобы реклама выводилась после 1 и 3 анонса. Если это реально подскажите, пожалуйста, как это можно сделать
Здравствуйте, Денис!
Большое спасибо за ликбез — пригодилось. Буду также признателен, если подскажите, как в Вашем Варианте №1 сделать так, чтобы рекламный блок в теле статьи после энной части текста отображался по центру. У меня почему-то он по левому краю равняется. Поиски решения проблемы в Сети ничего толком не дали. Поэтому надеюсь еще раз на Вашу помощь.))
Заранее благодарен!
С уважением,
Тарас
Добрый день, Денис.
Спасибо, статья супер.
И у меня есть один вопрос: Как сделать так чтобы блок рекламы появлялся вначале поста если пост больше определенного количества символов, а если меньше то не появлялся.
Заранее спасибо помощь.
Спасибо. Первый вариант подошел мне
Денис спасибо. Использовал два варианта 3 и Бонус. Все что связано с functions.php не прокатывает.
От Адсенс получил предупреждение, за блоки в начале текста. При помощи варианта 3 сместил его ниже в текст.
Бонус использовал, так как на Главной рекламы не было ни когда, но планировал.
Для размещения в середине, пока использую плагин, так как редактируя functions.php блог валится.
Видно шаблон идиотский, вообщем мне об этом говорили.
буду искать решение дальше, что бы уйти от плагина.
Вам зарегистрироваться в РСЯ или Google AdSense, создать рекламные блоки и получить коды для вставки. Затем откройте файл single.php в папке вашей темы оформления WordPress и найдите тег “the_content()”. Поместите код рекламного блока перед или после этого тега, сохраните изменения и обновите свой сайт. В результате, рекламные объявления будут отображаться в статьях в выбранном вами месте. Не забудьте также проверить совместимость с правилами и рекомендациями РСЯ и Google AdSense для оптимального использования рекламных блоков. Удачи!
cURL error 28: Operation timed out after 60003 milliseconds with 0 bytes received
Добрый день, друзья и читатели! В этом комментарии я хочу поделиться с вами способом вставки рекламных объявлений в статьи WordPress, который поможет увеличить ваш доход от контекстной рекламы. Они будут размещены внутри статьи, что позволит привлечь больше кликов со стороны читателей. В качестве примеров мы рассмотрим основных игроков в рекламном мире – РСЯ (рекламная система Яндекса) и Google AdSense. Не беспокойтесь, вставка объявлений несложна, просто следуйте описанным действиям. Давайте начнем!