Как скрыть партнерскую ссылку

Прячем реферальные ссылкиНаверняка у каждого блогера есть ссылки на биржи статей, ссылок и пр. партнерки. Часто их объединяют в категорию – “где можно заработать”, “здесь я зарабатываю” и т.п. Считаю вполне нормальным то, что ссылки делаются реферальными и блогер получает %% от дохода людей, перешедших от него.  В рунете есть такой термин – реферофобия. Это когда человек видит в линке ваш реферальный код, копирует линк, обрезает этот код и переходит по линку без него. Не хочу обсуждать почему так делают, а лучше расскажу как скрыть это.

Есть три способа сделать это: javascript, php, директивами веб-сервера

Я рассмотрю 1-й способ на примере. Итак, задача: реализовать в сайдбаре меню с реф. ссылками и скрыть сам реф. код. Можно воспользоваться плагинами, коих предостаточно, но я пойду другим путем – “вытащу” из базы ссылки и слегка “приправлю” их нужными  тэгами :-). Допустим наша рубрика ссылок имеет идентификатор равный 5. Это легко выяснить зайдя в админке Ссылки->Рубрики Ссылок и наведя курсор к нужной рубрике (Cat_ID это то что нам надо). Далее открываем sidebar.php и вставляем код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php 
$links = $wpdb->get_results("
SELECT $wpdb->links.link_id, $wpdb->links.link_url, $wpdb->links.link_name, $wpdb->links.link_description, $wpdb->links.link_visible 
FROM  $wpdb->links
LEFT JOIN $wpdb->term_relationships ON ($wpdb->links.link_id = $wpdb->term_relationships.object_id) 
LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->term_taxonomy.term_id = 5 AND $wpdb->links.link_visible = 'Y'"); 
//sql-запрос выбирает все ссылки из категории ссылок с id = 5
 
if ($links) 
{
echo("<ul>");
foreach ($links as $link) 
	{ 
	eregi("^(.+)\/([^/]+)$", $link->link_url, $match);
	echo("<li><noindex><a href=\"".$match[1]."\" title=\"".$link->link_description."\" target=\"_blank\" onclick=\"this.href='".$link->link_url."'\" rel=\"nofollow\">".$link->link_name."</a></noindex></li>"); 
	} 
echo("</ul>");
}
?>

Поясню 15-ю строку, здесь при помощи регулярного выражения из ссылок вида
http://www.sape.ru/r.fTfHniujvU.php вырезается урл http://www.sape.ru для вставки в атрибут href. В итоге каждая ссылка будет иметь вид:

1
2
3
<noindex>
<a href="http://www.sape.ru" title="Sape — это система купли - продажи  ссылок с главных и внутренних  страниц сайтов, включающая в себя  ряд уникальных сервисов" target="_blank" onclick="this.href='http://www.sape.ru/r.fTfHniujvU.php'" rel="nofollow">Биржа ссылок Sape.ru</a>
</noindex>

Отмечу, что каждая из ссылок обрамляется в тэги <noindex></noindex> и внутрь добавляется rel=”nofollow”. Это говорит поисковикам что ссылку не нужно учитывать при индексации страницы. Плюс такой реализации – не используем плагины; можем отображать ссылки как хотим, минус – при изменении структуры БД (выход новой версии WP) придется переписывать sql-запрос.

Комментарии:

  1. kyoks

    Муторный способ какой-то. Вот еще один способ скрыть рефссылку: http://kyoks.ru/?p=6344 – намного проще