WordPress плагин Simple Ads Manager

adv-1

Я уже обращался к теме управления рекламой в блоге. Те кто читал эту статью, знают, что до сих пор я пользовался плагином Advertising Manager. Однако меня не совсем удовлетворял набор его возможностей. Например, отсутствие возможности показа рекламных объявлений по расписанию, или возможность показа объявлений в статья только определённых рубрик. Ну и так далее …

Именно поэтому я написал собственный плагин для управления рекламой в блоге – Simple Ads Manager. Как мне кажется, мне удалось создать плагин, который сможет удовлетворить практически все запросы любого блоггера по управлению рекламой в блоге.

Форум поддержки. Support Forum. International post (English).

Возможности

  • Гибкое управление ротацией рекламных объявлений на базе веса каждого объявления в группе (рекламном месте)
  • Рекламное объявление “по-умолчанию” для каждого рекламного места
  • Допустимые типы кодов рекламных объявлений: HTML, javascript, PHP
  • Вывод рекламного блока Google DFP одним кликом
  • Вывод рекламных объявлений может быть осуществлён с помощью виджетов
  • Вывод рекламных объявлений в тексте статей может быть осуществлён с помощью коротких кодов
  • Вывод рекламных объявлений в любом месте шаблона темы может быть осуществлён с помощью функции вывода drawAdsPlace
  • Может быть осуществлён автоматический вывод рекламных объявлений до и после контента статей
  • Настраиваемое ограничение показа рекламных объявлений отдельными типами страниц
  • Настраиваемое ограничение показа рекламных объявлений в одиночных статьях по ID статей и по их категориям
  • Настраиваемое ограничение показа рекламных объявлений по расписанию
  • Статистика показов
  • Статистика кликов (только для объявлений заданных в виде собственного изображения – режим изображения)

Концепция

Основным объектом плагина является рекламное место. Каждое рекламное место является контейнером для рекламных объявлений и обеспечивает логику их показа и ротации. Кроме того, одним из параметров рекламного места является код объявления-заплатки, т.е. рекламного объявления которое будет показано тогда и, только тогда, когда логика показа объявлений данного рекламного места не позволяет показать ни одно из объявлений содержащихся в этом рекламном месте. Одно рекламное место может содержать любое количество объектов “рекламное объявление”.

Объект “рекламное объявление” жёстко привязан к своему контейнеру “рекламное место”. Его параметры определяют частоту показа (вес) и параметры ограничения показа, от “показывать на всех страницах” до “показывать в статьях с ID …” и показывать с … по (расписание).

Установка

  1. Закачайте папку плагина в папку /wp-content/plugins/
  2. Активируйте плагин на странице “Плагины”
  3. Настройте параметры плагина под Ваши нужды
  4. Создайте рекламные места в нужном количестве и наполните их рекламными объявлениями

Параметры

Реклама -> Параметры

Количество показов в цикле – количество показов одного объявления за один цикл ротации, при условии, что это объявление имее максимальный вес (активность). Другими словами, при количестве показов в цикле равном 1000, объявление с весом 10 будет показано 1000 раз, а объявление с весом 3 будет показано 300 раз.

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

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

Параметры автовставки – здесь Вы можете выбрать рекламные места и разрешить показ их рекламных объявлений до и после контента одиночной статьи.

Параметры Google DFP – если Вы хотите использовать ротатор от Google DFP разрешите использование DFP-кодов и введите свой pub-код.

Создание и настройка рекламного места

Перейдите на страницу списка рекламных мест (Реклама -> Рекламные места) и кликните кнопку “Добавить новое место”. В открывшемся окне редактора рекламного места произведите настройку создаваемого места.

Введите название и описание рекламного места. В принципе, это не обязательные параметры, т.к. ни на что не влияют, однако опыт подсказывает, что через некоторое время всякие ID забываются и такая информация может быть полезной.

Размер рекламного места – в этой версии несёт на себе исключительно информационную нагрузку, но в будущем я планирую использовать этот параметр. Желательно выставлять реальный размер.

Заглушка рекламного места – это рекламное объявление, которое будет показываться в том случае, если логика вывода основных рекламных объявлений данного рекламного места на текущей странице не сможет выбрать ни одного основного объявления для показа. Например, все основные объявления настроены на показ либо в архивах, либо на странице единственной статьи (single post), в этом случае на Главной будет показана заглушка. Удобно использовать заглушку в тех рекламных местах где Вы продаёте место на ограниченный срок – по истечении срока вместо заказанного объявления будет показываться заглушка. В качестве заглушки неплохо использовать баннер ведущий на вашу страницу расценок публикации рекламных объявлений или баннер от AdSense.

