概要
はてなブログからWordPressへの移行を試みました。
が、紆余曲折あって3日くらいかかりました。。
ざっくり言うと次のような経緯がありました。
- レンタルサーバー(wpX)にWordPressをインストール → OK
- はてなブログからWordPressに移行 → OK
- WordPressに移行した記事を、ローカル環境にコピー → OK
- ローカル環境で記事を修正 → OK
- ローカル環境からリモート環境に移行 → 3日苦戦
ということで、上記 5 で苦戦したとこだけ書くことにします。
1〜4はそもそも 5 の作業に影響あるのかわかりませんし、
ググったら色々出てくるので大丈夫だと思います。
方針
記事の執筆・管理が目的なので、
原因が特定できなくてもリモート環境に反映できればOK!
、、ということで許してください。
前提
リモート環境
- WordPressはwpXのレンタルサーバーにインストール
- wpXのサーバーにインストールしたWordPressは2つ目
- コンテンツは、はてなブログから移行
ローカル環境
- MAMPで構築済み
- 既存のサイトが、MAMP/htdocs/wordpress に格納されているため、今回のサイト用のWordPressは MAMP/htdocs/WordPress_B にインストールした
- FTPクライアントはインストール済み(私はFileZilla使ってます)
ローカル環境からリモート環境への移行手順
1. ローカル環境のデータベース名を、リモート環境に合わせる
早速よく原因がわからなかったとこですが、
リモート環境とローカル環境でデータベース名が違うとうまくいきませんでした。
データベースの中身を総入れ替えするだけだから影響なさそうだけど。。
ともかく、最終的には同名に合わせてうまくいきました!
リモート環境のデータベースは権限の関係で編集するのが面倒だったので、
ローカル環境のデータベース名をリモート環境に合わせます。
もちろん、もともと同名に設定されていれば作業不要です。
- MAMPからローカル環境のphpMyAdminを開く
- WordPressで使用しているDBを選択する
- 「操作」タブの「Rename database to」に、リモート環境のデータベース名を入力する
- 「確認」ボタンを押すと確認ダイアログが出るので「OK」を押す
2. ローカル環境のデータベースをエクスポートする
ここはそんなに問題なかったです。
1. ローカル環境のphpMyAdminで、WordPressで使用しているDBを選択する
2. 「エクスポート」タブを開き、以下の設定を変更して最下部「実行」を押す
【エクスポート方法】詳細
【出力】出力をファイルに保存する
【フォーマット特有のオプション】「他のデータベースシステムまたは古い MySQL サーバとの互換性」をMySQL40にする(※1)
【生成オプション】「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」もチェック
(※1)リモート環境が古いバージョンでも問題ないようにするため
3. リモート環境のデータベースにインポートする
ここもそんなに問題なかったです。
1. wpX管理パネルから、リモート環境のphpMyAdminを開く
2. WordPressで使用しているDBを選択する
3. 「インポート」タブを開き、ローカルからエスクポートしたファイル(拡張子.sql)をアップロードファイルに選ぶ
4. 最下部「実行」を押す
4. リモート環境のデータベースの情報を書き換える
「wp_options」テーブルで option_name=siteurl のデータを見るとわかりますが、
option_value のURLがローカル環境のままになっています。
そのため、このような部分だけリモート環境のURLに置換する必要があります。
手作業での置換は難しいので、Search Replace DB を利用します。
書籍やWebの記事でも取り上げられているツールです。
なので、ここでは参考ページを貼るだけにします。
リンク先の手順4でのアップロードは、FTPクライアントを使います。
さて、ここらへんで手こずりました。
(苦慮1)リモート環境のホームディレクトリにブラウザからアクセスできない
上記の参考ページでいうと、手順4のとこですね。
なんかブラウザにURL入力してEnterしても、
ポート番号が勝手に追記されてページが表示できませんでした。
ブラウザのキャッシュを削除したら解決しました。
(苦慮2)それでもアクセスできない
キャッシュの問題と混在してややこしくなっていたのですが、
そもそも置換するURLの置換文字列が間違っていました。
上記の参考ページでいうと、手順6の「dry run」で確認することをお勧めします。
「wp_options」や「wp_posts」の内容が置換されると思うので、
「view changes」のリンクから変換内容が適切か確認しましょう。
私はうまくいかなくて散々悩んだ挙句、後々ここを確認して気づきました。。
こういうミスは早めに気づけると精神的に楽です。
5. リモート環境にWebブラウザからアクセス!
wpX管理パネルからでもブラウザにURL直打ちでもいいのでアクセス!
うまくいかなかったら私にはわかりません!頑張って!
おわりに
はじめはWordPressのプラグインの「Duplicator」を使おうとしたのですが、
紆余曲折を経た上で、最後の最後でエラーが出て諦めました。
これで1日以上費やした。。
コンテンツの執筆が目的なので、データ移行に手間をかけては本末転倒です。
ツールは便利ですが、Web関係の仕組みを理解して使ったほうがいいですね。
仕組みを理解して使用できれば、エラーにもすぐ対処できると思います。