JQuery | Кирилл Павлюков
Сен 09

Недавно на нашем основном сайте упала посещаемость. При этом поток с поисковых систем был на прежнем уровне, а количество посетителей с новостных информеров пошло вниз. Сверив статистику, мы были удивлены, что одному из партнеров мы отдавали в день около 300-500 посетителей, что, в принципе, очень мало.
Учитывая то, что недавно этот партнер (якобы случайно) нарушил достигнутые между нами договоренности, нам присланная статистика показалась заниженной. Я начал думать, как можно посчитать количество переходов, если информер - это яваскрипт, который отрабатывается на стороне клиента.

И в этом на помощь пришел jQuery!
Несколько строк кода - и переходы по внешним ссылкам считаются нашим сервером!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// подключаем jQuery
<script src="http://code.jquery.com/jquery-latest.js"></script>
// подключаем класс для работы с base64
<script src="http://www.zavtra.com.ua/jscripts/base64.js"></script>
 
<script>
// при загрузке документа...
$(document).ready(function(){
// получить массив все ссылки, которые содержат текст "xxx.yyy" в аттрибуте href
var x= $("a[href*='xxx.yyy']");
// для каждой найденной ссылки...
jQuery.each(x, function() {
  // url - это старый адрес закодированный по Base64
  url = Base64.encode($(this).attr("href"));
  // назначаем новый аттрибут href: адрес PHP-скрипта на нашем сервере,
  // и в качестве строки запроса - полученный в прошлой строке урл
  $(this).attr("href", "http://www.zavtra.com.ua/go2un.php?" + url);
});

});
</script>

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

Автор: Кирилл Павлюков \\ Метки: , , , ,