ブログ人から終了通知のメールが来たので、ブログ人で開いていた写真掲載のブログを新たに作成した WordPress なブログに引越ししました。その移行手順をメモしておきます。
まず、ブログ人からの移行用データの取得ですが、次のような制限がありました。
- データのエキスポートでは、画像ファイルを取得できない
- 管理メニューにはファイルのダウンロードがない(アップロードしかない)
- FTP も利用できない
移行は、ローカルに移行テスト用のブログを WebMatrix で作成して、問題がない状態で移行できたら、新規に作成したブログに流し込む方法をとりました。流しこむ方法は、エキスポートファイルのインポートと、画像ファイルのアップロードとしています。ローカルの WordPress のバックアップを取って、それを流し込む方法もありますが、今回は採用しませんでした 😉
移行手順は次のとおりです。
- WebMatrix で移行テストなローカル環境を作成
- ブログ人から移行用データを取得
- 画像ファイルを取得
- 画像ファイルをローカルサイトのフォルダにコピー
- 移行用データ中の画像リンクの URL を変更
- テスト環境にインポート
- テスト環境での動作テスト
- 本番用の WordPress なブログを作成
- 画像ファイルをアップロード
- 移行用データ中の画像リンクの URL を変更
- 本番環境にインポート
- 本番環境での動作テスト
- ブログ人側での引っ越し通知
- テスト環境を削除(動作テスト用に取っておいても)
1. WebMatrix で移行テストなローカル環境を作成
WebMatrix を用いて移行テスト用の WordPress なローカルサイトを作成する。
作成方法は検索サイト(Google, Bing その他)で webmatrix wordpress で検索すれば参考になるサイトが見つかるかと 😉
WordPress なサイトが作成できたら、次の設定をする。
- 投稿ユーザーを作成
- 外観(ヘッダー画像その他)を設定
- パーマリンクの設定
パーマリンク(記事の固定 URL 設定)は、移行する記事の間でリンクが設定されている場合、インポート後にパーマリンクの設定を変更すると、記事間のリンクが切れてしまうので注意が必要です。
2. ブログ人から移行用データを取得
ブログ人にログインし、ブログの名前をクリック、「ブログ編集のショートカット」の「管理」の「記事の読み込み/書き出し」をクリック。「記事を書き出す」の説明を読んで、指示にしたがって操作する。
取得できるデータは、「記事」と「記事へのコメント」になります。
3. 画像ファイルを取得
サイトのフォルダ構成を再現したいので、Gnu Wget を利用して取得する。コマンドライン ツールの利用に不慣れな場合は、サイトのフォルダ構成もクローンするツール「ホームページクローン作成」が利用できます(ちょっと使ってみましたが、ユーザ インターフェイス部分のみ作りこんでいて、実際のデータ取得部分は GNU Wget を起動していました(GNU Wget はzip ファイルに同梱されていました))。
以下は、ホームページクローン作成を利用するときの説明です。
「保存したいサイトのURL」にブログのトップの URL(http://○○○.blogzine.jp/)をセット(○○○はブログの固有値)
「保存先フォルダ」に保存先のフォルダをセット
「開始する」ボタンをクリックすると保存先フォルダへのクローン作成が始まります(コンソール画面が表示され、GNU Wget が起動します)。
データ取得が終了すると、コンソールが閉じて終了メッセージのウィンドウが表示されます。
4. 画像ファイルをローカルサイトのフォルダにコピー
wp-content/uploads フォルダに Blogjin フォルダを作成する(ローカルサイトは、「ライブラリ」→「ドキュメント」→「My Web Sites」→「作成したブログ名」に保存されています)。
次の2つのフォルダをコピーする。
- ○○○.blogzine.jp/blog/images フォルダを Blogjin フォルダにコピー
- ○○○.blogzine.jp/photos フォルダを Blogjin フォルダにコピー
5. 移行用データ中の画像リンクの URL を変更
テキストエディタ(メモ帳でも可(移行用データが大きいと開けないかも))で「2.ブログ人から移行用データを取得」で取得した移行用データを開き、画像へのリンクと img タグの URL を変更する(置換機能を使う)。
「画像へのリンク」
変更前: http://○○○.blogzine.jp/.shared/image.html?
(「?」が特殊文字扱いされる場合は「\?」とするなどしてエスケープしてください)
変更後: http://localhost:xxxxx/wp-content/uploads/Blogjin
(xxxxx は WebMatirix で起動したローカルのテスト ブログのポート番号)
「img タグ」
変更前: http://○○○.blogzine.jp/blog
変更後: http://localhost:xxxxx/wp-content/uploads/Blogjin
変更後のファイルを保存する(別名で保存したほうがいいかも)。
6. テスト環境にインポート
テスト用のブログにログインする。
ツールメニューのインポートを選択する。
Movable Type and TypePad を選択する(インストール 画面が開いたらプラグインをインストールする)。
「参照」ボタンをクリックする。
「5. 移行用データ中の画像リンクの URL を変更」で保存した移行用のファイルを選択して「開く」ボタンをクリックする。
「ファイルをアップロードしてインポート」ボタンをクリックする。
元記事の著者へアサインする新ブログのユーザーを設定して、「Submit」ボタンをクリックする(各記事の作成者は、ここで設定した新ブログのユーザーになります)。
インポートが終わると、取得した「記事」と「記事へのコメント」がテスト環境のブログに取り込まれていることが確認できます。
7. テスト環境での動作テスト
文字化け、画像の表示、サイト内リンクのリンク切れなどが無いことを確認する。
問題があったら、問題が起こらないようにインポート用のファイルを修正して、全記事を削除してから、再度インポートを行なって、再度動作テストを行う。
※問題があったときの全記事の削除方法
投稿一覧を表示
タイトルのチェックボックスをチェック(すべての投稿にチェックが付く)
一括操作の「ゴミ箱へ移動」を選択
「適用」をクリック
ゴミ箱から削除
ゴミ箱をクリック
「ゴミ箱を空にする」をクリック
8. 本番用の WordPress なブログを作成
「WordPress のインストール」を参考に、ブログを作成する。
なお、Microsoft Azure Web サイトに WebMatrix から「発行(デプロイ)」する方法もあります。
ホスティング サービス側でインストール用のツールが提供されていれば、それを使ったほうが簡単です(私の場合、最近ホスティング サービス側のインストール用のツールが変わったみたいなんですが、そのツールがエラーを吐くので、DB 作成と WordPress の導入を手動で行いました )。
9. 画像ファイルをアップロード
「4. 画像ファイルをローカルサイトのフォルダにコピー」と同様のことを FTP を用いて行う。FTP が使えない場合は、ホスティング サービス側でファイルのアップロード手段が提供されていると思いますので、その手段を利用してアップロードします。
10. 移行用データ中の画像リンクの URL を変更
テキストエディタで「7. テスト環境での動作テスト」の確認を終えた移行用のファイルを開き、ローカル用の URL を本番サイトの URL に変更し、保存する。
変更前: http://localhost:xxxxx
変更後: 本番サイトの URL
11.本番環境にインポート
「テスト環境にインポート」と同様の手順で「10. 移行用データ中の画像リンクの URL を変更」で保存したファイルをインポートする。
12. 本番環境での動作テスト
文字化け、画像の表示、サイト内リンクのリンク切れなどが無いことを確認する。
13. ブログ人側での引っ越し通知
本来なら、旧サイトには転送設定を行い、旧サイトにアクセスがあったら、自動的に新サイトへ誘導して、新サイト側で新装開店記事を書いて、当該記事中にブックマークを新サイトの URL に変更するようお願いを書くところなんですが、ブログ人では転送設定を行うことができませんでした 🙁
.htaccess での転送設定は、ブログ人の UI には設定メニューがなく、設定を行った .htaccess ファイルのアップロードという手段もブログ人のコントロール パネルのファイル管理では .htaccess ファイルをアップロードすることができませんでした(不正なファイル名とされてしまう)。
html の meta 要素を用いた転送も、ブログ人では html の head 部分を弄る(正確には head 要素の子要素として meta 要素を追加する)ことができない(keywords にセットする文字と description にセットする文章だけは設定可能)ので、不可です(body 要素の子要素として書いちゃうのは、規定外(html の規格では文法違反)な使い方なので、ブラウザや検索サイトのクローラー側でどのような動作になるかわかりません)。
現状では、「ブログ人側に引っ越し通知の記事を書いて、読者にブックマーク等の変更を促すしか手はない」状態です。
14. テスト環境を削除(動作テスト用に取っておいても)
テスト環境の削除は、WebMatrix を起動し、テスト環境のサイトを開き、「ファイル」メニューから「サイトの削除」を選択します。
テスト環境を削除する場合、DB も削除する必要があります。
DB を削除するには、mysql.exe コマンドを利用するか、phpMyAdmin などの MySQL サーバー管理ツールを利用します。ここでは、mysql.exe コマンドを利用する方法を書いておきます(mysql.exe コマンドがあるフォルダへパスが通っていない場合は、コマンドをフルパスで指定するか、カレント ディレクトリを mysql.exe コマンドがあるフォルダにしておく必要があります)。
mysql -u root -p
=> MySQL を導入した際に設定した MySQL の root アカウントのパスワードを聞かれるので入力する。
データベースの一覧を表示し、削除するデータベース名を確認する
mysql> show databases;
データベースを削除する
mysql> drop database データベースの名称;
対話モードを終了する
quit
MySQL が不要な場合には MySQL をアンインストールします。
注) アンインストール前に MySQL のサービスを停止しておかないと正常に削除できません
サービスの停止は、「コントロール パネル」→「システムとセキュリティ」→「管理ツール」から「サービス」を選択してサービス一覧を表示し、「MySQL」を選択して停止させます。
ブログ人のサービス終了が迫り、画像の引っ越しをどうしようか困惑していましたが、この記事に救われ無事にブログの移設がおこなえました。ありがとうございます。
コメントありがとうございます。
記事がお役に立てたようでよかったです 🙂