拡張できるオープン ソースの Web サーバーまたはプロキシがあると仮定すると、たとえば apache や squid としましょう。
各クライアントが Web ページに費やした時間を特定する方法はありますか?
HTTP はもちろんステートレスであるため、簡単なことではありませんが、この問題に対処する方法を誰かが考えているのではないでしょうか?
Apache や Squid では、ユーザーがページに費やした時間をほとんど検出できません。
しかし、ウェブページに砂糖を追加すると、次のことができます。
無料で機能も豊富です。
しかし、あなたはまた、あなたのサイトの統計を見るように Google を招待します... (しかし、それはあなたがあなたを購入したいかどうかを彼らが決定するのに役立つかもしれません :-))
クライアント側で何らかの JavaScript が常にサーバーにヒットし、いつ停止するかを確認しないわけではありません (ただし、もちろん、ユーザーが JavaScript を有効にしていることを前提としています)。ウィンドウが閉じられていることをJavaScriptで検出するさまざまな(醜い)方法もありますが、もちろん、これらが常にトリガーされるとは限りません。例えば。ブラウザのクラッシュ。
とにかく、なぜあなたがこれを望んでいるのか疑問に思います。ある人が Web ページを 3 秒間見た後、別のタブやウィンドウに気を取られて、そのページを 2 時間開いたままにした場合はどうなるでしょうか? 得られる答えは 2 時間ですが、(おそらく) 必要な答えは 3 秒です。
ページがリクエストされてから次のページがリクエストされるまでの時間を数えることはできますが、これは、ユーザーが次のページをリクエストするまでずっとそのページにとどまっていた場合にのみ正しくなります。それでも元のページにいる可能性があり (たとえば、タブで新しいページを開いた場合)、別のページを参照した場合にのみ機能します。
確実に知る唯一の方法は、Javascript を使用して、開いているページから約 10 秒ごとにサーバーに ping を送信することです。
私は実際に、サーバーに頻繁にpingを送信することで、ページにどれくらいの時間滞在したかを追跡するだけでなく、画面に何が表示されたかを正確に追跡するjavascript分析パッケージを見てきました. ブラウザ ウィンドウのサイズとドキュメントのスクロール位置を測定することで、各要素が画面に表示されていた時間を正確に特定できました。マウスの位置を追跡することで、マウスが何を見ているのかを推測できる可能性があります。今はリンクが見つかりませんが、ここに短編小説があります。人々が何を見ているのか、どのくらい見ているのかに本当に興味があるなら、それは可能です。追跡できる量に制限はありません。
また、サーバーにあまりpingを実行したくない場合は、メモリにバッファリングされたものを保持し、十分な量のデータを取得したとき、またはページが閉じる直前にのみサーバーに送信できます.
この種の測定基準は、PC がより強力になり、タブ付きブラウザーが普及する前の数年前、実際にはかなり一般的でしたが、正確に測定することが難しくなりました。これまでの標準的な方法は、ユーザーが通常一度に 1 ページずつロードしていると想定し、サーバー ログ データを使用してページ ビュー間の時間を判断することでした。Omniture や Urchin (現在の Google Analytics) などの標準的な分析ベンダーがこれを計算します。
通常、追跡 Cookie を設定して、時間の経過とともに特定の人/ブラウザーを識別できるようにしますが、短期的には、IP アドレス/ユーザー エージェントの組み合わせを使用するだけです。
したがって、基本的には、ログ データを処理し、ページ ビュー間の差分をその人物がページに滞在していた時間としてカウントするだけです。ユーザーが実際には読んでいなかったが、ウィンドウ/タブでページを開いたままにしておくと、カットオフ (たとえば 10 分) を超えた時間を破棄/切り捨てるなど、いくつかのルールを設定します (または分析ベンダーがこれを裏で行います)。
このデータは完璧ですか?明らかにそうではありません。しかし、統計分析を行って何らかの結論を導き出すには、十分な「十分な」データが必要です。
これは、縦断的分析 (時間の経過に伴う読者の習慣) や、サイトの異なるページ間の定性的な比較に役立ちます。(つまり、2 つの 700 語の記事の間で、一方の平均読書時間が他方の 2 倍である場合、実際にはより多くの人が最初の記事を読んでいるということになります。)すべての「悪い」外れ値データポイントを捨てた後、統計的に正しい分析。
はい、Javascript を使用してキープアライブを送信し、データを改善することができます。document.onload の後に特定の間隔でポーリングするか、ページのセクションにマウスオーバー イベントを設定することができます。
もう 1 つの手法は、Javascript を使用して<a href>
、サーバーにヒットするすべてのイベントに onclick イベントを追加することです。誰かがリンクをクリックしてあなたのサイトから離れたことがわかるだけでなく、非常に高度な「ホットスポット」分析では、誰かがページの 6 段落下のリンクをクリックした場合、その人はそこまで読んだに違いないという事実を調べます。