アクセスログ解析ツールを作る PHP覚書記事一覧

サイトが増えてくると、アクセス解析が大変になる。サイトを量産すると、全くアクセスがないサイトもたくさんあるし、個別ページごとにアクセス解析するのも難しくなる。10くらいのサイトなら、1サイトあたり30ページだとしても300ページだから、個別ページに別のアクセス解析タグを仕込むことも可能だろう。しかしレンタルサーバーを借りて、WebAPIを使って、phpスクリプトを書いて、思いつくまま物販アフィリサ...

アクセス解析の問題点として、「広告が邪魔」という問題もある。普通のホームページはパソコンで見ることを前提としているので、パソコンで見る場合は、広告付のアクセス解析でも、さほど目立たない。ところが同じサイトをスマホで見ると、画面の8分の1くらいはアクセス解析の広告で占められる。さらにスマホの画面だと、アクセス解析の広告が上から降りてきて、単なるリンクすらクリックできなくなってたりするから厄介だ。こう...

アクセス解析が面倒くさい。何十も何百もサイトを作ってしまうと、アクセス解析タグを貼るのも面倒だが、貼らないとアクセスが来ているのかどうかが分からない。しかし最近は、グーグルが検索キーワードを出さない仕様にしたため、普通のアクセス解析では、検索ワードも分からなくなった。さらにスマホでアクセスすると、アクセス解析タグの広告がドーンと出てきたりして、邪魔で仕方が無い。タダでアクセス解析を使わせてもらうわ...

何十も何百もあるサイトの、どのサイトのどのページにアクセスが来ているのか。サイト量産型のアフィリエイターとしては、これは重要なポイントだ。かつては、サイトごとに解析タグを貼っていても、検索キーワードを調べれば、どのページにアクセスが来ているのか突き止めることができた。ところが検索キーワードが拾えなくなってからは、サイトにアクセスが来ていても、どのページにアクセスが来ているのかが分からなくなった。こ...

アクセスログ解析ツールとは、アクセスログを解析するツールのことだ。レンタルサーバーを使っていると、アクセスログ(生ログ)を保存しておくことができるので、それを使ってアクセス解析することができるのだ。ただ、アクセルログ解析ツールにも色々あるが、フリーで使えるツールは少ない。またフリーで使えても、帯に短したすきに長しで、欲しい情報を手に入れるには、一工夫も二工夫も必要になってくる。で、色々調べて見ると...

アクセスログ解析ツール「WebLog Expert Lite」は、アクセスログを読み込んで使うタイプのアクセス解析ソフトだ。ウインドウズにインストールするソフトで、フリーのWebサーバーソフトのアパッチや、ウインドウズ系のWebサーバーのIISのアクセスログから、アクセスレポートを出すことができる。自分の使っているレンタルサーバーから、自分のサイトへのアクセスログをダウンロードして、それを読み込ま...

複数サイトのアクセスログ解析のために、アクセスログの分析と加工を行う。アクセスログ解析ツールは、たいていの場合ドメイン毎のアクセスの状況しか分析できない。これはレンタルサーバーについているアクセス解析だけでなく、Googleアナリティクスでも同じだ。というのも普通の企業は、1つのサイトをじっくり作り込むもんだし、いくつもの複数ドメインにまたがって分析する必要なんてないからだ。ところがサイト量産型の...

複数のアクセスログをまとめて、複数サイトのアクセス解析をする話の続き。Webサーバーにあるアクセスログは、ドメイン毎に作られているので、これを統合しないといけない。しかし1ファイルだけでも、数MBもあったりするので、これを軽量化してから統合したい。つまり複数サイトのアクセスログの統合アクセスログの軽量化という2つの要件があるわけだ。アクセスログの軽量化は、必要が無いログを外していくだけだからそれほ...

サーバーに記録されるアクセスログを使って、複数サイトのアクセス解析をする方法のつづき。Webサーバーに記録されるアクセスログには、様々な情報が書き込まれている。そのため、アクセス解析に関係ないアクセスログは、バッサリとカットする必要がある。というのも一行一行はシンプルな記録なのだが、ページで使われる画像ファイルやcssファイルの呼び出しも、一行ずつのログとして記録されているので、全体として分量が膨...

アクセスログの軽量化の話の続き。量産型アフィリエイターになると、数百サイトくらい作ったりするため、どのページにアクセスが来ているかを調べるのは大変になる。こうした場合、それぞれのサイトにアクセス解析タグを貼って調べるが常道だろうが、数百サイトもあるわけだから、一々全部調べるのはほとんど不可能だ。ということで、サーバーに残っているアクセスログ(生ログ)をダウンロードしてきて、それを統合してアクセス解...