Заглушка может быть задана

  • как комбинация URL изображения и URL целевой страницы
  • как код HTML или код javascript
  • как имя блока Google DFP

В случае использования первого варианта (режим изображения) Вам становятся доступны инструменты для загрузки/выбора загруженного изображения баннера.

Коды – поскольку рекламное место может быть вставлено в код страницы не только как виджет, но и как короткий код или с помощью функции, вполне резонно можно использовать коды “до” и “после” для центровки или выравнивания рекламного места на месте вставки. Используйте HTML теги.

Создание и настройка рекламного объявления

Перейдите на страницу списка рекламных мест (Реклама -> Рекламные места), наведите мышь на нужное рекламное место, в появившемся меню строки выберите либо “Объявления”, для перехода к списку объявлений рекламного места, либо “Новое объявление” для перехода к редактору нового рекламного объявления. Если вы перешли к списку объявлений, кликните на кнопке “Добавить новое рекламное объявление”.

Введите название и описание рекламного объявления. Это необязательные параметры, т.к. ни на что не влияют, но помогают в визуальной идентификации объявления (не забыть что есть что 😉 ).

Код рекламного объявления – код может быть задан как комбинация URL изображения и URL целевой страницы, либо как код HTML, код javascript или PHP-код (для PHP-кода не забудьте выставить флажок “Этот код объявления содержит PHP скрипт”). В случае использования первого варианта (режим изображения) Вам становится доступна возможность вести статистику кликов, а так же инструменты для загрузки/выбора загруженного изображения баннера.

Ограничения показа объявления:

Вес рекламного объявления – коэффициент частоты показа рекламного объявления за однин цикл ротации.
0 – объявление не активно, 1 – минимальная активность этого объявления, 10 – максимальная активность данного объявления.

Ограничения по типу страниц – выберите режим ограничения:

  • Показывать объявление на всех страницах блога
  • Показывать на страницах только данного типа – объявление будет показываться только на страницах выбранных типов
  • Показывать объявление только в определённых статьях – объявление будет показываться только на страницах статей с заданными ID статей (ID статей разделять запятыми, без пробелов)

Дополнительные ограничения

  • Показывать объявление только в одиночных статьях и архивах заданных рубрик – объявление будет показываться только на страницах статей, входящих в заданные рубрики и на страницах архивов заданных рубрик
  • Показывать объявление только в одиночных статьях и архивах заданных авторов – объявление будет показываться только на страницах статей и на страницах архивов заданных авторов

Ограничение времени показа – если необходимо, взведите флажок “Использовать расписание для этого объявления” и установите даты начала и конца рекламной кампании.

Использование

Есть три варианта использования: виджеты, короткие коды, функция вывода.

Виджет

Перейдите на страницу виджетов (Внешний вид -> Виджеты). В зоне доступных виджетов найдите виджет “Рекламное объявление” и перетащите его в нужный сайдбар.

Настройте параметры виджета:

  • Заголовок – заголовок виджета. Если заголовок не нужен, оставьте пустым.
  • Рекламное место – выберите рекламное место из списка всех рекламных мест.
  • Скрывать стиль виджета – в некоторых темах это необходимо для сайдбара в шапке блога.
  • Разрешить использование ранее определённых кодов “до” и “после” для рекламного места – это те коды, которые определены для каждого рекламного места, как “код до” и “код после”

Короткие коды

Короткий код sam позволяет вставить рекламное место в любом месте текста статьи.

  • id – ID рекламного места
  • codes – использовать коды “до” и “после” для рекламного места. Необязательный параметр, по умолчанию false

Функция вывода

Для того что бы вставить рекламное место в любом места шаблона темы, используйте функцию drawAdsPlace.

Функция drawAdsPlace определена следующим образом:

  • args – массив, который может содержать id (ID рекламного места) или name (имя рекламного места, не рекомендуется)
  • codes – разрешает или не разрешает использовать коды “до” и “после” для рекламного места.

Автовставка

Предназначена для автоматической вставки рекламных мест до и после контента статьи. Настройка автовставки производится на странице параметров плагина.

Заключение

