ホームページ  >  記事  >  データベース  >  Google Analytics を使用せずにサイトへのユニーク訪問者をカウントするにはどうすればよいですか?

Google Analytics を使用せずにサイトへのユニーク訪問者をカウントするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 14:48:02350ブラウズ

How can I count unique visitors to my site without using Google Analytics?

サイトへのユニーク訪問者をカウントするにはどうすればよいですか?

ホームページで最も閲覧されている投稿を紹介するために、ユーザー投稿の訪問者カウント システムを実装したいと考えています。すでにシステムを導入している場合は、すべてのページが更新されるたびにビューとして記録されます。 Google Analytics は使用できないため、ユニーク訪問者のみがカウントされるようにするソリューションが必要です。

ソリューション

目標を達成するには、次の手順を実装できます:

  1. ページの読み込み時に、訪問者が新規かどうかを確認します: これは、一意の識別子を確認することで実現できます。訪問者と関連付けられます。この識別子は Cookie またはセッションに保存される可能性があります。
  2. 訪問者が再訪問者の場合は無視します: 識別子がデータベース内の既存のレコードと一致する場合、この訪問者は無視します。
  3. 新規訪問者の場合、データベースのビュー数を増やします: 訪問者が新規の場合は、データベースを更新してビューを増やします特定の投稿をカウントします。

MySQL を使用してこのソリューションを PHP で実装する方法の例:

<?php

// Establish a connection to your MySQL database
$conn = new mysqli("localhost", "username", "password", "database_name");

// Get the current timestamp
$timestamp = time();

// Check if the visitor has a unique identifier in a cookie
$cookie_name = "visitor_id";
if (isset($_COOKIE[$cookie_name])) {
    // Visitor has a unique identifier
    $visitor_id = $_COOKIE[$cookie_name];
} else {
    // Visitor does not have a unique identifier, create one and store it in a cookie
    $visitor_id = uniqid();
    setcookie($cookie_name, $visitor_id, time() + (60 * 60 * 24 * 30)); // Expires in 30 days
}

// Check if the visitor already exists in your database
$sql = "SELECT id FROM visitors WHERE visitor_id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $visitor_id);
$stmt->execute();
$result = $stmt->get_result();

// If the visitor already exists, do not count them again
if ($result->num_rows > 0) {
    // Visitor is already in the database, ignore them
} else {
    // Visitor is new, insert them into the database and increment the view count
    $sql = "INSERT INTO visitors (visitor_id, first_visit) VALUES (?, ?)";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("ss", $visitor_id, $timestamp);
    $stmt->execute();

    // Increment the view count for the specific post
    $post_id = 1; // Replace this with the actual post ID
    $sql = "UPDATE posts SET views = views + 1 WHERE id = ?";
    $stmt = $conn->prepare($sql);
    $stmt->bind_param("i", $post_id);
    $stmt->execute();
}

// Close the database connection
$conn->close();

?>

このメソッドを実装すると、ユニーク訪問者を正確にカウントできます。投稿の人気を追跡します。 $post_id 変数を、ビューを追跡する投稿の実際の ID に置き換えることを忘れないでください。

以上がGoogle Analytics を使用せずにサイトへのユニーク訪問者をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。