いろいろ訳があってURLを変えました

シェアする

image

Google AdSenseの審査申し込みのために、サイトポリシーのページも作って準備万端、いよいよ申し込みという最終段階で、サブドメインでは申請できない事がわかりました。自ドメイン以外は受付なくなった事は知っていましたが、独自ドメインに設定しているサブドメインもダメとは予想外でした。

私の独自ドメイン「www.liverest.jp(liverest.jp)」は約2年前に取得し、その後サブドメインが複数使えるサービスへグレードアップし、今回の「できるかな」ブログでは、dekirukana.liverest.jpというサブドメインで開設しました。メインのドメイン「www.liverest.jp(liverest.jp)」は空けておいて、ブログやミニサイトをサブドメインで小分けに開設、運用する方針でした。

という事で仕方なくサイト(URL)のお引越しをする事になりました。と言ってもサーバー内のディレクトリを移動するだけなんですが、Wordpressを使用している都合上、データベースを移設する必要があります。普通に運用する分にはデータベースは大変便利なのですが、こういう時はかなり厄介となります引っ越し作業に便利(と言われている)プラグインもあるのですが、今回はデータベースの構造を把握する良い機会だと思ってすべて手動で挑戦しました。

WordPressは大きく分けて2つのデータ構造に分かれています。一つ目はwordpress本体のプログラム、テーマやプラグインなどの各種ファイルと画像データです。これはFTP(ファイル転送)ソフトを使って「wp-content」というフォルダを移転元のディレクトリから移転先のフォルダへ移すだけです。「wp-content」フォルダに全てが揃ってますので非常に簡です。ただファイル数は2000本以上ありますので、一旦ローカルパソコンにダウンロードして再びアップロードするとかなりの時間を要します。

二つ目はデータベースです。これは単純コピーのようにはいきません。データーベース(MySQL)にログインし、データベースのエクスポートとインポートが必要となります。移転先には新しいwordpressと一緒にデータベースも準備するのですが、サーバーの仕様によって1データベース1サイトか1データベース複数サイトにわかれます。私が利用しているサーバーはで後者1つのデータベースの中に各種テーブルに「接頭辞」という識別子を付けて使い分ける構造になっています。

エクスポートとインポートは同一テーブル名が基本となるため、私が使っているサーバーのように、データベース接頭辞が移転元「aa」、移設先「bb」となる場合はエクスポートとインポートが使えません。と言う事で全部で18本のテーブルを全て手動で新規テーブル作成&データのコピーを実施しました。これで物理的な移動作業は完了です。次は論理的な移動作業を行います。

論理的な作業として環境に関わる部分のデータ書き換えが必要となります。例えば記事内のサイト内リンクURL等です。今回はサブドメインから通常ドメインへの変更ですから、URLの「dekirukana.liverest.jp」を「liverest.jp」に書き直さなければなりません。1データベース1サイトならデータベース内の一括書き換えは簡単なのですが、私のサーバーは1データベースに新旧サイトが混在しているので、その中で新サイト部分だけ書き換えなければなりません(接頭辞を指定して一括で書き換えるコマンドを使う方法もあります)。

これも間違いないようテーブル単位で事前に内容を確認した上で一括書き換えコマンドを発行して作業をしました。対象テーブルは数本なのでそれほど大変な作業ではありません。今回のようなサーバー移転に関するデータベース作業はいずれマニュアル化しようと思います。

これで新しいサイトが動作するようになりました。でもまだ完了ではありません。「リダイレクト」と言って、旧サイト(のURL)へアクセスした訪問者に対し、新サイト(のURL)へ誘導する必要があります。旧サイトのURLでアクセスする度に「当ブログは移転しました、新URLはこちらです」というのも不親切なので、自動的に新サイト(のURL)へ書き直す処理を入れてます。例えばブラウザから旧サイトのURLhttp://dekirukana.liverest.jp」を入れてアクセスしても新サイトのURLhttp://liverest.jp」に変わっているはずです。これがリダイレクトの仕組みです。

とりあえず移転は完了し、URLが変わっている事を意識せずに使っていただけます。ただローカルのブックマークや、はてなブックマークのご利用の場合は再度ブックマークして頂ければ幸いです。