web一覧

広告掲載に目覚めつつあります

 もう60歳ですからね。体を使わずいくらかでも入る方法があればありがたいわけで。まだ頭が働くウチにこういうものに取りかかっておくのもいいかなと、少し調べ始めてみました。

 インターネットを使い始めてもう10年以上経つのかしら。ホームページやブログに広告貼り付けて小銭を稼ぐなんて、なんかはしたない気もして手を出さずにいました。ちときっかけがあって Google Adsense なるクリック型広告をつけてみて、これはもしかしていいかもと思ったのですが、なんだかわからないうちに登録の取消をされてしまいました。

 初めてのクリック広告だったので無知だったことも原因してます。一ヶ月半もたって突然非承認と言われました。規約を見直すと、どうも私のブログ管理法がいけないみたいです。アドセンスの非承認の多くは「不正クリック」みたいですけど、うちのは原因が違うみたい。彼らはクリック「率」を単純にデータとして見ている部分があるようで、アクセス数(ユニークアクセス数)に比較して広告表示回数が一定基準より多いと「水増し」と見てNGなようです。つまり広告の表示回数を増やすことで分母を大きくし、不正クリックを目立たなくする手法と決めつけられるようです。

 私はこのブログを「ブログを維持することも趣味のウチ」でやってます。一々報告はしてませんが、コマゴマと中身をいじってます。メニューの順番とか。一ページに出す記事の数とか。とにかくいろいろ。仕事で内業してるときは暇を見つけては(見つけてというより、いま仕事が少なくてヒマなんですよ(^_^;))中身をいじってます。当然ですが、いじったあとは表示させて確認します。しかもブラウザ四種(FireFox, IE8, Chrome, Opera)で複数回確認します。さらに、検索サイトから入ってきた人のキーワード見て、「何書いたんだっけな、なんでそんなキーワードでその記事を見に来るんだ?」と気になって自分の記事を読み直したり。で、誤字を見つけたりすると直したりしますし、また表示の確認をする。新記事投稿以外放っておくのが普通だとすれば、数だけは大きく違ってきます。

 この件で Google に文句を言うつもりは全然ありません。私のブログ維持方法と相性が悪かったというだけですから。そして、それを変えるわけにもいきませんのでウチにはグーグルアドセンスは無理ってことです。でもね、不正アクセスなんかもそうですけど、そういうのを指摘できるなら、そういうのをカウントしないようにすればいいだけなんじゃないかな、とは思いますけどね。まあ、良い勉強になりました。

 ということで、Google Adsense をやってみた結果、ほぉこういうのも世の中にはあるんだな、と見直すきっかけになりました。

 ということで、現在は Yahoo の広告をつけてあります。Google ほど興味を惹く広告が出ない感じですけど、始めなきゃ始まらないんだしね。さらに興味を持って見て歩いたら、ほかにもいろいろあるんですね。そのうちケバくならない程度に1~2つけてみようと思います。商品を直接紹介するようなのはあまりやりたくないな。とりあえずCMサイトってのつけてみました。そこは稼ぎがどうってわけじゃなく、動画がなかなかおもしろいです。そこの「親子チャンネル」にある紙芝居みたいのが、2~7歳向けで、こんど孫1号が来たら見せてあげようと思う程度に楽しい動画でした。


.htaccess でのアクセス制御(IE6 関連)

 かなり納得のいく設定ができました。これまで「見よう見まね」で他のサイトに載ってる方法を利用しつつ「たぶんこれはこういうこと」と少しいじったりして調整してきたわけです。ブログ開くまではコメントスパムなど気にしてませんでしたし、.htaccess といえばBasic認証くらいでしか使ったこと無かったですから。

 でも「見よう見まね」で上っ面だけマネしたんでは行き詰まるのは必至。しっかりと学習しました。