На первый взгляд, может показаться, что плагин чересчур тяжёл – как никак 500 kb кодов. Но не стоит ужасаться раньше времени, в плагине использована технология экономии ресурсов. Другими словами, в Face Side используется только 23 kb кодов из которых 21 kb PHP-код и 2 kb javascript. Всё остальное – прибомбасы для админ-режима, да и то, загружаются не всем скопом, а, исключительно, по необходимости.

Скачать

© 2011 – 2018, minimus. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.

Поделитесь статьёй

Об авторе

Lead Frontend Developer (ReactJS, NodeJS)

Комментарии (56)

  1. Zerx :

    Спасибо! Интересный плагин.

  2. Ginom :

    Скачал архив, залил, активировал, настроил параметры, попытался создать рекламное место ни фига не вышло. Заполняю все поля, нажимаю сохранить, появляется надпись “Данные рекламного места сохранены.”  но в списке рекламное место не появляется. Промучился почти час пытаясь понять, что не так, плюнул деактивировал, удалил..

    • minimus :

      Это Ваш осознанный выбор …

      А если по существу … У Вас не создались таблицы базы данных. Почему? Причин может быть несколько:
      1. Не хватило памяти (ОП) процессу
      2. Врямя выполнения процесса чересчур затянулось (слабый процессор сервера, перегрузка сервера по другим причинам) и исполнение процесса было остановлено
      3. Ограничения заданные провайдером …

    • V@N :

      Названия вводили кирилицей?

  3. 256ws :

    Спасибо за плагин.
    Меня интересует статистика, например если я буду через php транслировать чужую rss ленту (или любое другой php код выводящий рекламу) ваш плагин подсчитывать будет клики, показы?

  4. 256ws :

    Спасибо за плагин.
    Меня интересует вопрос по статистике, если я буду выводить рекламу php кодом (например ленту rss или другое содержимое) плагин будет считать показы/клики?

    • minimus :

      Нет …

  5. makabra :

    Плагин вообще не работает с рубриками на русском языке. Т.е он не пригоден для русскоязычных сайтов как таковой. Что интересно, плагин создает таблицы в БД не в стандартном UTF-8, а с какого-то перепугу в latin1_swedish_ci. Чтобы все нормально работало с русским текстом, нужно ручками переделать сравнение таблиц в БД на UTF-8. Автору не мешало бы исправить инсталятор.

    • minimus :

      Интересно, почему он работает на этом сайте?

    • minimus :

      Если у Вас база данных latin1_swedish_ci то и создаваемые таблицы будут latin1_swedish_ci. Что касается рубрик, то это “по барабану” – плагин работает со слагами, а не с названиями …

      • makabra :

        База-то как раз в UTF. Ладно БД поправил – заработало. Теперь, судя по всему, не работает вывод объявлений на страницах указанного тега. Правда у

  6. Пиво :

    У меня стоит тема classipress, и на страницах с объявлениями реклама не выводится вообще, пробовла и русскоязычные УРЛ и англоязычные – не выводиться вообще.
     
    В рубриках – да, в самих объявлениях – нет.
     
    Хелп?

    • minimus :

      А само объявление настроено правильно? Например флажок изображение/код выставлен правильно?

      • Пиво :

        Да показывается на всех страницах, кроме самих объявлений, зайди на сайт – посмотри

      • Пиво :

        Тема classipress – это типа доска объявдений для ВП. Так вот рекламные объявления этого плагина выводятся везде кроме страниц-объявлений (коих большинство)

  7. Мойша :

    Однако попытался добавить функцию в functions.php – получил в итоге сбой… причина ни фига не ясна .. в общем, добавить показ рекламы в код страницы не удалось

  8. NIKOLALV :

    Всем привет. Может кто видео-урок забацает по этому плагину, а то чайник уже закипает!? А minimus ???

  9. Серж :

    Интересный плагин – действительно! Надо подумать как использовать! Удачи в написании других полезных плагинов!!!

  10. Александр :

    Подскажите пожалуйста можно ли использовать этот плагин для Buddypress, не могу разобраться как вставить объявление например на страницу активности пользователя или на страницу активности группы. Ввожу ID пользователя, ничего не выводится, пока получилось только на обычные страницы вставить.

  11. Виталий :

    Прежде всего хочу сказать автору спасибо за плагин. Но, к сожалению, самой главной для меня функции в нем не оказалось =(
    Если можно, не могли бы вы добавить возможность задавать возраст страниц, на которых будет транслироваться реклама? Чтоб можно было указывать, что трансляция идет только на страницах старше 7 (10, 30 и т.д.) дней.

    • minimus :

      Не знаю, нужно ли это кому-нибудь кроме Вас … Попробуйте меня убедить …

  12. Joyweb :

    В описании плагина на этой странице сказано: “Основным объектом плагина является рекламное место. Каждое рекламное место является контейнером для рекламных объявлений…” Тут все понятно.
    После того как установил плагин, увидел новые понятия: рекламная зона и рекламный блок. Возникает вопрос: как эти понятия соотносятся с двумя предыдущими?

    • minimus :

      К сожалению не хватает времени для обновления этой статьи … Если Вы читаете по-английски (ну хотя бы со словарём), Вы можете почитать здесь или здесь – это актуальные статьи!

  13. Азат :

    Б****, за**** меня уже спам от вас…
    Делать больше не***, как слать всем налево направо?

    Исправил minimus: Ненормативная лексика на сайте запрещена!

    • minimus :

      А как меня достало то, что моя почта уходит налево …

  14. Joyweb :

    По умолчанию цикл показа рекламного места равен 1000.
    Допустим в рекламном месте в ротации находятся 2 рекламных объявления.
    Если каждому из них задать вес 5, то каждое из 2 объявлений будет показано по 500 раз.
    А что будет если веса перекрывают друг друга, например, вес первого – 5, а второго 10?
    Или вместе веса не набирают 10, например, вес первого – 5, а второго 3?

    • minimus :

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

      Например:
      1. В пакете три объявления с весами 10,5,3. Цикл 1000. За один цикл будет показано: объявление с весом 10 – 1000 раз, с весом 5 – 500 раз, с весом 3 – 300 раз. Итого: 1800 показов за один цикл.
      2. В пакете два объявления с весами 10,10. Цикл 1000. За один цикл будет показано: объявления с весом 10 – 1000 раз каждое. Итого: 2000 показов за один цикл.
      3. В пакете два объявления с весами 5,3. Цикл 1000. За один цикл будет показано: объявление с весом 5 – 500 раз, с весом 3 – 300 раз. Итого: 800 показов за один цикл.

      Т.е. величина цикла для пакета (Рекламного места) не является величиной абсолютной, что позволяет достаточно точно ротировать объявления на базе “развесовки”. Можно было установить эту величину для всех одинаковой, НО, поскольку траффик у всех разный, это могло бы привести к неприятным эффектам, например, при большом траффике, погрешность индексов ротации может достигать неприемлемых величин.

      • Joyweb :

        Спасибо за исчерпывающий ответ. 

  15. А вот и новый баг :-) :

    Привет автору и спасибо за труд.
    Не знаю насчет воспроизводимости бага, только сегодня его локализовал, но сейчас у меня так: Если на странице используется ссылка на плагин проплеер (тег [pro-player]), то данная странице не выводится. Причем оч. странно не выводится, вывод обрывается после верхнего меню и все, не рекламы, ни контента ни даже собственно самого проплеера.
    В связи с этим крайне желательна еще одна фича. Необходим код, который будет полностью отключать вывод всей рекламы (ну или по айди) на данной странице. Типа [nosam]

    • minimus :

      1. Видимо конфликт javascript скриптов. Может быть из-за одинаковых названий переменных, а может из-за чего-нибудь другого …
      2. Непонятен смысл такой директивы (тега) – отказ от показа может быть прописан у объявления в свойствах …

      • А вот и новый баг :-) :

        Спасибо за ответ. Мои извинения за поспешные предположения. Виноват был исключительно проплеер! Он тормозил, а точнее для его работы нужно было добавить php-xml но это нужно было найти. Менеджер рекламы был совершенно не причем. За подсказку со свойствами объявлений спасибо. изучу внимательнее. Оч. плохо, что нету актуальной русской документации.

        • minimus :

          Документация будет после выхода версии 2.0 в октябре..ноябре. А насчёт полного отключения рекламы на конкретной странице … об этом уже просят также американские и французские товарищи … будем что-то придумывать …

  16. Алиса :

    Просто шикарный плагин! Столько необходимых настроек, супер! Очень-очень понравился, одно удовольствие работать =)

  17. maxonik :

    Приветствую. Имеетсф WordPress 3.4.2. Есть проблема при загрузке картинки в плагине, т.е. кнопка Загрузить файл при нажатии ничего не выдает. В чем может быть причина?

     

    • maxonik :

      Вопрос снят, причина в браузере.
       

  18. Mbx :

    Minimus – спасибо за плагин !

  19. Mbx :

    Очень жду версии 2.0