最近やたらと「mixhost」というレンタルサーバーの話題を耳にしますね。速くておすすめらしいので見事にホイホイされましたw
「僕も試しに使ってみよう!」ということで、mixhostの無料お試し期間を利用して、今のブログをエックスサーバーから移行したらどれだけ早くなるか試してみました!
代行サービスは使わず、自力でコピーサイトを作って検証を行った全手順をまとめてみましたので、もし「自分のブログがmixhostに移ったら今とどれだけの違いが出るか見てみたい」という方は試してみてください!
確かにmixhostにしたら速くなったようだ
速いは正義(?)よっひー(@yosiakatsuki)です。
最近やたらと話題のレンタルサーバー「mixhost」が気になって仕方ないので、早速サーバー契約(無料お試し)して、コピーサイトを作ってどれだけ速くなるのか試してみました!
「mixhost」ってどんなレンタルサーバー?っていうのは寝ログさんのページに詳細にまとまっているので、そちらにおまかせするとして…
このブログはどれだけの速度改善が期待できるのかということを検証してみたので、その結果からご紹介していきます!
サーバー処理の速度改善は期待できるか!?

サーバーサイドでの処理時間をざっとまとめました。
確かに早くなってるようです。さすがといったところでしょうか。
ちなみに、当ブログはリアルタイムで5人もいけばいいほどのアクセス数ですので、自分以外アクセスのないmixhostでの検証環境と現行サーバーでの負荷の違いはそれほどないはずです。(ハズ)
エックスサーバー側の環境については、先日、最新環境に移行しまして、CPU:Xeon E5-2640 v4( 2.40GHz ) x 2、メモリ:192GB という贅沢環境です。
それでもこのブログであればサーバーをmixhostに変えると20%くらいの速度改善が見込めそうです!
アクセス数が多く多くのリクエストが発生するサイトであればもっとサーバー側の処理スビードの恩恵があるのではないかと思います。
(参考までに検証した時期(冬季)の当ブログのアクセス数は 1万〜2万PV / 月 です)
ページ読み込み速度の違いはあるか!
先程の結果でサーバーサイドの処理速度ではmixhostに軍配が上がりました!
この時点でもう満足といえば満足だったのですが、一応、ページ読み込み完了までの速度比較もしてみました。
速度計測のWEBサービスを使うのはやや面倒だったので、今回はWeb担当者フォーラムさんのブックマークレットを活用してサクサク計測させていただきます。

…おっと。エックスサーバーのほうが速い…
両サイトともSSLを使用しているので、HTTP/2に完全対応しているというmixhostのほうが速くなりそうな気がしたのですが、なんででしょう。
SSLの種類の違いとかなのでしょうか?…(教えて分かる人)
サーバー移転してどれだけの効果があるかみてみたかった
mixhostにはブログの移行代行サービスがありますが、まだmixhostを使うと決めたわけではないので「移行してみたけど、やっぱり前のほうがよかった…(代行にお金かかったし…)」とならないためにも、無料お試し期間を使って試せるのはめちゃめちゃ嬉しかったです。
mixhostを疑っているわけではありませんが、現行で動いているエックスサーバーの環境が最新環境へ移ったばっかりだったので、「手間をかけて移行するほどのものなのか、そんなに変化が無いなら現状のままでもいいのでは…?」という部分を考るために検証用サイトを作ってみました。
もし、同じように「サーバー移転してみたいけど、それってうちのサイトでどれだけ効果あるのだろう…」という疑問点がありましたら、今回検証用のサイトを作った手順をまとめましたので参考にしてみてください!
検証用のコピーサイトつくる手順
最終的にどんな感じでコピーサイトが出来上がるか
まずは、今回のゴールのイメージから。
今回検証用のサイトとして「プログラム・記事や設定・画像」は同じものを使った「サーバー・ドメイン」が違うサイトを作ります。
- 現行環境と同じもの:WordPress本体、記事データ、WordPress内部の設定、画像
- 現行環境と違うもの:サーバー、ドメイン
テストサイトのドメインは、mixhost契約時の初期ドメインを使用します。
hostsファイルの編集を前提に、同じドメイン名で作ってもいいかもしれませんが、そうするとPageSpeed Insightsなど、オンラインのツールでの検証が出来なくなるので今回は「ブラウザにURL叩けば普通に見れる」サイトを作ります。
最終的に出来上がるサイトのドメインイメージはこんな感じ↓
- tarahako.com (現行)
- tarahako.mixh.jp (検証用)
(※tarahako.mixh.jpは一例です。実際には作成していません。作成する予定もありません。)
まずはmixhostの無料お試しを始める
さて、ゴールが見えたところで、早速作業していきます。
まずやることはサーバー契約です!

