Аватар пользователя Dima

Модуль статистики переходов по внешней ссылке для Drupal 6 [обновлен 05.03.2012][6.x-1.3-dev]

Модуль статистики переходов по ссылке drupal 6​Иногда бывает нужно сосчитать количество переходов по внешней ссылке, например, клики по банеру.
Как раз для под эту задачу я и создал этот модуль.

ОПИСАНИЕ:

Данный модуль для drupal 6 предоставляет простую статистику количества переходов по определенной внешней ссылке.

ИСПОЛЬЗОВАНИЕ:

  1. Установить и включить модуль на странице администрирования модулей admin/build/modules.
  2. Ссылка, клик по которой должен быть подсчитан, должна обработаться функцией spl($url) ("statistic prepare link"), либо, если будет использована просто ссылка в тексте, она должна передаваться как аргумент в url для адреса "redirectcount" (redirectcount/http:....example.com.ua). Обратите внимание, что слеши (/) заменены двумя точками (..), то есть при формировании url следует заменить каждый слеш на две точки.
  3. Теперь статистика доступна по адресу аdmin/reports/redirectcount.

На данный момент модуль находиться в разработке, по-этому на странице статистики доступна не вся собираемая модулем информация.

Обновление в версии 6.x-1.1-dev:

Добавлены:

  • страница отчета по конкретному адресу
  • страница настроек ip адресов которые не следует учитывать (боты, поисковики)

Список адресов гугл бота можно найти здесь

github: https://github.com/dstorozhuk/redirect_count

Комментарии

Можно подробнее объяснить по пункту 2? Где что и как надо прописывать?

Например, вы вставляете в шаблон (или в блок) ссылку на посторонний ресурс:<?php$url = 'http://google.com';$link = l(t('Your link', spl($url))); // <----- ссылка завернута в функцию spl()print = $link; ?>Или же у вас нет возможности использовать (или нет надобности) PHP, тогда делаем так:<a href="/redirectcount/http:....google.com" title="some title">Link text</a>Обратите внимание, что тут // (два слеша) заменены на .... (четыре точки), так как друпал воспринимает слеш как разделитель аргументов адресе. В PHP варианте заменять слеши на точки не нужно, так как это делает функция spl().

Попробовала второй вариант: Link text. Работает, но не совсем корректно.При переходе по ссылке, пересылает на главную страницу, хотя сама ссылка на отдельную страницу. То есть например адрес http://google.com/stranitsa, а шлет на http://google.com.Видимо дело в слэшах. Как надо правильно пописать адрес? Если меняю все слэши на две точки, результат тот же.

Странно, вот на этой странице DrupalForum 2012 – 10-11 февраля, Запорожье (Украина) , стоит ссылка, которая обрабатывается функцией spl() (в самом низу страницы "здесь"). Это переход на страницу регистрации. Как видно, ссылка состоит из нескольких частей, отсылает на ту страницу, которую запрашивал пользователь. Заметьте, что ссылка на страницу о форуме тоже идет через редирект, и корректно обрабатывается. Давайте HTML код вашей ссылки будем смотреть.

Дмитрий, оказывается некорректно работают ссылки только такого типа: http://site.com/?page_id=25. То есть если в конце стоит /?page_id=.Остальные ссылки работают нормально.Вот пример как записана ссылка в блоке:БолгарияПри переходе закидывает на главную.

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

Дмитрий, можете в новой версии еще сделать возможность в отчете делать сброс статистики?

Да, я это уже добавил в todo, спасибо.

Дмитрий, Подскажите, как можно сделать сброс статистики?

К сожалению пока никак, если нужна эта функциональность можем обговорить как её дописать, к сожалению все упирается в свободное время.

Правильно-ли я понял, что нужно самостоятельно "метить" ссылки переход по которым будет считаться? Не лучше-ли это автоматизировать доверив это дело JS, который будет слать ajax запрос счетчику переходов при событии "клик" на любой ссылке?

Извините за столь большую задержку в ответе. Да все правельно.Дело том что я хотел избавится от зависимости в JS. Ведь у пользователя может быть отключен javascript.