1:コメントスパムの大半は IE5~6 を使ってるのでそれらでのアクセスは拒否。
2:しかし、業者ではない IE6 ユーザーからのアクセスは受け入れる。
3:さらに、上記で拒否できないコメントスパムは個別に deny で拒否登録。

 その三点について、なんとかなった気配。久しぶりにプログラミングにはまったような感触です。

 .httaccess でアクセス制御する場合に、冒頭で「Order allow,deny」「Order deny,allow」などと書きます。これの意味をよくわかってませんでした。どう違うの?って思ってました。

 allow 指定(許可)と deny 指定(拒否)、両方にマッチしたときにどちらを優先するのかの指定のようです。「Order allow,deny」を指定すると allow(許可) 優先。「Order deny,allow」は denny(拒否)優先。そしてそれぞれデフォルトで Order allow,deny ならその設定だけで「全部を拒否」したことになり、deny,allow なら「全部を許可」となる。

 でもこの設定の次行にどこの説明でもほぼ必ず allow from all とか書いてます。全部を許可するなら order で deny,allow とすればいいのに。と思いません?

 そこがミソ。こまかくアクセス制限をかけるために allow と deny を複数行書くことになりますが、普通のプログラムで多用する条件分岐ってのができません。allow と deny 、どちらを優先するのか決めておくことでうまいこと条件分岐みたいな仕事をさせるわけです。

 ブラックリストとホワイトリストみたいな考え方ね。すべてを許可しておいて拒否する物を指定していく「ブラックリスト」で、それにマッチしても部分的に許可したい使い方の時は allow 優先のほうが条件分けしやすいんです。でも allow 優先にすると全部拒否が初期値。ってことでわざわざすべてを許可する指定を書くってわけです。

 この優先の意味が説明サイト読んでもわかりにくいです。結局、サーバーソフトの Apache.org までたどりつき、各ディレクティブの説明読んでやっと理解できました(できたつもり、なだけかも)。

 現在ウチで使ってる .htaccess 内のアクセス制御部分は以下のようなものになってます。かなり小さくまとまりました。deny from にIP羅列してたときはすごい量だったです。.htaccess は毎回必ず全行参照するそうなので、短い方がサーバに負担かからないでいいかなと思うんですけど、どうなんでしょうね。

order allow,deny
allow from all

SetEnvIfNoCase User-Agent “(MSIE [3456]\.[0-9])” Kyohi
SetEnvIfNoCase User-Agent “(MSIE [789]\.[0-9]|TweetmemeBot|Lunascape|Sleipnir)” !Kyohi
SetEnvIfNoCase User-Agent “(Commerce|Baidu|sogou|YodaoBot|zh-TW)” Kyohi

allow from .jp

Deny from env=Kyohi
deny from .serverloft.com
deny from .elaninet.com

 いまのところその設定で気持ちよく、.jp ドメインからのアクセスは UserAgent に関係なく全部許可され、.jp ドメイン以外からのアクセスは IE3~6 までと、Commerce,Baidu,sogou,YodaoBot,zh-TW のものは拒否。さらにその条件から外れる(Agent で特定できない)けどスパムを書き込んだドメインを deny で拒否(現在のところ二つ)。環境変数のところは一行にまとめられますが、一行が長くなると見通しが悪くなるのと、将来ここに記述するのが増えたときのことを考えて複数行にわけてます。

 UserAgent での拒否のウチ、クローラーである Baidu 他いくつかは robots.txt で弾くのが普通なんでしょうが、Baidu(百度)は公式サイトに載ってる数種のクローラーを全部登録しても robots.txt を読まずに一時間に一回入ってくるのがあります。気持ち悪いから全面的に拒否です。UserAgent に正直に名乗ってるところはかわいげがあるかもしれません。ウィルスバスターは名乗りません。が、逆引きホスト名設定無し、生IPのみの IE6 なので上記の設定で一緒に拒否できてます。

 いつまでも IE6 のままじゃないだろうし、Agent での指定は脆いってのも、そのうちこの設定じゃ拒否できなくなっていくのも、わかってるけど、そのときはそのときでまた楽しもうと思ってます。


IE6でも通過できるパターンの追加

 業者はまずこうなっていないだろうという部分をもう一カ所見つけましたので .htaccess に「通過できる分」として追加しました。

 詳しく書くと意味がなくなっちゃうかも知れませんので、内容は書かないでおきます。いつかそのうち業者もそれに気づくかもしれませんし、その前にIE6を使う業者がいなくなって、この分類じゃダメってことになる可能性も高いんですけどね。