インストール

とりあえず、LAMPサーバの立ち上げるようなお話は・・・詳しくするとWordPressメモよりよほど厄介なので、リンクだけ張っておく。


  1. LAMP一式のインストールと設定
  2. iptablesと.htaccessによるアクセス制限 (注意:WordPressサイトでブロックすると支障のあるIP
  3. WordPress日本語版のダウンロードインストール
  4. 書き始める前にデフォルトから変更すべき設定

iptables

もし使う必要がある場合は、別途ググるかLinuxの勉強した方が良い。このサイトでは一応使ってはいるが、不必要なポートを閉じて一部IPをブロックしてるだけ。

.htaccess

とりあえずApacheのオンラインドキュメントを読むか、本でも一冊買った方が良い。

禁止・許可しているのは、User-Agentの名前的にダウンロード専用クライアントとか、Referer的に他サイトからで画像直接リンクして利用するのとか。それでいて、Googleリーダーなどの特定サイト向けには許可する感じ。

robots.txt

WordPressでプラグインを多数動作させていくと、俺の把握しきれないような変なリンクもたくさん出てくるので、トップと投稿とページ、あとはRSSくらいしかクロールが来ないようにしている。

まぁ、このサイトのrobots.txtを見れば、俺がどういう設定してるかわかるだろうが以下のようなもの。カテゴリーや過去ページなど、自動的に生成されるページについてはクロールさせないようにしている。WordPress 3.3以降でサポートされたcanonical指定は投稿やページにはつくから、/?p=ID&なんちゃらというリンクが多発しても一意のページのみがインデックスされて安心だが、pagenaviによる過去ページやカテゴリー、タグや過去インデックスなどにはつかないので再現なくクロール&インデックスされてしまうからだ。

Google_robots_txt_adjustment

User-agent: Googlebot
Disallow: /wordpress/?cat=*
Disallow: /wordpress/?paged=*
Disallow: /wordpress/?author=*
Disallow: /wordpress/?tag=*
Disallow: /wordpress/?m=*
Disallow: /wordpress/?attachment_id=*
Disallow: /wordpress/?amp*
Disallow: /wordpress/?pcview=*
Disallow: /wordpress/?menu=*
Disallow: /wordpress/?category_name=*
Disallow: /wordpress/?img=*
Disallow: /wordpress/?xd_receiver=*
Disallow: /wordpress/?__&paged=*
Disallow: /wordpress/?feed=rss2&p=*
Disallow: /*paged=
Disallow: /*img=link
Disallow: /*amp;
Disallow: /*.gif$

そうすると、似たような内容のページが沢山Google見えで出てきてしまい、最近の検索アルゴリズムでは低品質なサイトとみなされるようなので、上記のようにブロックしている。また、必要なページだけをクロールさせることで、上の画像の赤丸部分のように、クロールされるページを激減させることができるので、サーバ負荷軽減につながる。

対策後は、ウェブマスターツールのインデックスステータス(詳細)の下図グラフの赤枠の通り、余計なゴミページのクロールがブロック済みとなっていき、インデックスするかどうか評価待ちの「未選択」の減少と、青線のインデックスされるページも意味あるページだけに絞れている。

Google_Web_Master_Tool_Index_Status

あとは、ktai-styleなどでGIF画像が生成されないでGoogleウェブマスターツールなどでリンク切れによるクロールエラーが多発していたので、GIF拡張子の画像もクロールさせないようにした。今では、ガラケー対応をやめてktai-style自体を停止させた。

php.ini

WordPressのフリーテーマやプラグインに外部phpを読み込むよう意図的に脆弱性を仕込んで配布した上で、それを適用したサイトを攻撃する輩がいるので、RFI攻撃できないように外部phpを読み込まない設定にしておくこと。

LAMPのapache設定調整

image

アクセス数やサーバのメモリ量により設定を変更する必要がある。「LAMPのapache設定調整」で、調整した内容と理由を記載した。

現状、左図のMRTGグラフに見られるように、さくらのVPS2Gプランで、メモリも帯域もCPUも十分って感じ。特にapacheの待機プロセスも、上記で以前投稿したほど多くとる必要性などなかったと、今では思う。

本当に同時接続数などで困ってくるようになったら、同時接続数を制限するmoduleがあるので、それを導入したほうがいいようだ。ただ、現状は特に問題のでるようなトラフィックでもないので制限していない。

MRTG

別に必須ってわけじゃないけど、温度とか負荷とかを継続的に記録すると、異変に気が付きやすいし、上記のような設定を考えるときの参考になる。

書き始める前にデフォルトから変更すべき設定

とりあえず、あとあとプラグインとの整合性のために、運営前にパーマリンクの形式だけは?p=番号などからディレクトリがあるかのように見える/page/2/などの形式に変更したほうがいい。(俺はできなかったけど。^^;)

wp-login.phpなど外部IPからアクセスされたくないものは、.htaccessなどによるアクセス制御にプラスして、先頭に以下のような記述を挿入してLAN内からしか利用できないようにする。

但しPaaSやレンタルサーバなど、Webサーバとクライアントの間にゲートが入る構成の場合には上記では正しいIPが拾えないので、$_SERVER[‘REMOTE_ADDR’]ではなく以下のようにする必要がある。(例としては、以前書いたNifty Cloud C4SA

あとログイン名はadminから変えた方が良い。

(永遠に、工事中。気が向いたら加筆修正するw)


    コメントを残す

    メールアドレスが公開されることはありません。