30分でWordPressを引越し・他のサーバに引越しや開発環境の構築手順
2015/12/27
WordPressを速いサーバへ引越しをする
WordPressが速く動くサーバを求め実験
ロリポップのサーバは Googleの Page Speed Insightsでは、サーバのレスポンススピードが遅いと言われてしまいました。
「サーバーの応答時間を短縮する」
「お使いのサーバーは 1.8 秒で応答しました。」
そんなわけで、サーバ自体を変えることを想定して、8個のレンタルサーバを対象にこのエス技研ブログをコピーして実際にどれくらいのスピードになるかを実験してみました。
その結果は「実測比較・レンタルサーバスピード選手権!WordPressが速いのは?」に記載しています。
結論から書くと、ヘテムル、X10、さくらプレミアムあたりがよさそうです。
ただ、月額費用を考えると、ロリポップも悪い選択じゃないということも確認できましたね。
実験を行うために行ったWordPressの引っ越し作業手順
で、この記事では、その実験を行うために必要となった WordPressを他のサーバにコピーをして動かすための手順を解説します。
この仕組みを理解できれば、他のサーバに WordPressを本格的に引越しする方法も理解できます。
WordPressを他の環境に持っていくのは結構簡単ですよ。
【手順】
1.現行サーバにあるファイル一式を取得
2.ファイルの情報を修正
3.新しいサーバにファイルをアップロード
4.データベースをインポート
5.データベースの値を変更
1.現行サーバにあるファイル一式を取得
まず、サーバにある WordPressのファイルをダウンロードします。
WordPressのファイル一式を取得するには、BackWPupでバックアップファイルを作成する方法がおススメです。
BackWPupでのバックアップ方法については、「BackWPupでバックアップ・全体バックアップ具体的設定例」に記事を書いていますので参考にしてください。
BackWPupを使わずに、普通に FTPで全ファイルをダウンロードしてきても何の問題もないのですが、BackWPupを使うとデータベースも含めて必要な全ファイルを取得し、zipで圧縮してくれますのでダウンロードしてくる時間が短縮できて便利ですね。
また、BackWPupを使わずにバックアップする場合は、データベースのバックアップも行います。
phpMyAdminで全てのテーブルを選択してエクスポートします。
2.ファイルの情報を修正
取得したファイルの中で修正が必要なファイルを修正します。
BackWPupでファイルを取得した場合は、zipファイルを解凍してから修正をします。
修正が必要なファイルは「/.htaccess」「/wp-config.php」で、いずれも WordPressが入れてあるルートフォルダにあるファイルです。
まず、「/.htaccess」を修正します。
1 2 3 4 5 6 7 8 9 10 |
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress |
WordPressでは URLを任意に処理できるよう .htaccessには上記のような記述があります。
これの 8行目を修正します。
修正前
RewriteRule . /index.php [L]
修正後
RewriteRule . /blog/index.php [L]
上記の例は、修正前は「http://wordpress.s-giken.net/」の様にドキュメントルートに置いてあった WordPressを「http://s-giken.xsrv.jp/blog/」のようにサブフォルダの中に入れて確認することを想定しています。
移動先もドキュメントルートならばここの修正は必要ありません。
続けて、「/wp-config.php」を修正します。
私の場合は 22行目~ 33行目でしたが、WordPressのバージョンによっては多少違うかもしれません。
データベースの接続情報が記述してある箇所ですので、新しく設定するサーバの情報に基づいてそれぞれ変更を行います。
ちなみに、バリューサーバの様に MySQLのホスト名が「localhost」の場合もあります。
1 2 3 4 5 6 7 8 9 10 11 12 |
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('DB_NAME', 'wordpress_db'); /** MySQL データベースのユーザー名 */ define('DB_USER', 's-giken_user'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'password'); /** MySQL のホスト名 */ define('DB_HOST', '11.22.33.44'); |
3.新しいサーバにファイルをアップロード
修正を行ったファイルも含め、全てのファイルをサーバにアップロードします。
ダウンロードしてくるときは zip圧縮すると早かったのですが、アップロードするときは解凍された状態のファイルをアップロードします。
この際、画像ファイルなどのファイル名に全角文字が使われている場合は注意が必要です。
WordPressの場合は、「メディア」で気軽に全角文字のファイルをアップロードできてしまいますので、知らず知らずのうちに全角文字のファイルをサーバにアップしている場合があります。
通常の運用では特に問題にならない全角のファイル名も、サーバからダウンロード、アップロードする場合に問題になってきます。
WordPressで扱う文字は UTF-8で処理されていますので、同じくファイル名も UTF-8でアップロードする必要があります。
アップロードした画像が表示されない場合などは、日本語ファイルの文字コードを確認してみてください。
WinSCPでファイルの文字コードに UTF-8を指定してアップロードする場合は下記のサイトが参考になります。
http://synclogue-navi.com/winscp-encode
また、BackWPupでバックアップを行った場合は、フォルダの中にデータベースの情報の SQLファイルなども入っていますのでそれはアップロードしない方が安全です。
4.データベースをインポート
データベースをインポートします。
データベースのインポートは、おおよそレンタルサーバにはデータベース管理ツール phpMyAdminが用意されていると思いますので、そこからインポートします。
BackWPupでファイルを取得した場合は、WordPressのルートフォルダにある「******-***.sql」と言った感じの SQLファイルをインポートします。
5.データベースの値を変更
インポートしたデータベースのレコードを修正します。
情報の変更は phpMyAdminで行います。
変更するテーブルは「wp_options」です。
修正するのは、「option_name」の項目が「siteurl」「home」および「recently_edited」のレコードの「option_value」に書かれている値です。
実際に見てもらえれば分かると思いますが、「siteurl」「home」にはサイトの URLが記載されていて、「recently_edited」にはファイルのパスが書いてあります。これを修正します。
「siteurl」「home」の方は新しいサイトの URLを記述すればいいだけですので問題ありません。URLの最後の「/」はないものが標準のようですが、ある、なしはあまり気にしないでよさそうです。
「recently_edited」は少し仕様の理解が必要です。
1 |
a:5:{i:0;s:60:"/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php";i:1;s:49:"/home/s-giken/wp-content/themes/sgiken/header.php";i:2;s:48:"/home/s-giken/wp-content/themes/sgiken/style.css";i:3;s:49:"/home/s-giken/wp-content/themes/sgiken/single.php";i:4;s:45:"/home/s-giken/wp-content/themes/sgiken/ad.php";} |
「recently_edited」の項目は具体的には上記のように書かれていて、
i:0;s:60:"/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php";
これで一つのまとまりです。
この部分をそれぞれ新しいサーバのものに書き換えていきます。上記の場合は 5ファイルのパスが書かれていますので、それぞれ修正を行います。
さらに、上記のように
/home/s-giken/wp-content/plugins/addquicktag/addquicktag.php
この部分の情報として「i:0;s:60:」があるわけですが、この一番最後の「s:60:」の部分が文字数を表していますので、ファイルのパスを書き換えた場合は、ダブルクォートで囲まれている部分の文字数が何文字なのかを数えて修正をします。
ここで解説している手順は、データベースにインポートしてから phpMyAdminによって値を修正する方法を紹介していますが、SQL文のテキストを修正してからインポートしても問題ありません。
また、プラグインによっては必要なファイルのパスをテーブル「wp_options」に保存している場合もありますので、それを修正する必要があります。
テーブル「wp_options」はせいぜい 300~500件程度のレコードですので、上から順番に見ていく、もしくは、phpMyAdminの「検索」機能を使ってパスが書かれている箇所がないかどうかを確認します。
例えば、この記事の最初でファイルをダウンロードする際に使用した「BackWPup」ですが、バックアップのログを保存する場所の情報が「backwpup_cfg_logfolder」の項目に記述されています。
BackWPupを正常に動作させるためにはここも変更をしておく必要があります。
BackWPupは、単にパスが記述されているだけですが、先ほど説明したように文字数を設定する必要な場合もありますので、状況に合わせて文字数の値も修正しておきましょう。
これで WordPressの引越しの設定は終了ですので、WordPressをアップロードしたフォルダにアクセスすると無事にアクセスできると思います。
その他の対応内容
WordPressのシステムとしての対応はここまでで終わりなのですが
・各種設定で URLを記述している箇所の修正
・投稿内に URLでリンクを記述している箇所の修正
など、引き続き対応する必要がある箇所があります。
例えば、このブログであれば、グローバルメニューの「Home」のリンクは URLを記述しています。
また、投稿記事内で他の記事へのリンクは全て URLでリンクを記述していますので、それを置換する必要があります。
後者の投稿内のリンクは、「WordPress投稿テキストを検索・置換するSearch Regexの使い方解説」に記事を書いていますが Search Regexを使って一括置換すると便利でしょう。
ドメインも含めて引越しをする場合
お試しではなく本当に引越しをする場合についても説明しておきます。
実際の手順を確認すればわかると思いますが、ドメインが変わらなければ変更するポイントは、データベースの接続とファイルを置く場所のパスの設定だけですので、作業はより簡単になります。
基本的な流れは1~5で変わりません。
ですが、2、5で行う設定情報の変更が下記の箇所だけになります。
2.ファイルの情報を修正
「.htaccess」の設定変更は必要ありません。
「/wp-config.php」のデータベースの接続情報は、サーバによって変わるところですのでここは変更が必要です。
新しいサーバの設定情報に従って変更をします。
もう一つは、
5.データベースの値を変更
テーブル「wp_options」の変更です。
「siteurl」「home」はそのままで OKで、「recently_edited」の値を新しいサーバのパスに合わせて変更するだけです。
もっとも、サーバを引越しをして、ドメインが切り替わるまで動作テストをしない、っていうのはなかなかない選択肢なので、一度レンタルサーバのドメインに切り替えて動作検証をしてから、本番 URLに切り替える。っていう流れになるんでしょうね。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
WordPressにプラグインを使わず OGP(Open Graph Protocol)の設定方法解説
WordPressに OGP(Open Graph Protocol)をプラグインを使わずに設定する方法の解説。
-
WordPressに Favicon(ファビコン)を設定する(プラグイン必要なし)
WordPressに Favicon(ファビコン)をプラグインなしで設定する方法をサンプルソース付きで説明します。
-
WordPress管理画面のメニューに項目を追加する方法解説
WordPressの管理画面のメニューに項目を追加する方法をサンプルソースを交えて解説します。
-
WordPress初心者向け講座・詳細解説データベースとは何か?
データベースとは何か?を言葉の意味の説明なども含めエクセルと比較しながら説明しています。
-
WordPressのインストール方法・セキュリティ重視 3つのポイント
WordPressのインストールをセキュリティ重視の視点から3つのポイントの解説と設定方法です。
-
FC2からWordPressに引越でcanonicalとmeta refreshで転送設定
FC2からWordPressに引越する際の転送設定はcanonicalとmeta refreshの設定でユーザへもGoogle検索エンジンにも引越し情報を伝えられます。
-
WordPressの高速化でSEO対策!広告費も削減!高速化の施策のまとめ
WordPressを高速化するためのまとめ記事。これまで多様な高速化の対応を行ってきましたが、それを具体的に何をすればいいかが一目でわかるようまとめ記事にしました。
-
FC2からWordPressに引越しの際のデータ加工方法の解説
FC2からWordPressに引越しの際にデータを加工する必要がありますが、その加工方法の詳細を解説。秀丸の正規表現による置換を使い作業時間も軽減する方法や加工のポイントも解説。
-
WordPressのスラッグとは?
WordPressのスラッグって何?それを解説している記事です。なんとなく分かっている気になっているものを改めてしっかり確認をしてみませんか?
-
Better Delete Revisionを使って WordPressのリビジョンを削除する方法
自動的に溜まるリビジョンは Better Delete Revisionを使うことで簡単に削除することが出来ます。表示の重さを軽減したり、バックアップファイルのスリム化に貢献します。