WordPress サイトの永代供養

イベント用に立ち上げた WordPress サイトとか、もう将来にわたって更新する可能性の無いサイトって一つや二つありますよね。
もう要らないからと言ってドメインを手放したりすると、中古ドメイン屋に買われ風俗サイトにリニューアルされたりするので、できればそのままにしておきたいです。
しかし WordPress のバージョンアップをせずに放置していると、これまた最悪の場合脆弱性をつかれて乗っ取られたとかってことにもなりかねません。
また、月々のサーバ代もバカにならないですよね

そんなときは、AWS の S3 でホスティングしてあげましょう。これを「サイトの永代供養」と呼ぶらしいです。
恐ろしいほどコストダウンできますよ。
月額10円~でレンタルサーバーをはじめる方法 | アマゾン ウェブ サービス(AWS)
月額10円〜 – Amazon S3でウェブサイトをホスティングする方法 – Amazon Web Services ブログ

では、WordPress サイトを S3 でホスティングさせる方法について説明します。

S3 の設定

S3 の設定方法とかは AWS エヴァンジェリストの堀内さんが、詳しく書いてくれてるので割愛します。
以下の記事を読んでくださいね。
月額10円〜 – Amazon S3でウェブサイトをホスティングする方法 – Amazon Web Services ブログ

WordPress の設定

コメント欄とかある場合は、すべて閉鎖しておくか Disqus とか Facebook コメントなどの外部コメントシステムを使うようにしてください。

検索フォームは使えません。
消すか、Google カスタムサーチ等に変更しましょう。

S3 は静的ファイルのホスティングしかできないので Contact Form 7 などのコンタクトフォームは外してください。
代わりにメールアドレスとか書いておけば良いんじゃないかな?

Popular Posts プラグインとかの動的にデータを保存するプラグインを動作させている場合は停止しましょう。

Ktai Style や WP Touch 等のユーザーエージェントによって表示を変える仕組みを取り入れていると S3 ホスティングはできません。
諦めるか、すべて PC 表示で我慢しましょう。

S3 では日本語URLが使えません。
各記事、カテゴリ、タグのスラッグを見直して、日本語URLを排除してください。
大曲さんが書いてくれた以下の記事が役に立つかもしれません。
WordPress の投稿スラッグを自動的に生成する | Simple Colors

RSS フィードは提供しないということで割り切りましょう、どうせ今後変更されないんですしね。
head に RSS フィードへのリンク用のメタダグを表示しないようにするには、テーマの functions.php に以下のコードを追加します。


<link rel="pingback" href="http://ecample.com/xmlrpc.php"> をテーマで表示している時は、これも非表示にしてやってください。

WordPress サイトから html ファイルを取得する

wget コマンドを使います。
Linux, FreeBSD を使ってる人は wget コマンドは、普通使えますよね?
Mac を使ってる人は Homebrew とか Macports でインストールしましょう。
Windows を使ってる人は cygwin 入れるとか、Linux インストールするとかすれば良いでしょう。
インストール方法は、おググりください。

以下のようにすることで、リンクを再帰的に調べてすべてダウンロードできます。

$ wget -r --follow-tags=a,link,script,img http://example.com/

css、js や画像ファイルを取得しきれないかもしれません。
以下のフォルダにあるファイルは、とりあえずすべて WordPress サイトから取ってきておいた方が良いでしょう。

  • wp-admin/css/
  • wp-admin/images/
  • wp-admin/js/
  • wp-content/plugins/
  • wp-content/themes/
  • wp-content/uploads/
  • wp-includes/css/
  • wp-includes/js/

*.php も含めてすべて取ってきておいてかまいません。
これから紹介する S3 に転送するスクリプトで不必要なファイルは転送しないようにしています。

取得した html ファイルを修正して相対URLに変換する

*.html ファイルを、相対 URL に変換するためのスクリプトを作成しました。
php 5.3 以上の環境で使ってください。
https://gist.github.com/wokamoto/4721440

2行目、3行目を適宜修正してくださいね。

ファイルを全部 S3 にアップロードする

こちらもスクリプトを用意してあります。php 5.3 以上の環境で使ってください。
https://gist.github.com/wokamoto/4720784

10 – 14 行目を適宜修正してください。
このスクリプトは AWS SDK for PHP 2 が必要なので、AWS からダウンロードしておいてください。
AWS SDK for PHP 2

この方法で WordCamp Kobe 2011 のサイトを S3 ホスティングに変更しました。
http://kobe2011.wordcamp.jp.s3-website-ap-northeast-1.amazonaws.com/

よい、永代供養を!

コメントを残す

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