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


Партнерская программа Kredov

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

#1 surfer

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

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

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

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Количество внутренних ссылок
  2. Nofollow для внутренних ссылок
  3. Подскажите сервис, который показывает клики по ссылке.
  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