別記事で書いたように長年放置されていたMediawikiがスパムの温床になっていた。「このまま消してしまおうか」とも思ったのだが癪にさわるので逆に広告をつけてやろうと考えた。一応失敗も踏まえて試行錯誤した結果を書いておこうと思う。
まず絶対にやって置くべきこと
ドヤ顔で「絶対やったほうがいいですよ」と書くわけだがこれはどちらかというと自分の失敗を踏まえてのものだ。かなりトラフィックが食われるので下手したらこれでサーバーのリソースが食われかねない。
- まず、新規のユーザー登録ができないように設定を変えておく。
- 次に、ユーザー登録しない人がページを作れないように設定を変える。
- さらにGoogle Analytics Extensionを導入して新規ページに誰かがアクセスしてきたらわかるようにする。ユーザー登録しているログインユーザーは記録から外されてしまうのだが登録していない第三者がページを踏んだ時にわかるので、仮に何らかの手段で破られても対策ができる。
ここまで済んだらようやくAdSenseコードを貼ることができる。
いろいろ検索して見たのだがやり方はいくつあるようだ。
- スキンを改良してコードを貼り付ける。このやり方を試そうとしたがスキンは単純なPHPではないのでどこを見ていいかわからなかった。おそらくこのやり方であれば自動広告が使えるはずである。
- 一応AdSenseのプラグインもあるにはあるのだがうまく使えなかった。テンプレートのどこに広告を置いていいのかがわからなかった。
- 告知ができるエクステンションがありHTMLコードをスキンのヘッダーに追加できる。javascriptも安心して追加できるのだという。エクステンションの名前はhtmletsという。今回はこれを使った。形式としてはなんでも使えるはずだが「サイトを自動的に分析して広告の置き場所を決める」コードは使えなかった。だがレスポンシブ広告やインラインブロック広告などは使えるようだ。あくまでも本来の目的は告知なのでページトップに広告がつく。だが設置方法はこちらの方が簡単だった。
htmletsのやり方は次の通りだ。
- htmletsエクステンションをダウンロードして設置する。
- htmletsが参照するhtml置き場のディレクトリを設置する。
新しく作ったディレクトリの中にhtmlファイルを置く。内容はJavascriptが入っているだけのものになる。
これで無事に広告の表示ができるようになった。