僕はとりあえず今使っているエックスサーバーと同じ価格帯の「スタンダード」プランを選択しました。

プランを選んだら、続いて初期ドメイン(サブドメイン部分)を入力します。

注文内容の確認です。お試し期間なので0円になってます!
ここまでクレジットカードの入力の必要などありません。スムーズ。

続いて名前や住所の入力です。

必要箇所を入力して確定したら注文完了です!
管理画面へのアクセス方法やユーザー・パスワードが記載されたメールが届きます!
現行サイトのWordPressをダウンロード
さて、早速新しいサーバー側の作業をしたいところですが…
先にコピー元になる現行のWordPressをFTPソフトでごっそりダウンロードしておきます。

お使いのサーバー環境にもよりますが、僕はエックスサーバー側のpublic_htmlディレクトリごとダウンロードしておきました。
ファイル数が結構あるのでそれなりに時間がかかると思います…
ダウンロードしている間に他の作業を進めておきます。
記事・設定データをDBからエクスポート
WordPress本体や画像はFTPでダウンロードするとして…
記事のデータなどはDBに格納されていますので、phpMyAdminから記事データをエクスポートします。
エックスサーバーであればサーバーパネルからphpMyAdminへアクセスできます。
phpMyAdminへアクセスするためのユーザー名・パスワードがわからない場合は、先にダウンロードを進めているWordPress本体のルートディレクトリにあるwp-config.phpというファイルを開きます。

その中のDB_USER,DB_PASSWORDという項目にそれぞれユーザー名とパスワードが書かれていますので、そちらを使ってphpMyAdminへログインしてください。

ログイン出来たら左側のDB一覧からエクスポートしたいDBを選び、エクスポートタブを開きます。
(新規で作ったDBにデータをインポートすることになるので、以下の手順は必要ないかもしれませんが、一応やっておきます。)
エックスサーバー最新環境だと上の画像のようになっているはずですので、「エクスポート方法」を「詳細」にします。

「生成オプション」という項目の、「DROP TABLE / 〜〜〜 コマンドを追加する」にチェックを入れます。
あとはページ下部の「実行」を押し、DBデータのエクスポート・ダウンロードを開始します!
これで現行サイトのデータの準備は完了です。
新サーバーのDB準備
さて、ここからはmixhost側での操作になります。

cPanelにログイン後、「データベース」メニューにある「MySQL® データベース」を開きます。

「新しいデータベースの作成」にデータベース名を入力し、空のDBを作成します。

DBが作れたら次はユーザーです
「新しいユーザーの追加」からユーザーを追加します。

パスワードは「パスワード生成ツール」を使うと便利です
ただし、このあとパスワードを使う部分があるのでしっかり控えておいてください!

つづいて、作成したユーザーを先に作成したDBに追加します。

権限設定のページになるので、とりあえず全部権限つけました。

作成したDBとユーザーが紐付いていれば準備OKです!
mixhost側にWordPressのデータをインポート
続いては作成したDBにデータをインポートします

mixhost側のphpMyAdminにログインし、作成したDBを選択します。

インポートのメニューへ進み、「ファイルの選択」ボタンから、先にエクスポートしておいたファイルを選びます。
ファイルが選択出来たらページ下部の「実行」ボタンでインポートを実行します。

インポート完了です!
WordPressのデータからドメインを置換するプログラム「Search-Replace-DB-master」をダウンロード

さて、今回はコピーサイトを現行サイトとは別ドメインで動かす必要があります。
ということは、WordPressのデータからドメイン部分を置換しなければならないのですが…
じつはWordPress内のデータからドメインを置換する場合、単純に文字列を置換すればいいというわけではありません…
細かい説明は今回は割愛するとして、WordPress内のDBデータから文字列をきれいに置換するためのプログラムを下記サイトからダウンロードしておきます。

今回は一般に公開するかわからないサイトで使うので、ダウンロードしたzipファイルを解凍したままサーバーにアップロードしてもいいかもしれませんが…
一応、誰にも予想出来ないであろう名前にフォルダ名をリネームしておきます。