PHPで使るアクセスログ解析。コアサーバーの仕様では、生ログは5日分だけ保存されているので、それをまとめて、不要なログを削除したものをダウンロードしてくる。1日分だけまとめてダウンロードしてきても良いのだが、面倒くさくなってダウンロードしなくなると、後で見たくなったときに困りそうなので、5日分をまとめて1ファイルにした。他のレンタルサーバーなどでは、生ログの保存日数がもっともっと長いところもあるよ...

アクセスログを使ったアクセス解析の続き。次は、サーバーからダウンロードしてきた複数のアクセスログを統合して、アクセスランキングを作る。私の場合は、現時点でレンタルサーバーを3つ(コアサーバー×2、バリューサーバー×1)使っているので、それぞれのサーバーから軽量化したアクセルログを一つずつダウンロードして、それを一つにまとめている。軽量化したとは言え、1ファイルにつき約100サイト分くらいなので、1...

サイト量産型アフィリエイターにとって、アクセス解析は非常に面倒くさい。サイトが数十、数百もあるから、サイト毎に異なるアクセス解析タグを貼るのも面倒だ。また最近は、スマホでのアクセスが増た結果、別の問題も起こってきた。というのも無料アクセス解析タグの広告が大きくて、サイトを見るのに邪魔になってるのだ。自分の広告より、アクセス解析タグの広告の方が目立つのだから、どうしようもない。それならアクセス解析タ...

量産型アフィリエイターになってから、毎日の日課は、アクセス解析のチェックだ。ここで一番知りたいのは「昨日アクセスが多かったページ」の情報で、昨日までと変わったところがないかな?と言う風に、チェックを行う。だから、広告が出るのを避けるために、無料アクセス解析ツールのタグを外しても、アクセスランキングだけは毎日なんとかチェックしておきたい。と言うことでまず、日別のアクセスログファイルを作ることにした。...

日別のアクセスログファイルを作るの続き。複数のサーバーからアクセスログ(軽量化した生ログ)をダウンロードしてくる。それを指定のディレクトリに納めた上で、指定した日付を含むアクセスログをパターンマッチで見つけて、最後に出力用にまとめる。色んな日付のアクセスログが混ざっていても、ここでふるい分ける。ここで注意が必要なのが、日付の表示形式で、Apacheのアクセスログは、[26/Jan/2018:00:...

数十サイト、数百サイトを作っていると、どのサイトのどのページにアクセスがあるのか、中々分かりにくくなったりする。なので詳しい情報は必要無いから、昨日アクセスがあったページの一覧が見たい。そのために、ページ別のアクセス数ランキングを知りたい。ということで、サイト別に出来ているアクセスログをまとめて軽量化し、複数のサーバーからダウンロードしてきて、日別のアクセスログファイルを作るところまで進んだ。で、...

アクセスランキングを、アクセスログから自前で作る。次は、日別に作ったアクセスログから、ログを配列化する。Apacheのアクセスログの形式は、大まかに言うと、combined と、common の2通りがあって、それが混じっている。combined の方が長くて、common の方が短い。combined の後半部分がないのが common と言うことらしい。で、combined というのは、だいた...

自前でアクセスログからアクセスランキングを作る。ようやくランキングを作って表示するところまで来た。ここまでを振り返ると、サーバーにアクセスログ(生ログ)を出力させるサイト別に作られている生ログを軽量化して一つにまとめるまとめた「軽量化生ログ」をダウンロードしてきて、日別アクセスログファイルを作るパターンマッチで、ランキングを作る日別ファイルを選ぶ選んだファイルのアクセスログから必要部分を抜き出した...

PHPで作るアクセスログ解析。複数のサイト、複数のサーバーからアクセスログを集めてきて統合し、日別のアクセスログを作る。ここから日別アクセスランキングを見ることが出来るようになったのだが、サイト別のページ別アクセス数も見たい。そこで前回作ったPHPスクリプトを少し手直しして、アルファベット順でソーとして表示するスクリプトも作ってみた。感じとしては、前回のアクセスランキングのソート順を変更するだけだ...

レンタルサーバーを使っていると、いろんなトラブルが発生する。たとえば、設定しているcronジョブが、なぜか上手く行かなくなったりする。昨日まで普通に動いていたのに、ある日突然、エラーが出て動かない。WebAPIを使って自動更新されるアフィリエイトサイトをたくさん作っていると、コレは痛い。わざわざcronジョブがたくさん設定できるサーバーを借りているというのに、肝心のcronジョブが動かないんだから...