Перейти к содержимому



Подсчет кликов по внутренним ссылкам

#1 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 29 Сентябрь 2009 - 12:12

а как считаются клики по ссылкам внутри сайта?

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Кликандер скрипт
  2. Количество внутренних ссылок
  3. Секреты внутренней SEO-оптимизации сайта: как получить максимальный результат?
  4. Подскажите сервис, который показывает клики по ссылке.
  5. Скрипт кликандер

#2 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Сентябрь 2009 - 23:57

sc2r2bey, тут нужно уточнить, клики по определённым ссылкам или по всем что имеются на странице?
Если по определённым(просмотры тем, количество скачиваний и т.д.) то тут уместно вести в соответствии объекта просмотра счётчик, который нужно хранить там же где хранится на объект(скорее всего это будет таблица объектов определённой направленности, например новости или статьи).

Если же хотите для всех ссылок с вашего сайта вести количество кликов, то тут уместно создать отдельную таблицу, которая будет наполнена url ссылками и счётчиком их открытий.
То есть когда пользователь нажимает на ссылку, мы обращаемся к PHP посредством AJAX. В PHP скрипте мы обращаемся к таблице из базы, где хранятся наши ссылки, если подобной ссылки ещё не было, то мы добавляем её и счётчик назначаем 1, если ссылка уже есть в базе, обновляем счётчик на +1.
  • 0

#3 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 15 Октябрь 2009 - 10:32

ситуация следующая, в БД есть 185 позиция, на странице выводиться только 10 из них и ссылка посмотреть все, так вот этот список формируется по популярности нажатия ссылок, не могу понять как фиксируется нажатие ссылок и т.д.
  • 0

#4 Евгений

Евгений
  • Неактивные
  • 481 сообщений
  • Репутация: 0

Отправлено 15 Октябрь 2009 - 11:05

id  |		ссылка		  | кол-во переходов
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1	 БлаБла					  2
2	 Тра-ля-ля				  56

<a href="go.php?id_url=2&rel=http://тра-ля-ля">Тра-ля-ля</a>

go.php

делаем +1 к количеству переходов ссылке с id переданным через $_GET['id_url'].
делаем редирект на страницу передавнную в переменной rel
  • 0

#5 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 17 Октябрь 2009 - 13:10

sc2r2bey, если это список ограниченный одной таблицей, то достаточно ввести ещё одно поле подсчета переходов. И когда пользователь обращается к записи определённым id, скрипт должен приплюсовать 1 к количеству посещений данной записи.
Если же ссылки изначально не обговорены, то то же самое, но у нас отдельная таблица с ссылками и количествами переходов по ней...
Если ссылка уходит на внешку, то тут естественно без перенаправления не обойтись.
ссылки в адресной строке советую кодировать а затем декодировать, сохранность будет выше. Кодировать и декодировать можно алгоритмом base64
  • 0

#6 link-traffic

link-traffic
  • Неактивные
  • 14 сообщений
  • Репутация: 0

Отправлено 17 Октябрь 2009 - 14:03

Самый обычный счетчик в БД

UPDATE stat SET counter=counter+1 WHERE link_id=12345

  • 0

#7 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Октябрь 2009 - 08:39

<a href="go.php?id_url=2&rel=http://тра-ля-ля">Тра-ля-ля</a>

и как это работает, что происходит при нажатии такой ссылки?
  • 0

#8 ZiTosS

ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Октябрь 2009 - 11:07

sc2r2bey,
<a href="go.php?id_url=2&rel=http://тра-ля-ля/123.html">Тра-ля-ля</a>
На странице go.php такой код:
// подключение к БД

$rel = mysql_escape_string($_GET['rel']); // экранируем спецсимволы
$query = "SELECT id FROM table WHERE rel LIKE '{$rel}'"; // строка запроса на проверку существования ссылки
$resource = mysql_query($query); // выполняем запрос
if(mysql_num_rows($resource))
mysql_query("UPDATE FROM table SET counter=counter+1 WHERE rel LIKE '{$rel}'"); // если ссылка уже существует, то счетчик на +1
else
mysql_query("INSERT_INTO table VALUES(NULL, '{$rel}', 0)"); // если ссылка не существует, то добавляем её в таблицу

// перенаправление
header("location: {$_GET['rel']}");
exit();


Ещё бы не помешало проверять ссылка ли это вообще, помещённая в $_GET['rel'];
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru