С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 01/12/08 в 11:58 |
Как можно определить время просмотра пользователем интернет-страницы?
Вопрос возник в ситуации, когда на сайт покупается трафик на PPC. Хотелось бы быть уверенной, что кликает не бот... Как это можно проверить?
|
|
|
|
Модератор Be afraid!
Be very afraid!
С нами с 14.10.02
Сообщения: 5762
|
Добавлено: 01/12/08 в 12:47 |
Можно Google Analytics поставить, он показывает такую статсу.
|
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 01/12/08 в 13:27 |
Стоит на всех страницах. Только вот в отчете видно время нахождения на сайте, а не на конкретной странице. Плохо искала?
|
|
|
|
С нами с 25.01.07
Сообщения: 257
Рейтинг: 262
|
Добавлено: 01/12/08 в 16:58 |
топикстартер, а как ты предлагаешь время нахождения засекать?
на уходе со страницы это никак не отследишь.
минимум - интервалы между открытием одним пользователем других страниц сайта, если он на сайте зависает. и все.
|
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 01/12/08 в 20:16 |
brainstorm писал: | топикстартер, а как ты предлагаешь время нахождения засекать?
на уходе со страницы это никак не отследишь.
|
Была мысль использовать OnUnLoad в тэге BODY. Только почему-то у меня локально в Денвере он срабатывает один раз из десяти, не могу понять почему...
Как-то же Google Analytics подсчитывет время просмотра сайта...
|
|
|
|
С нами с 18.11.08
Сообщения: 11
Рейтинг: 2
|
Добавлено: 01/12/08 в 23:55 |
Ну можно сделать всё самому..
БД + буквально 2 строчки кода.. и вся статистика вплоть до миллисекунд по заходу на странички.
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 02/12/08 в 00:10 |
brainstorm писал: | топикстартер, а как ты предлагаешь время нахождения засекать?
на уходе со страницы это никак не отследишь.
минимум - интервалы между открытием одним пользователем других страниц сайта, если он на сайте зависает. и все. |
JS req(reload) с наименьшим интервалом...
примерно по такому принципу сделаны веб чаты
|
|
|
|
С нами с 07.08.08
Сообщения: 262
Рейтинг: 176
|
Добавлено: 02/12/08 в 00:43 |
Awstats показывает
|
|
|
|
c++,php кодинг
С нами с 22.10.05
Сообщения: 1098
Рейтинг: 558
|
Добавлено: 02/12/08 в 01:30 |
механизм:
с помощью ява скрипта каждую сек загружать картинку с определенным id (очевидно что лучше всего ее загружать если она php скрипт ), разница между 1й и последней загрузкой будет время.
|
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 02/12/08 в 09:38 |
pr0f писал: | Awstats показывает |
Судя по тому, что есть на их сайте - там тоже только сводное время нахождения, а требуется примерно так:
IP-адрес / URLстранички / время нахождения на ней
Первые два параметра тянет PHP-скрипт в момент формирования странички на веб-сервере, а с третьим - беда...
|
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 02/12/08 в 09:40 |
mad_kostya писал: | Ну можно сделать всё самому..
БД + буквально 2 строчки кода.. и вся статистика вплоть до миллисекунд по заходу на странички. |
Ну так я и хочу сделать сама - и практически все сделала, кроме единственного параметра.
|
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 02/12/08 в 09:48 |
asgor писал: | механизм:
с помощью ява скрипта каждую сек загружать картинку с определенным id (очевидно что лучше всего ее загружать если она php скрипт ), разница между 1й и последней загрузкой будет время. |
ibiz писал: | JS req(reload) с наименьшим интервалом...
примерно по такому принципу сделаны веб чаты |
А не тяжеловато будет?
Интересно, а по какому принципу сделаны теже liveinternet, hotlog? Там ведь есть отчеты по среднему времени пребывания на сайте, и он явно строится на основании времени просмотра каждой странички
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 02/12/08 в 13:58 |
Аналитикс и прочие статистики высчитывают время проведённое юзером на сайте по загрузке страниц. При заходе на сайт засекается время, при дальнейшем переходе по страницам плюсуется разница. Кстати, поэтому часто бывает что в статистике время посещения сайта 00:00:00 у тех, кто просмотрел не более одной страницы и, скорее всего, время просмотра самой последней страницы (выходной страницы) сайта не учитывается вообще.
Считать можно через PHP-сессию: записывать туда текущее время и разницу, при каждом открытии новой страницы разницу обновлять по ID сессии.
А на onUnload какие действия стояли? Если через AJAX вызывать тот же PHP-срипт, в котором будет стоять ignore_user_abort(true)?
|
|
Power of the lime madness...
|
0
|
|
|
С нами с 07.11.08
Сообщения: 18
Рейтинг: 2
|
Добавлено: 02/12/08 в 14:39 |
Corex писал: | Считать можно через PHP-сессию: записывать туда текущее время и разницу, при каждом открытии новой страницы разницу обновлять по ID сессии. |
Беда в том, что юзер дальше первой страницы (куда его PPC кидает) и не идет... Есть подозрение, что больше 1 сек он на странице не проводит, а то и вообще бот кликает. Так что вариант с PHP сессией здесь не спасет, ИМХО.
Corex писал: | А на onUnload какие действия стояли? |
В тэге BODY было следующее:
<body onUnLoad="javascript:window.alert('Спасибо, что нас посетили!')">
Corex писал: | Если через AJAX вызывать тот же PHP-срипт, в котором будет стоять ignore_user_abort(true)? |
С AJAX не знакома совсем. Где прочитать подробнее как это реализовать?
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 02/12/08 в 15:29 |
Сессия тут в любом случае нужна, не только как средство подсчёта время, а как уникальный идентификатор юзера.
AJAX, если просто, вызов из JavaScript какого-то файла процессом в бэкграунде, без перегрузки страницы.
На примере библиотеки YUI:
Код: | <html>
<head>
<title>Title</title>
<script src="yahoo.js"></script>
<script src="connection.js"></script>
<script language="JavaScript">
function count_unload()
{
var callback = { success: null, failure: null, argument: {}, timeout: 5000 };
var sUrl = "time_counter.php";
var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
}
</script>
</head>
<body onUnload="count_unload();">
DOCUMENT HERE
</body>
</html> |
Из всей библиотеки нужно взять только 2 подключённых в начале документа файла, в упакованном виде (суммарно 6.5 кб занимают). Далее, time_counter.php - скрипт подсчёта времени, где будет высчитываться разница между временем захода и временем ухода со страницы. В начале скрипта обязательно поставь ignore_user_abort(true), чтобы скрипт успевал отработать до конца.
|
|
Power of the lime madness...
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 02/12/08 в 16:41 |
LittleOne писал: | А не тяжеловато будет?
|
так это ты сам смотри насколько точная статистика тебе нужна... в идеале подгружать каждую секунду, оптимально 5-10 сек... нагрузка небольшая
+с помощью JS отсеешь часть ботов, а с сессиями они дадут о себе знать
|
|
|
|