リネーム出来たら、wp-config.phpがあるフォルダににリネームしたフォルダごとコピーしておきます。
現行サイトからダウンロードした.htaccessから、サーバー固有の設定記述を消す
現行サイトからごそっとダウンロードしたファイルの中に.htaccessがあれば、ファイル内にサーバー環境に依存する記述がないか確認します。
僕の場合、管理画面にBasic認証をかけているので、.htpasswdファイルまでのパスが書かれた部分などを事前に消しておきました。
wp-config.php内のDB関連の設定書き換え
新サーバーへアップするwp-config.phpに先程作成したDBの情報を記述します(書き換え)

エックスサーバーからのコピーであればDB_NAME,DB_USER,DB_PASSWORD,DB_HOSTをそれぞれ修正します。
DB_NAME,DB_USER,DB_PASSWORDには先程作成した(mixhost側の)DBの情報を記述します。
DB_HOSTはlocalhostとすればOKです。
新サーバーへWordPress一式をアップロード
現行サーバーからダウンロードし、wp-config.php、.htaccessを編集、Search-Replace-DB-masterの準備が整ったら新サーバーへFTPでアップロードします!
PHPのバージョン切り替え
mixhost契約時の初期PHPバージョンは5.6でした。
僕はエックスサーバー側はPHP 7を使っていたので、mixhost側のPHPバージョンも7系にました。

「ソフトウェア」メニューの「Select PHP Version」を選択し、

「PHPバージョン」のリストから変更するPHPバージョンを選択、すぐ右の「Set as current」を押して確定します。
(エックスサーバー側は7.0系でしたが、リストの中に7.1があったので、今回は最新バージョンにしてみました。気分です)
Search-Replace-DB-masterでドメイン置換

ファイル一式アップロードが完了したらSearch-Replace-DB-masterでドメインを置換します!
Search-Replace-DB-masterへのアクセス方法は、サーバー環境にもよりますが、ドメインルートにWordPressを配置したのであれば[ドメイン]/[リネームしたSearch-Replace-DB-master]へアクセスで開けるはずです。
例えば…public_html/Search-Replace-DB-masterにアップロードしたのであれば「http://[ドメイン]/Search-Replace-DB-master」で開けます
…public_html/wordpress/Search-Replace-DB-masterであれば「http://[ドメイン]/wordpress/Search-Replace-DB-master」で開けるはずです

Search-Replace-DB-masterを開いたら、ページ上部の「replace」の右に移行元ドメインを、「with」の右に置換後のドメインをそれぞれ「http://」や末尾のスラッシュを除いて入力します。

入力が出来たらひとまず「dry run」で各テーブル、試しにどれだけ置換されるか確認してみます。
結果を見てみて、多すぎたり、少なすぎるようであればもう一度入力したドメインがそれぞれあっているか再確認してみてください
問題ないようであれば「live run」で実際に置換します!

最初に確認メッセージが表示されますが、「置換したらもとに戻せませんよ」的な案内になるのでOKを押して先に進めます

順々にテーブル内の文字を置換していきます。
全テーブル置換が完了すれば作業完了です!
置換が完了したら「delete me」ボタンかFTPでSearch-Replace-DB-masterをサーバー上から削除しておいてください
動作確認・管理画面から設定変更
DBのドメイン名の置換が完了したらいよいよ準備完了です!
実際にページを表示させてみます!

おー!ページが表示されました!
ちゃんと動作していますね!

念のためmixhost側のWordPressでは、管理画面の[設定]→[表示設定]から「検索エンジンがサイトをインデックスしないようにする」にチェックを入れておきます。
これで確認用のコピーサイト作成は完了です!
ドメインこそ違うものの、PageSpeed InsightsやGTmetrixでサイトのパフォーマンスを比較することができるようになりました!
まとめ
「そろそろサーバー更新時期だ」というタイミングでmixhostが話題になっていたのはありがたかったです。
30日という、わりと長期間じっくりサーバー移行するかどうか考えられるので、じっくり悩んでみようと思います
「よっしゃ!mixhostに移るぞ!!!」ってなったらめんどくさいから移行サービス頼んじゃうと思いますけど…w
まだガッツリ使っているわけではないですが、管理画面も今風で使ってて気持ちいいし、サーバー処理が速いことは確かなので、おすすめするサーバーの選択肢の一つに間違いなく入りますよmixhost。
(月500円程度の安価で高機能サーバーを運用できる点も魅力です)
どうぞご検討ください!
僕は仕事で何度もWordPressをインストールしたり、移行したり、コピーしたり…ということをやっているのでこの手の作業は「お金かけたくないから自分でやっちゃおう!」という考えになっちゃいますね
(一応WordPressを武器にフリーランスやっているというのもあるので)
ではまた。