2008-10-02 1 views
6

Предполагая, что у меня есть веб-сервер с открытым исходным кодом или прокси-сервер, я могу улучшить, скажем, apache или squid.Есть ли способ определить время, которое клиент тратит на веб-страницу?

Есть ли способ определить время, которое каждый клиент проводит на веб-странице?

HTTP, конечно, без гражданства, поэтому это не тривиально, но, возможно, у кого-то есть идея о том, как подойти к этой проблеме?

ответ

4

Не без какого-либо javascript постоянно поражает ваш сервер на стороне клиента, а затем проверяет, когда он останавливается (но, конечно, предполагается, что у пользователя включен javascript). Существуют также различные (уродливые) способы обнаружения окон, закрываемых javascript, но, конечно, они не всегда будут запускаться. например. крах браузера.

Я как бы удивляюсь, почему вы так хотите. Что делать, если человек смотрит на веб-страницу в течение 3 секунд, отвлекается на другую вкладку/окно, но оставляет страницу открытой в течение 2 часов? Ответ, который вы получаете, составляет 2 часа, ответ, который вы (возможно) хотите, составляет 3 секунды.

5

С помощью Apache или Squid вы вряд ли сможете определить время, которое пользователь проводит на своей странице.

Но с некоторым дополнительным сахаром на вашей странице вы можете:

Это бесплатно и имеет много функций.

Но вы также можете пригласить Google, чтобы посмотреть статистику вашего сайта ... (но, возможно, что помогает им решить, если вы хотите купить вас :-))

+0

Мы используем Urchin, который был куплен Google. Это Google Analytics, которую вы можете установить на свой сервер. Это довольно дорого, хотя, но хорошо, если вы не можете отправить данные в Google по какой-то причине. – 2008-10-02 12:39:30

2

Вы можете рассчитывать время, когда между страница запрашивалась при запросе следующей страницы, однако это было бы правильно, если бы пользователь оставался на этой странице все время, пока он не попросил следующую страницу. Даже тогда он все еще может быть на исходной странице (например, он открыл новую на вкладке) и будет работать только в том случае, если они перейдут на другую страницу.

Единственный способ узнать наверняка будет использовать Javascript для ping-сервера с открытой страницы каждые десять секунд или около того, просто чтобы сказать «Я все еще читаю!».

2

Я действительно видел пакеты аналитики javascript, где они не только отслеживали, сколько времени вы находились на странице, так и часто пинговая сервер, но также отслеживали именно то, что было на экране. измеряя размер окна вашего браузера, а также позиции прокрутки документа, они смогли точно определить, как долго каждый элемент находился на экране. Отслеживая местоположение мыши, возможно, можно получить хорошее представление о том, на что они смотрят. Я не могу найти ссылку прямо сейчас, но вот короткая история. Если вы действительно заинтересованы в том, что люди смотрят, и как долго вы можете это сделать. Не так много, насколько вы можете отслеживать.

Кроме того, просто мысль. Если вы не хотите слишком сильно пинговать сервер, вы можете хранить вещи, буферизированные в памяти, и отправлять их только на сервер, когда у вас есть достаточное количество данных, или прямо перед страница закрыта.

0

Этот тип показателей был довольно популярен несколько лет назад, прежде чем ПК стали более мощными, а браузеры с вкладками стали популярными, и стало труднее измерять их точно.Стандартный способ сделать это в прошлом состоял в том, чтобы предположить, что люди обычно просто загружают по одной странице за раз и просто используют данные журнала сервера, чтобы определить время между просмотрами страниц. Ваши стандартные аналитики, такие как Omniture и Urchin (теперь Google Analytics), подсчитали это.

Обычно вы устанавливаете cookie отслеживания, чтобы иметь возможность идентифицировать конкретного человека/браузер с течением времени, но в краткосрочной перспективе вы можете просто использовать комбинацию IP-адресов/пользовательских агентов.

Итак, в основном вы просто сверкаете данные журнала и считаете дельту между просмотрами страниц, как долго человек находился на странице. Вы устанавливаете некоторые правила (или ваш поставщик аналитики делает это за занавеской), как отбрасывание/усечение времени за пределами некоторого отсечения (скажем, 10 минут), когда вы предполагаете, что человек на самом деле не читал, но оставил страницу открытой в окне/вкладке.

Являются ли эти данные идеальными? Очевидно нет. Но вам просто нужно достаточно «достаточно хороших» данных для статистического анализа и сделать некоторые выводы.

Это по-прежнему полезно для продольного анализа (привычки читателей с течением времени) и качественного сравнения между разными страницами вашего сайта. (т. е. между двумя статьями из 700 слов, если у одного есть среднее время чтения в два раза больше, чем другое, тогда больше людей на самом деле читает первую статью.) Конечно, ваш сайт должен быть достаточно занят, чтобы иметь достаточное количество точек данных для статистически обоснованный анализ после того, как вы выбросите все «плохие» данные о выбросах.

Да, вы можете использовать Javascript для отправки keep-alives для улучшения данных. Вы можете просто провести опрос через определенные промежутки времени после document.onload или установить события mouseover на разделах ваших страниц.

Другой метод - использовать Javascript для добавления события onclick для каждого <a href>, который попадает на ваш сервер. Вы не только знаете, когда кто-то нажимает на ссылку, чтобы снять их с вашего сайта, на самом деле сложный анализ «горячих точек» смотрит на то, что если кто-то щелкнул ссылку на 6 абзацев на странице, то они, должно быть, до этого дошли.