PHP редирект внешних ссылок и скрытие реферальных ссылок
Данный
пост, как и многие другие в блоге, имеют свою «историю» или, если можно
так выразиться, практическое происхождение. Когда я только начинал
вести блог, то исследовал некоторые методы для скрытия реферальных
ссылок дабы найти самый лучших из них. В принципе, сложно сказать, есть
ли позитивный эффект от применения подобных хитростей — ведь, давно
известно, что большая часть рефералов становятся пассивными
пользователями, не принося никакой доход. И тогда получается, что с
одной стороны, чем больше людей вам удастся привлечь в партнерскую
программу, тем предположительно больше нормальных рефов может получится.
Но с другой — где гарантия, что, например, 10 «случайных зевак»,
зарегистрировавшись лишь из интереса будут полезнее одного вебмастера,
который сознательно перешел по вашей реферальной ссылке. Вопрос, как
говорится, риторический.
В принципе, если вы размещаете описание
той или иной системы для заработка в интернете то можно указать о
предоставлении специальных бонусов вашим рефералам в виде полезных
советов, консультаций, возможно даже софта. В таком случае, по идее, в
выигрыше останутся все — пользователь получит полезные данные, а вы,
возможно, прибыльного реферала. Но если публикация реф. ссылок
осуществляется в тексте статей, в виде баннеров, то здесь (чаще всего)
просто негде размещать ваше «щедрое предложение помощи». И тогда, думаю,
более эффективно все же скрыть реферальную ссылку.
До недавнего времени я использовал хитрость с подменой адреса при нажатии ссылки. Для этого в текст или шаблон блога добавлялся следующий код:
<a onclick="this.href='http://реальный адрес'" href="http://отображаемый адрес">текст ссылки</a> |
В отображаемый адрес ссылки добавлялся обычный линк на главную страницу той или иной системы, а вот в качестве реального адреса выступала реферальная ссылка.
Чтобы ее заметить нужно было смотреть HTML код страницы, но таким
далеко не все будут заниматься, чаще всего вебмастера ограничиваются
просмотром строки состояния браузера, которая в данном случае никак реф.
ссылку не выдает. Тем не менее, метод оказался с одним большим недостатком.
По словам некоторых специалистов при открытии ссылки через пункт
контекстного меню «Открыть в новом окне» реферальная ссылка не
сохранится. На 100% я лично в этом не уверен, пару моих тестов показали
обратное, хотя в некоторых других случаях действительно ничего не
происходило. В любом случае я решил поискать альтернативные методы
скрытия реферальных ссылок.
PHP редирект внешних ссылок
В принципе сам по себе скрипт PHP
редиректа внешних ссылок может использоваться для уменьшения числа
внешних ссылок с того или иного сайта, что даст возможность больше
заработать на нем в разных биржах. В общих чертах суть метода
заключается в создании некоего файла go.php, в который добавляете код:
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> Перенаправление <?php $url = isset($_REQUEST['url']) ? $_REQUEST['url'] : ''; if(preg_match('#(http?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){ sleep(0); //header("Location: $url"); echo "<html><head><meta http-equiv=\"refresh\" content=\"0;url=$url\"></head></html>"; exit(); } ?> |
Здесь параметр sleep() может содержать задержку для редиректа.
Данный файл заливаете с корневой каталог сайта (если это wordpress
блог, то туда, где находится файл wp-config.php). После этого
прописываете нужные для php редиректа ссылки как:
http://ваш_сайт/go.php?url=http://куда_направляемся |
Сами понимаете, что в таком случае ни о каком скрытии рефереальной ссылки речь не идет. Поэтому есть смысл немного изменить код в файле go.php на следующий:
<?php header ("Location: http://реальная ссылка"); exit(); ?> |
В этом случае в коде вместо текста реальная ссылка
ставим реферальную. Но тогда в одном PHP файле мы сможем задавать
редирект только для одной реф. ссылки, поэтому придется создавать сразу
несколько файлов под каждую биржу отдельно по типу gosape.php, goggl.php
и т.п. При этом было бы неплохо закрыть индексацию файлов с PHP
редиректом в robots.txt go.php:
User-agent: * Disallow: /go.php Disallow: /gosape.php Disallow: /goggl.php |
Либо проще будет закрыть индексацию целой директории, куда и добавить все php файлы.
Редирект ссылок через htaccess
Редирект для ссылок можно организовать
не только через PHP файл, но и прописать соответствующую директиву
Redirect в файле .htaccess. Его вы можете найти в корневой директории
сайта. Кроме того на хостинге должен быть включен модуль mod_rewrite (в
большинстве случае имеется). Синтаксис для команды следующий:
Redirect [status] URL-path URL
Здесь:
- status : необязательное поле, определяет код возврата, допустимые значения:
- permanent (301 — документ перемещен постоянно)
- temp (302 — документ перемещен временно)
- seeother (303 — смотрите другой)
- gone (410 — убран)
- URL-path : подставная ссылка.
- URL : реальная ссылка
Таким образом для создания партнерской ссылки добавляем в .htaccess конструкцию по типу:
RewriteEngine on Redirect /gosape http://www.sape.ru/12345.php |
Таким образом клике по ссылке http://mysite.ru/gosape пользователь будет попадать на сайт sape с реферальной ссылкой.
PHP редирект ссылок в два этапа
В одном из блогов нашел еще один весьма
интересный метод как спрятать внешние ссылки. Для этого в корневом
каталоге сайта создается некая папка, например, под названием pages, там
размещаем 3 файла:
1.linkslist.php – хранит массив внешних (реферальных) ссылок для редиректа, его код:
<?php $linksList = array( 'page1.html' => 'http://www.google.com', 'page2.html' => 'http://www.php.net' ); ?> |
2. redirect.php – php скрипт анализа ссылки и выполнения перерхода:
<?php require_once('linkslist.php'); $request = $_SERVER['REQUEST_URI']; $dest = explode('/', $request); $newUrlKey = end($dest); if (array_key_exists($newUrlKey, $linksList)) { header('Location:'.$linksList[$newUrlKey]); } else { header('Location:http://www.simplecoding.org'); } ?> |
3. Файл .htaccess – передает запросы скрипту redirect.php.
<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteRule ^get/(.+) /pages/redirect.php/$1 [L] </IfModule> |
После этого на страницах вашего блога
или сайта вы можете размещать ссылки вида
http://site_name/pages/get/page1.html, где page1.html — определяется в
файле linkslist.php и соответствует реальной ссылке, на которую будете
перенаправлен пользователь. Весь процесс обработки ссылки автор метода
уместил в такой схеме:

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