WordPressでサイトを運営し始める時、基本的には、
- ドメイン・レンタルサーバー契約
- レンタルサーバーの管理画面内で初期設定
- レンタルサーバーの管理画面内でWordPress自動インストール
- WordPressの管理画面にログイン
- プラグインのインストール・設定
- 記事作成、公開
という流れで進めますが、今後のことも考えて、ローカル環境(オフラインのテスト環境)でWordPressサイトを構築してからWEBに公開する方も多いと思います。
ただ、本番環境をローカル環境に復元する作業と違い、ローカル環境から本番環境へ移行する作業は複雑です。
そこで今回は、特殊なツールなどを使わずに、ローカル環境のWordPressサイトを本番環境に簡単に移行する方法をご紹介します。
【関連】 ランサーズで移行代行 もやっています。お時間がない方や不安な方はぜひ。
レンタルサーバーでMySQLデータベースを作成
エックスサーバーでの操作画面ですが、他のレンタルサーバーでも基本的な操作は同じです!
まずは、レンタルサーバー管理画面内の「MySQL設定」をクリック。
任意のデータベース名を入力して追加。(赤枠の文字列は後で使います)
MySQLユーザーIDとパスワードを入力してユーザーを追加。(赤枠の文字列は後で使います)
MySQL一覧で、「新規で作成したデータベース」に「新規で作成したユーザー」を追加。
ローカル環境のデータベースをエクスポート
次は、ローカル環境のWordPressサイトを構築しているphpMyAdminにログイン。
「エクスポート」タブを選択し、Export methodの項目で「詳細」を選択。
出力の項目で、「出力をファイルに保存する」を選択。(任意でzip形式で圧縮)
画面最下部の「実行」をクリックして、ファイルがダウンロードできればOKです。
データベースの修正
先ほどエクスポートされたファイルを修正するために、「コードエディタ」か「テキスト一括置き換えツール」を用意。修正箇所は「2箇所」です。
自分のドメインに置き換え
「localhost/データベース名」を「自分のドメイン」にすべて置き換えます。
例:「wordpress」というデータベース名で、自分のドメインが「lalala.com」の場合
- 置き換え前の文字列:localhost/wordpress
- 置き換え後の文字列:lalala.com
レンタルサーバーに作成したデータベース名に置き換え
「ローカル環境のデータベース名」を「レンタルサーバーに作成したデータベース名」にすべて置き換えます。
例:ローカル環境のデータベース名が「wordpress」で、レンタルサーバーのデータベース名が「lalala_1」の場合
- 置き換え前の文字列:wordpress
- 置き換え後の文字列:lalala_1
レンタルサーバーのデータベースにローカル環境のデータベースをインポート
エクスポートされたファイルを修正したら、レンタルサーバーのphpMyAdminにログイン。(ログインIDとパスワードは冒頭で作成したものです)
冒頭で作成したデータベースをクリック。画面左にあります。
「インポート」タブで、アップデートファイルに、先ほど修正したデータベース(ローカル環境からエクスポートしたファイル)を選択。
画面最下部の「実行」をクリック。
「インポートは正常に終了しました。」というメッセージが表示されればOKです。
wp-config.phpの修正
データベースのインポート後、オフライン環境にあるWordPressの「wp-config.php」を修正します。場所は、データベースの直下です。
修正箇所は4つ。
- データベース名
- ユーザー名(MySQL)
- パスワード(MySQL)
- ホスト名
ホスト名以外は、レンタルサーバーにデータベースを作成した時の文字列です。(冒頭の赤枠の部分)WordPress管理画面のログインIDとパスワードではありません。
MySQLのホスト名の調べ方
ホスト名は、レンタルサーバー管理画面の「MySQL一覧」に表示されています。
.htaccessの修正
wp-config.phpと違い、デフォルトでは表示されていないんですが、「.htaccess」という不可視ファイルも修正する必要があります。(wp-config.phpと同じフォルダ)
その.htaccessをコードエディターで開き、
- RewriteBase
- RewriteRule
の「データベース名/」を削除。
このようになればOKです。
不可視ファイルの表示方法
不可視ファイルは、OSによって表示方法が違います。
Windows
- フォルダを開いて「表示」タブを選択
- 「ファイル名拡張子」にチェック
- 「隠しファイル」にチェック
で表示されます。
Mac
ターミナル(Macの標準アプリ。検索すれば見つかります)に下記のコマンドを打ち込めば表示されます。
defaults write com.apple.finder AppleShowAllFiles TRUE ; killall Finder
反対に、非表示にする場合は、下記のコマンドを打ち込みます。
defaults write com.apple.finder AppleShowAllFiles FALSE ; killall Finder
ローカル環境のWordPressファイル一式をアップロード
2つのファイルを修正したら、「FTPソフト」か「レンタルサーバーのファイルマネージャー」で、自分のドメインの直下の「public_html」を開きます。
index.htmlを削除し、ローカル環境のWordPressファイル一式(.htaccess含む)をすべてアップロード。これで本番環境への移行は完了です。
index.htmlを削除しないとどうなるの?
WordPressのトップページを表示するファイルは「index.php」なんですが、読み込みの優先順位は「index.html」より下です。
つまり、index.htmlがあると、そちらを優先して読み込んでしまうので、このように、レンタルサーバーのindex.htmlが表示されてしまいます。
本番環境に移行できたか確認する時、管理画面や個別ページではなく、トップページを表示すると思うので、意外と気づかないポイントです。
本番環境移行後の対応
ローカル環境から本番環境へ移行した後、場合によっては下記の作業が必要です。
- ローカル環境の時のURLが残っていたら、プラグイン「Search Regex」でリンクを一括変換
- サイトをSSL化している場合は、管理画面の設定でhttps://〜に修正
- パーマリンクの設定を何も変えずに保存(404エラーの場合)
- WordPressのフォルダを変更(500エラーの場合)
- キャッシュ削除(キャッシュ系プラグインを停止)
正常にサイトが表示されなかったり、何かしらのエラーが表示される場合は、こういった対応をしてみてください。
原因・対処法などは、 同カテゴリーの他の記事 でも詳しく紹介しているので、よくわからない方はチェックしていただければと思います。
また、手順通りに進めたのに移行できない場合や、より具体的な解決策を知りたい場合は[teratail]というプログラミング専門の無料質問サイトを活用してみてください。
僕も使ってますが、すぐに回答がもらえて便利です。
まとめ
- ローカル環境と同じように本番環境を1から構築(プラグインなども新しくインストールして設定)
- 記事だけエクスポート&インポート
など、ローカル環境をそっくりそのまま本番環境へ移行していない方も多いと思いますが、今回ご紹介したように簡単に移行できます。
ブログなどの場合は、公開してからコンテンツを増やしていく…ということができますが、企業のWEBサイトなどの場合、公開された時にほぼ完成していなければいけないので、こういった方法を知っていると便利かもしれません:D
以上、ご参考までに!(`・ω・´)ゞ
No comments yet