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

Раз уж начал про редиректы…

Цель. Написать скрипт, который будет:

  1. Отправлять новых посетителей по одному адресу, а повторных посетителей – по другому;
  2. Отправлять по конкретному адресу в зависимости от порядка посещения.

Что делаем? Ставим пользователю куки при каждом новом посещении.

Назовём наш куки keks. Просто так. Итак,

В переменную $i записываем существующее значение куки плюс один. Если такого куки нет (первый заход) – то прописываем единицу. Следующей строчкой ставим/обновляем куки. В данном примере – на 10 лет, то есть фактически навсегда.

Итого имеем в $i номер посещения по счёту.

Направляем трафик так:

В примере выше при первом посещении человека отправит в яндекс, при втором – в мэйлру, при третьем и далее – в гугл. В гугле в поиске уже будет вбит номер нужного посещения (см. ?q=$i в предпоследней строчке – просто как пример). Можно добавить «case 3:», «case 4:» и т.д. для третьего, четвёртого и т.д. заходов.

Или мы можем чередовать сайты:

Тут при первом посещении привет гуглу, при втором – яндексу, потом снова гуглу и т.д.

Как вариант хранить адреса в массиве:

Всё. Вот полный скрипт:

7 thoughts on “Редирект новых и старых посетителей в разные места, редирект по номеру посещения”

  1. супер! НО кинь плиз если не впадлу, скрипт, который из общего трафа определяет 10% (условно) мобильного и из этого мобильного еще 5% айфоней на ya.ru и 10% андроида на google.com.
    Логика такая, что я хочу часть моб трафа, а именно айфоней сюда, а часть андроида сюда.
    спасибо, если поможешь.

    1. Уже два месяца прошло, но всё ещё впадлу)
      Может, сделаю универсальный генератор кода для таких штук

  2. Классно, написал. Я сам не селен в кодах. Можешь подсказать — нужно сделать редирект таким образом чтобы каждый клик по нему отправлял юзера на новую страницу, т.е. есть ссылка на сайте при клике по ней первого юзера отправит на sait-1, кликнет другой юзер уйдет на sait-2, 3й клик по ссылке отправит юзера на sait-3, и т.д. Каждый клик перенаправляет на новый сайт. Заранее спасибо, очень надеюсь на вашу помощь.

    1. А зачем так делать? Просто сделать открытие каждого сайта с вероятностью 1/N, будет абсолютно тот же эффект, особенно на объёме.

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

      Всё ещё нужно так заморочиться? Я могу, но смысла не вижу пока)

  3. Не работает какнужно. Редирект пишется в кеш, браузер запоминает первый редирект и всегда по нему отправляет, любые изменения файла не вступают в силу.

    1. Ну это уже вопрос к настройкам сервера. Чтобы обойти кеширование, можно использовать параметр перехода либо какой-нибудь рандомный параметр (многие рекламные сети предоставляют либо одно, либо другое). То есть уникализировать ссылку, например дописав &rnd=этот параметр.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *