サーバー上で特定の Web ページが何回アクセスされたかを判断する方法があるかどうか疑問に思っていました。ウェブサイトはWordpressで作成されているため、可能であればcPanel経由でこれを行いたいのですが、問題のページはゼロから作成し、別のディレクトリにアップロードしただけです。だから、私はプラグインに頼ることができず (そうですか?)、Web サーバーと通信してその情報を保存するのに十分な PHP や JavaScript を知りません...
2 に答える
サーバーはすでにそれを行っており、ログファイルと呼ばれています。特定のページに対して grep し、ログ エントリの数をカウントすると、そのページを表示した訪問者の数がわかります。ただし、これは非効率的であり、「CPanel では機能しません」。
次に、誰かがそのページにアクセスするたびにデータベースにエントリを挿入する簡単なスクリプトを作成できます。次に、CPanel に追加したカスタム PHP によって、回答を照会できます。これはより効率的ですが、車輪の再発明になります。
しかし、本当の答えは、分析ソフトウェアを入手することです。これを行うことができる製品がいくつかあります。
Google アナリティクス- これは、さまざまな種類のユーザー情報を収集し、強力なレポートを生成し、オンラインで無料で利用できる Google 製品です。そのデータが Google に渡されるという欠点があります。そのため、プライバシー ポリシーがある場合は、Google Analytics の追跡について具体的に説明する必要があります。
Piwik - これは、クラウドでホストすることも、自分でホストすることもできます. これは無料のオープンソース ソフトウェアで、Google アナリティクスのほとんどの機能を備えています。あなたは自分のデータを所有し、そのデータは自分のサーバーに存在します。ページに埋め込むことができるウィジェットがあるため、いくつかの作業で CPanel に統合できます。レポートは Google アナリティクスほど洗練されたものではありませんが、トレードオフの価値があるかもしれません.
PHP で関数を使用する場合include
、統計 PHP ファイルを作成し、それをすべてのページに含めることができます。
最も簡単な方法は、単純にログ ファイルを作成することです。
を使用file_put_contents
すると、ログ ファイルにデータを簡単に追加でき、選択した FTP を介してダウンロードまたはアクセスできます。(コントロールパネルのように)
<?php
session_start();
if(!isset($_SESSION['mySiteWasAccessed'])) {
$_SESSION['mySiteWasAccessed'] = true;
file_put_contents("my_log_file.txt", "My page was accessed", FILE_APPEND | LOCK_EX);
}
?>
上記のコードは、一意のユーザーがスクリプトに初めてアクセスしたときに、新しい行を .TXT ファイルに書き込みます。
あとは、この情報を含む .PHP ファイルをサイトの各ページに含めるだけです。
ドキュメント、ポインター、例、および一般的なヘルプについては、次のリンクを参照してください。
http://php.net/manual/en/function.file-put-contents.php
http://php.net/manual/en/function.include.php
高度になりたい場合は、メール機能の通知方法を確認できます。