Ротатор рекламы. Пишем скрипт ротатора баннеров и рекламы на php

Ротатор происходит от английского "rotate", что означает вращать. Отсюда и название скрипта "ротатор". Зачем он нужен? Ясный пень для ротации или если по нашему, то для вращения. Что вращать? Да все, что угодно, баннеры, картинки с подписями и без, текстовую рекламу. и т. п.

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

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

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

Итак, для начала в качестве примера можно использовать ротатор базового сайта http://сайт и сделать так:

Явно видно, что все достаточно просто. Число ротатора хранится в текстовом файле, при каждом открытии какой-либо страницы сайта число считывается, увеличивается на 1 затем записывается обратно и так пока не станет равным максимальному установленному числу, после чего число ротатора возвращается в исходное состояние. Имя html страниц при этом будет 1.html, 2.html...Скрипт можно сильно упростить, если воспользоваться функцией генерации случайного числа. Тогда это буде выглядеть так:

И на последок еще один важный момент. Может кому будет полезен. Это вывод html файла с рекламой, который, кстати, может иметь и любой формат, тот-же php, txt, и др, в нужном месте страницы сайта. Остановимся на том, что страницы сайта имеют тот-же html формат. В этом случае можно сделать так:

1. В том месте, в нужном контейнере или таблице html страницы, где нужно показывать html вставку с рекламой расположить переменную среды типа %reklama%;
2. Считать содержимое html файла с рекламой в какую-либо переменную, как было показано выше
// Запись содержимого html файла с рекламой в переменную $rotate рекламой
$rotate = implode ("", file ("$rot"));
3. Запустить функцию вывода всей html страницы (например имеюшей название index.html) с html рекламной вставкой.

function html ($path)
{
global $rotate;
$page = file_get_contents($path);
$page = str_replace ("%reklama%", $rotate, $down);
echo ("$page");
}
html ("index.html");
exit;

В выводимой странице index.html, какая-либо страница с рекламной вставкой типа 1.html будет выведена втом месте, где стоит %reklama%. Заголовки рекламных блоков и прочую ерунду можно выводить подобным-же образом. Ну, вот собственно и все. Эту тему можно развить в разных направлениях, но примерная суть изложена выше. Кстати для того, чтобы полнее уяснить суть выше сказанного можно тестовую страницу со скриптом ротации в своем составе. Страница оформлена в виде небольшого проекта на Денвере. Архив нужно распаковать в папку home Денвера, запустить Денвер и набрать в браузере rotate.ru

Прежде всего, что же такое ротатор и почему он так важен? Судя по названию, термин пошел от англ. "ротэйт" - вращаться. Суть ротатора в его web-ипостаси состоит в том, что он по тому или иному принципу крутит рекламу на сайте.

Зачем же нужен ротатор, спросите вы? Действительно - стоит воспользоваться любой баннерообменной сетью, и все проблемы отпадают - она сама каждый раз старается подставлять другой баннер, вам остается лишь разместить код баннера. Однако реалии таковы, что в наше время отдача от баннерных систем уже минимальна. Все больше и больше вебмастеров переходят на партнерские программы - там выбираешь какой-либо вид рекламы, вставляешь html код и баннер или рекламная ссылка появляется на нужном месте. Тут и начинают возникать проблемы. Во-первых, код, который будет каждый раз показывать новый баннер или хотя бы крутить по кругу несколько разных это крайне редкое явление в существующих на сегодня партнерских программах. Да какой там редкое, я знаю больше сотни самых разных партнерских программ - код, который каждый раз показывает разные баннеры есть только у трех из них!

Но это еще пол беды. Второй момент - интересы посетителей. Собственно, почему так важно показывать разные баннеры, а не один и тот же? Я думаю, должно быть ясно - один посетитель запросто может просмотреть несколько страниц, а может и десятков страниц вашего сайта. В таком случае, посетитель может раз увидеть баннер, перейти на другую страницу, а там то же самое, далее те или иные услуги ему будут рекламировать все тот же баннер! Даже если б человека он и заинтересовал, после такого визуального запоминания баннер просто игнорируется. Если же показывать разные баннеры, на разные темы, пусть даже одной и той же партнерской программы, отдача от такой рекламы будет значительно большей.

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

