ブログサイト引っ越しの記録
以前のレンタルサーバーではMovable Typeが稼働しなくなったので、サイトを移転した。今回のサイト移転に関して、アクセスをとぎれさせないようにしようと考えて実行したので、いくつかメモしておく。
この記事のリンク用URL| ≪ 前の記事 ≫ 次の記事
| トラックバック(2) タグ:サイト構築|
(旧: )
■MTが動かない
退院直後、Movable Type(MT)の管理画面にアクセスして目を疑った。4か月あまりの間に万単位でコメントスパムがついているのである。トラックバックスパムの方は、naoyaさん作の「言及リンクなしトラックバックを弾くプラグイン」のおかげでそれほど多くはないが、それを弾いた記録の残っているログは恐ろしいことになっていそうだった。
そこでスパムを削除しようと思ったら、ほとんど作業ができないのである。片っ端から500エラー。つまり、CGIが重くて動かない。
こんな質問もしてみた。人力検索はてな - Movable Typeのデータベースについて。
更新もできないのでは困る。そこで、サイトの引っ越しを考えた。
しかし、問題となったのは、これがロリポップのレンタルサーバーで「サブドメインプラン」を使っていたことだ。つまり、kotonoha.main.jpというドメインは、引っ越すと使えなくなってしまうのである。しかし、今までkotonoha.main.jpには多数のトラックバックもあり、ページランクも高いし、検索しても引っかかるため、移転するのはもったいない。とはいえ、サーバーを変えないと、記事の更新すらままならない。
そこで、今まで使っていたkotono8.comのドメインにブログを移転することにした。旧Movable Typeに合わせて構築していた旧ブログだが、新版の機能を盛り込むことも可能にしたいと考えたことも、移転に踏み切る一助となった。
■まずkotono8.comを移転
kotono8.comのドメインも、ロリポップの「独自ドメインプラン」であった。そこで、まずkotono8.comを別サーバーに移すことにする。そこで選んだのは、あまり深く考えていないが、同社の上級サーバーであるhetemlである。容量も大きいし、動作もよさそうだ。高いけど。
このサーバー移転そのものはそれほど難しくない。とりあえずMTで生成されたページをそのまま新しいサーバーにコピーする。具体的には、一度旧サーバーからダウンロードし、次に新サーバーにアップロード。単純な話だ。
ロリポップに結びつけられていたドメインを、新たにhetemlに結びつけ直す作業そのものは、ドメインを取ったムームードメインで簡単にできる。ただし、その設定が反映されるまでに数日かかるので、ここはじっと我慢。
やがて設定変更が完了すると、見た目は今までと同じサイトがそのまま見られるようになった。
■MTを移転
さて、いよいよ今度は本体のMTの移転である。
データベースは以前、MySQLからSQLiteに変更していたので、あまり深く考えなくてもデータベースのデータごと普通にコピーすれば大丈夫である。MTは最新版をアップし、そこにデータベースと、今まで使っていたプラグイン関連のファイルをアップする。そしてMTを稼働させる。
おお! MTが動いた。こんなことで感動している場合ではないのだが。
とりあえずブログごとに「公開の設定」のパスなどを変更。これをやらないと再構築も何もできないが、この設定さえ間違わなければ、たいていはうまくいく。
ここで、URLが平行移動するように設定しておく。
kotonoha.main.jp/2006/01/01new.html→www.kotono8.com/2006/01/01new.html
というように、新しいURLもディレクトリ構造が同じになるようにしておくわけだ。そうすると後々楽である。
あと、旧ブログと新ブログを別設定で作り、デザインなどを変えてみようと思ったので、旧ブログの表紙はindex-old.htmlになるようにしておいた(ディレクトリを変えるのはそれはそれでややこしいので)。この表紙は、全記事へのカテゴリー別目次になるように設定した。
アップロードしていた画像などをきちんとコピーしておいてから、再構築すれば、移転そのものは完了である。
■新ブログの作成
旧ブログでは、MTEntryKeywordを使って、キーワードのところにファイル名を入れていた。今はそんなことをしなくてもファイル名を別に指定できるので、キーワードを別の用途で使うことができる。
また、旧ブログではMTCategoryDescriptionのところに日本語カテゴリー名を入れて日本語化していたが、今はMTCategoryLabelで日本語設定、カテゴリーファイル名は別途設定できるようになったので、ここもDescriptionを別の用途で使うことができる。
この2点の変更は大きかったので、新ブログはこの設定を生かそうと考えた。
基本は同じテンプレートなどを当てはめるが、上記の設定を変更し、デザインも変えてみる。こうしてできたのが今のブログというわけである。
■googleアボセンス
ところで、気がついた人もいるかもしれないが、このブログでは以前つけていたgoogleアドセンスを外している。
というのも、実は入院中にgoogleから「規約違反があるので一時停止します」というメールが届いていて、さらに「返事がないので契約解除します」と通告されていた。もちろん改善すれば復帰可能だというのだが、その理由がどうも解せない。というか、そういう通告の仕方が気に入らない。
「具体的にどこがどう悪いのか、どのページが悪いのか、教えてくださったら対処しますのでお願いします」とメールを送ったら、「個別のページを指摘することはしていません」との返答。これでは何をどう改善すれば規約違反でなくなるのかさえもわからない。ダメ出ししておいてダメな場所を指摘しないとは、健全な社会人の取る態度ではない。そう多くはないとはいえ、お金の絡む話でもあるのだから、それはあまりにも一方的じゃないのか、と思ったのは事実である。こんな対応をしてくる相手を「ビジネスパートナー」として採用するわけにはいかない、というのは当然の帰結だろう。
まあ、送られたメールのほのめかしを考えれば、大体悪いところの目星はつかないわけではない。「googleの検索結果をキャプチャしている」のが違反だというのだから、あの辺のページだろうと思い当たるところはある。しかし、自分が思っている以外のページが原因かもしれない。そうしたら、対処するのもばかばかしくなってくる。
それに、アドセンスからの報酬は年々下がってきていた。契約解除だからばらすが、最初のうちは月150ドルくらい行ってたのが、それよりアクセス数・クリック数もはるかに増えている今年の初めの段階で(一日総ページビュー4000以上)月に70ドルくらいのレベルになってしまっていた。一日に1ドルいかない日もあった。2か月に一回かろうじて支払いというレベル。長文ブログだからクリック率が低いというのもあるし、クリック単価の高そうな話題を扱うわけではない。
そうなると気にするだけ時間の無駄だし、精神的にも悪いし、ページ表示も微妙に遅くなるし、費用対効果も悪すぎるので、アドセンスはさっくりやめることにした。
■旧ブログから新ブログへのリンク
さて、サイトの引っ越しにもいろいろやり方がある。
- .htaccessを使って、強制的にとばしてしまう。
- metaタグのrefresh設定で、強制的にとばしてしまう。
- metaタグのrefresh設定で、「○秒後自動的に移動します」として時間差でとばす。
以上3つの方法はいずれもとらなかった。.htaccessの設定は一つ間違うとgoogleのインデックスから消えてしまう。また、ページランクが低いサイトに移転する場合、あっという間に検索結果から消えてしまう(前のサイトのランクが引き継がれるわけではないようだ)。
また、自動移転すると、来訪者がサイト移転に気づいてくれないリスクがある。そうなると、ブックマークの変更だとか、リンクの変更なども自発的にやってもらえない。だって、自動的に移動できるなら、別にブックマークは古いままでいいからだ。
とすると、とるべき方法は一つ。
- 個々のページから、同じ内容の新ページへリンクを貼っておく。新ページへの移動は一回クリックしてもらう。
さて、これがDreamWeaverやホームページビルダーで作っていると、大変なことになる。旧ブログのエントリーが500以上、その他に土佐日記が63エントリー、はじめてのウェブログが38エントリー、義経日記でも13エントリーある。総数700ページ近いページで、一つずつリンクを貼っていたら、たとえそれでカネがもらえるとしても苦行に近いし、膨大な時間がかかる。ばかばかしい。
こんなときこそ、ブログツールの威力を発揮してもらおう。
アクセスがかろうじて可能な夜明けごろの時間帯に旧ロリポップサーバーのMT管理画面に入り、個別エントリーのテンプレートの中身を変える。うちの設定だと、
このページは移転しました<br />移転先はこちら→「<a href="http://www.kotono8.com/<$MTDate format="%Y/%m/%d"$><MTEntryKeyword>.html"> <$MTEntryTitle$></a>」
と本文に記して、再構築。もちろん、余計なコメントやトラックバックはテンプレートに含めず、削除してしまう。とにかく軽くして再構築を成功させなければならない。
結局、夜明けのアクセスの少ない時間帯でなんとか成功。これで、検索エンジンのインデックスに残っている旧サイトを踏み台に、新しいサイトへ誘導することができる。
この旧サイトはもうしばらく契約し続け、踏み台サイトとして残しておくつもりである。もし、新サイトが旧サイトよりも検索で上位表示されるようになれば、旧サイトは捨ててもいいだろうと思っている。
■新しいURLでの設定
■ブックマークの処理
さて、問題ははてなブックマークやdel.icio.usなどのブックマークの扱いである。特に、はてなブックマークとMM/Memoについては、そのブックマーク状況が見られるページにリンクしていたが、旧URLでブックマークされた以前のものも、新URLでブックマークされた新しいものもどちらも見られるようにしたい。
そこで、新URLの旧ブログには、以下のタグを貼り付けることにした。
<p>旧URL★<a href="http://b.hatena.ne.jp/entry/http://kotonoha.main.jp/<$MTEntryDate format="%Y/%m/%d"$><$MTEntryKeywords$>.html"><img src="http://b.hatena.ne.jp/entry/image/http://kotonoha.main.jp/<$MTEntryDate format="%Y/%m/%d"$><$MTEntryKeywords$>.html"></a><a href="http://b.hatena.ne.jp/entry/http://kotonoha.main.jp/<$MTEntryDate format="%Y/%m/%d"$><$MTEntryKeywords$>.html" target="_blank">はてなブックマーク</a> ★<a href="http://1470.net/mm/related?url=http://kotonoha.main.jp/<$MTEntryDate format="%Y/%m/%d"$><$MTEntryKeywords$>.html" target="_blank">MM/Memo</a></p>
<p>新URL★<a href="http://b.hatena.ne.jp/entry/<$MTEntryPermalink>"><img src="http://b.hatena.ne.jp/entry/image/<$MTEntryPermalink>"></a><a href="http://b.hatena.ne.jp/entry/<$MTEntryPermalink>" target="_blank">はてなブックマーク</a> ★<a href="http://1470.net/mm/related?url=<$MTEntryPermalink>" target="_blank">MM/Memo</a></p>
新しい方はMTEntryPermalinkでいいのだが、古い方は適宜サイトに合わせて変更する必要があるだろう。
■カテゴリーの処理
新しいブログでは、旧ブログとカテゴリー分けも別にしようと思った。しかし、旧ブログのカテゴリー記事も見られた方がいい。そこで、新カテゴリーと似た旧カテゴリーへのリンクを作ることにした。
新ブログではMTCategoryDescriptionが使えるようになったので、そこに旧カテゴリーへのリンクを入れ、カテゴリーページに表示させることにした。これで新旧の連携がなんとかいける。
もちろん、新旧のカテゴリー名を同じにできれば、新旧のブログの内容をすべて連結して表示させることも可能なので(MTGlobalListingやMTOtherBlogなどのプラグインを使えばいい)、今回はわざわざ手間のかかることをやったということになる。
■静的生成でよかった
こうして、今見ていただいているこのブログへの移転が完了したわけだが、それからしばらくしてロリポップからメールが来た。
「あまりにもCGIの負荷が高いので、MTのコメントとトラックバックに関するCGIをストップしました」
引っ越しがもう少し遅れていたらえらいことになるところだったが、すでにMTは使わないはずの状況なので、まったく問題はない。それに、ロリポップ側の対応も、何が何でも利用不可というのではなく、必要なものだけを停止ということで、また対処がとれれば再開可能という話だったので、それはいい対応だったと思う。
で、なんでこんなことになったかといえば、トラックバックスパム/コメントスパムの大量襲撃が継続されていたからだ。見境のない毛唐紅毛人どもが無差別大量爆撃してくるスパムのせいで、サーバーそのものの機能を低下させる結果となっているのである。
こんな状況でも、HTMLファイルと画像だけなら、つまり「静的生成」であれば、多少重くても、ページそのものの閲覧は可能なのである。トラックバックやコメントをつけようと思ったときにエラーが出るだけなので、被害は最小限に抑えられる。
もし、これが動的生成=CGIを動かす必要があったなら、サイトそのものがまったく閲覧できない状況になっていただろう。
3年前のCSideNetでの痛い経験、つまりアクセス急増でCGIエラーが出て、いきなりアカウント停止されたときの経験を踏まえて、とにかく静的生成にしておかないといざというときに恐ろしいことになると思っていたが、はからずもそれが今回証明された形となった。
昔は、Movable Typeの魅力としてHTMLの静的生成を挙げていたけど、テンプレートの変更や、コメントやTrackBackといった、あとから生成されるデータが多いブログの場合、動的生成のほうが良いという思想に変わったので、動的生成のツールを探す。
と加野瀬さんは最近の記事で書いているが、自分としては、サーバーがよほど頑丈であのスパム絨毯爆撃に耐えられるという自信がない限り(あるいはCGIに到達する前にIPなどで弾けるのでない限り)、やはり静的生成でないと怖いと思っている。それに、スパムでないコメントとトラックバックは、ページ閲覧数に比べると数千分の一程度なので、さほど動的に動かす必要もないだろうという考えである。
■ドメインはやっぱり独自のもので
2000年以前と違って、今は独自ドメインもレンタルサーバーも安くなっている。だから、それなりのサイトを作るつもりがあるなら、サブドメインを使うプランではなく、最初から独自ドメインにしておくべきだろう。
今回もサブドメインにしていたから引っ越すのに手間取ったわけで、もし最初から独自ドメインプランにしていたら、単にサーバーを引っ越すだけの手間で済んだのだ。つまり、URLの変更がないわけである。
URL=アドレスの変更がないというのは、非常に大きなポイントである。たとえば、携帯の電話番号が変わると仕事上面倒だから、という理由で、自分はずっと携帯のキャリアを変えずにいた。今はナンバーポータビリティ制度ができて、そのとたんにキャリアを移転する人たちが押し寄せ、各キャリアのシェアにも変化が生まれようとしている。やはり、番号が変わるのはいろいろとデメリットがあるのだ。それと同じで、URL(番号)を変えずにサーバー(キャリア)を変更できるというのは、実に軽快である。
(余談ながら、ケータイのナンバーポータビリティ制度は、メールアドレスが変わってしまうのが難点である)
実は最近、豆乳組(http://www.tonyu.net/)もサーバーを変更し、エックスサーバーに移った。しかし、サーバーが移転したことに気づいた人はほとんどいないはずだ(アクセス自体も少ないけれど)。ちなみに、エックスサーバーは複数ドメインを一つのサーバーで管理できるという点で便利である。そのうち、十二楽坊サイトもこのサーバーに移す予定だ。
完全にレンタルで使い捨てと思ってサイトを運営するか、それとも自分の財産の一つとしてサイトを持つか。もちろん、レンタルブログはレンタルブログとしての使い方があるわけだが、やはり自分のメインドメインを一つ確保しておくと、後々便利だと思う。
- 【広告】★文中キーワードによる自動生成アフィリエイトリンク
この記事のリンク用URL| ≪ 前の記事 ≫ 次の記事
| トラックバック(2) タグ:サイト構築|
(旧: )