異常なページビュー数。その犯人は!! – StatPressプラグイン[携帯対応]

リアルタイムでのアクセスログ解析用として「StatPress」プラグインを導入しています。

シンプルな構造で気に入って使っていますが、
ある日、StatPressで表示されるページビュー(PV)数が
いつもなら1日で300~400PV数が1,000PV数を超えていることに気がづきました。 =-O
statpress-01

昨日の倍以上です。
どう考えても異常なPV数です。 :-S

StatPressのリクエスト情報を調査してみると
存在しないはずのページに対し、大量のリクエストがきている事がわかりました。
statpress-03

これは何?。こんなページは存在しないはずだけど?。まさか攻撃

しばし考えて・・・。 :-/

そういえば、
ちょっと前に携帯用に表示を最適化してくれる「KtaiStyle」プラグインを導入しました。

まさかと思い、StatPressで取得したエージェントを確認してみると「ビンゴ!! :o)

モバイル用のBOTが大量にアクセスしていました。

StatPressはモバイルからのアクセスには対応していないので、
単純にBOTリクエストをPV数と処理しているのが原因のようです。

このまま放置しておくと今回のように異常なPV数になってしまうので
StatPressの設定ファイルをカスタマイズして対応できるか試してみました。

StatPressは重要な設定ファイルが5個あります。
※[statpress/def]フォルダ内

※各ファイルの機能や動作

ファイル名 機能・動作
banips.dat 設定したIPアドレスをログに保存しない
browser.dat agentに含まれるブラウザー情報を処理する
os.dat agentに含まれるOS情報を処理する
searchengines.dat referrer情報に含まれる検索情報を処理する
spider.dat agentに含まれるスパイダー(BOT)情報を処理する

各ファイルは共通で「表示名|調査文字列」の形式を書き込んでおきます。

検索エンジン(searchengines.dat)のみ
“表示名|調査文字列|検索指定文字列”で設定します。

検索指定文字列は
検索エンジンが処理する「query=」や「q=」の文字から”=”を取除いた文字を指定します。

まずはSpider(BOT)対応を行います。
調査したところ大量の”GoogleBot Mobile”が存在していたので
spider.datファイルの最後に以下を追加します。

Select Code
1
GoogleBot Mobile|googlebot-mobile|

これにより、Agent情報の文字の中に
“googlebot-mobile”が存在すればSpider(BOT)として処理され
設定した”GoogleBot Mobile”が表示されます。

すでに処理されてしまったデータはしょうがないので
<phpmyadmin>で下記のSQLを実行して書き換えました。

Select Code
1
2
3
UPDATE `wp_degi_statpress` SET
spider = 'GoogleBot Mobile'
where agent like '%googlebot-mobile%'

※[agent]に “googlebot-mobile” が存在したら [spider] を “GoogleBot Mobile” に置換
※テーブル名:wp_degi_statpressの”wp_degi_”は接頭語

確認してみると大量に”GoogleBot Mobile”が表示されました。
statpress-02

お前が犯人か!!

グラフも、1,000以上あったページビュー数からSpiderへ件数の半分近くが移動されました。
statpress-05

これで異常なPV数はなおりましたが、
今後、携帯からのアクセスがあることを考えて、
その他のファイルも設定してみました。

browser.datファイル、os.datファイルの最後に以下を追加すると

Select Code
1
data-ad-format="auto"> data-ad-format="auto">
KDDI|KDDI

Agent情報の文字の中に”KDDI”が存在すれば、
設定した”KDDI”がブラウザー情報とOS情報に表示されます。

ブラウザーとOSのイメージは[statpress/images]フォルダ内に
検索文字列と同じ名前で格納すれば表示してくれます。

上手く処理するか自分の携帯(au)からアクセスしてみました。
statpress-07

上手く処理されているようです。

検索エンジンの処理は
searchengines.datファイルの最後に以下を追加すると

Select Code
1
ezweb|ezsch-ezweb.ne.jp|query|

Referrer情報の文字の中に”ezsch-ezweb.ne.jp”が存在すれば
設定した”ezweb”がエンジンに表示されます。

最後に設定した”query”は検索エンジンのが処理する引数の文字を指定します。
auから検索した時のReferrer情報は以下のようになるので”query”になります。

http://ezsch.ezweb.ne.jp/search/?sr=0101&query=%83f%83W%94%F5%96Y

設定した文字”query=”に続く文字が検索キーワードとして表示されます。
statpress-09

ただし、
携帯の文字コードがSJIS(たぶん)なので指定された検索文字が文字化けしています。
この辺はもう少し調整が必要ですかね。

自分が持っている携帯のキャリア[au]を重点的に設定してみました。
同じようにDoCoMoやSoftBankを調査しようと思いましたが面倒くさいので、

ログに見なれない情報が表示されてから調査しようと思います。

残りの設定ファイル banips.datには

Select Code
1
2
192.168.0.100
192.168.0.101

のようにIPアドレスを設定しておけば、
このIPアドレスからきたアクセスを
処理せずログにも残りません。

全体的にはこれで大丈夫でしょう。 (Y)

StatPressはこのように設定ファイルを調整することで、色々対応できるようになります。
今回はbrowser.datやos.datに”KDDI”とかなり大雑把な検索文字を指定しましたが、

Agentの内容を調査し”携帯機種”ごとに表示することも、もちろん可能です。

ちなみに

statpress.php内の

Select Code
1
$querylimit="LIMIT 20";

Select Code
1
$querylimit="LIMIT 500";

のように書きかえれば表示する件数を変更でき、
それなりの流れが把握できます。※値の大きさはホドホドに。

それでもいつもより100件ばかりPV数が多いなー。
もう少し調査が必要かも。

5 thoughts on “異常なページビュー数。その犯人は!! – StatPressプラグイン[携帯対応]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

数字を入力してください。(CAPTCHA) * Time limit is exhausted. Please reload CAPTCHA.