Итак, что же мы будем делать? Нет, скрипт-телепат, читающий мысли человека мы писать не будем, не сегодня:-). Сегодня наша задача - показать как можно больше разнообразных баннеров одному и тому же посетителю. Да, возможно не сразу посетитель увидит интересующую его рекламу. Возможно только на 3, 5.. 10 просмотренную страничку, она будем ему показано. Некоторые посетители уйдут, так и не увидев интересующую их рекламу. Однако в любом случае отдача будет значительно большей, чем, если ставить какой-то один баннер или кучу разных.

Теперь нам нужно подумать, каким образом реализовать данный скрипт? Довольно неплохим был бы вариант использование Cookies - для того, чтобы избежать возможных повторных показов пользователю уже показанных баннеров. Но я бы не стал так делать. Во-первых, это лишняя, по-моему, не оправданная какая ни какая, а нагрузка, а, во-вторых, в любом случае вы не будите использовать больше 2-3 партнерских программ, иначе посетители ресурса просто будут "растворяться" в куче разных партнерских программ и вы не получите никакого толку. А раз это будет 2-3 программы, то большинство посетителей увидят баннеры каждой из них, даже если их показывать в совершенно случайном порядке. Именно так мы и поступим.

Фактически, все, что нам нужно - это случайным образом вставлять тот или иной код баннеров в нужное место. Делается это очень легко - генериться случайное число из заданного диапазона и в зависимости от полученного числа выводится соответствующий код. Вот пример такого простого php скрипта:

Что-то еще хотели? Вот и весь скрипт:-). Первые две строчки служат для генерации случайного числа (точнее псевдослучайного, но это не столь важно) в диапазоне от 1 до 3. Ну и третья строчка включает соответствующий php файл в документ. Соответственно, в директории, откуда вызывается данный скрипт, должны находиться файлы 1.php, 2.php и 3.php, которые содержат кода баннеров. Если нужно больше или меньше, просто соответствующим образом исправляете вторую строчку нашего скрипта.

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

Нынче висит просто для проформы.

Сейчас вместо последних постов из блогов рекламодателей висят мои собственные объявления, рефки и ссылки на свои проекты. Место теперь только одно и оно не продаётся.

Для этого пришлось немного переписать скрипт для вывода объявлений. Точнее сделать его намного проще.

Итоги и причины закрытия эксперимента по монетизации

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

А прикрываю я прямую монетизацию по таким причинам:

  • Я пишу только тогда, когда мне этого хочется. Поэтому наблюдаются серьёзные перепады посещаемости. Рекламодателям это не понятно и неприятно.
  • Свои проекты рекламировать выгодней. Один переход залётного сеошника по ссылке на список бирж для покупки ссылок может принести неплохой пассивный доход сразу в нескольких сервисах.
  • Можно давать объявления об обмене электронной валюты или поиске исполнителей. А также другой мелочи.
Пишем ротатор объявлений на PHP

Наш скрипт ультрапрост. Он достаёт из БД рандомную ссылку, втыкает её в шаблон и выводит в нужном месте сайта. И всё.

Для начала создаём таблицу promo в базе данных MySQL. В ней мы будем хранить наши объявления. Полей по минимуму: идентификатор, статус (на всякий случай) и элементы ссылки.

CREATE TABLE IF NOT EXISTS `promo` (
`id_promo` smallint(6) NOT NULL AUTO_INCREMENT,
`url` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`anchor` varchar(255) NOT NULL,
`status` tinyint(1) NOT NULL,
PRIMARY KEY (`id_promo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Затем загружаем на хост библиотеку MSQL.php . Это драйвер БД – прослойка между голыми SQL запросами и разработчиком. Используйте любой ORM или не используйте вообще. Дело ваше.

Также создаём 3 файла: C_Promo.php , M_Promo.php , Promo.tpl.php . Модель (библиотека), контроллер и представление (шаблон).

В C_Promo.php пишем код: