ConoHa WINGへの移行によりサイト表示速度が劇的に改善されたのでその結果と移行手順についてのまとめ

公開日:2019/05/15 更新日:2019/05/15
ConoHa WINGへの移行によりサイト表示速度が劇的に改善されたのでその結果と移行手順についてのまとめのサムネイル

はじめに

この度このサイトをConoHa WINGに移行したところ、予想を大きく上回る改善となりました。この記事では、実際の改善結果の詳細と、他のレンタルサーバ会社様からConoHa WINGへの移行のために行った手順をまとめます。 なお、この記事の内容は、それぞれの環境にかなり依存する作業も多く失敗する可能性もありますので自己責任でお願い致します。慎重に作業してください。 今回はConoHa WINGが提供しているかんたん移行サービスは使用せず、全て手動で行います。理由として、色々なプラグインを使用していて移行時に何かしらエラーが出る懸念があり、念の為に全て手動で行い1つ1つ影響を確認しながら移行したかったためです。あまり全ての作業を手動で実施することはないと思いますが、一度経験しておくとWordPressについての理解がかなり深まります。

ConoHa WINGに移行した結果

まずはじめに改善結果は以下の通りです。今回はサイト表示速度の計測にGoogleのPageSpeed Insightsを使用しましたのでその結果になります。

  • デスクトップ表示でスコアが68から96に改善
  • モバイル表示でスコアが23から54に改善
なお、重要な点として、これらの測定実施時に条件が異なるのはサーバーのみです。すなわち、プラグインや他のサイトにかかる設定については全て同じ条件下で測定を実施しています。

以下に実際のPageSpeed Insightsの測定結果を掲載します。

1-virment-pagespeed-insight-dektop-2.png

移行前のデスクトップ表示測定結果

2-conoha-result-desktop-1.png

移行後のConoHa WINGでのデスクトップ表示測定結果

3-virment-result-mobile-1.png

移行前のモバイル表示測定結果

4-conoha-result-mobile-1.png

移行後のConoHa WINGでのモバイル表示測定結果
上記を見てわかると通り、ConoHa WINGに移行後には「ラボデータ」の各項目全てにおいて結果が改善されました。なお、サーバ環境について例えばメモリやCPUが全く同じもの、というような条件までは揃えることはできていません。しかし、それでも同価格帯で得られるサーバ環境の比較として意味が大きいように感じています。 以降では、移行のために実際に行った作業をまとめます。

前提と環境

以降の手順では以下を前提とします。

  • ConoHa WINGのアカウントは作成済とする
  • ConoHa WING上で真っさらなWordPressサイトを構築済とする
もし上記が済んでいない場合は、以下にConoHa WINGでのアカウント作成およびWordPressサイト構築までの手順をまとめているので見てみてください。
www.virment.com

WordPressサイトを構築する際に、現在は色々なレンタルサーバがあり選択肢も豊富です。今回はGMOインターネット株式会社様が提供するConoHa WINGというレンタルサーバ上にWordPressを実際に構築してみたのでその手順をまとめます。

また、以下は公式サイトへの広告リンクとなります。

事前準備

事前準備として、ConoHa WINGの公式サイトにあるお乗り換えガイドに沿っていくつか作業しておきます。具体的には、以下の作業を完了させておきます。

  • FTPアカウントを作成する
  • ドメインを移行する
  • WordPressのログイン制限を解除しておく

FTPアカウントの作成手順やドメインの移行手順については以下の公式ガイドに記載されていますので、ここでは省略します。

support.conoha.jp

レンタルサーバーのお乗換えは手続きも多く、手順を誤るとWebサイトが見れない期間やメールが利用できない期間=ダウンタイムが発生してしまう可能性があります。こちらではお乗換えにあたりダウンタイムが発生しないように手順を紹介します。

WordPressのログイン制限を解除する手順は以下です。ログイン制限は、WordPressの管理画面に短時間に複数回ログイン操作があった場合にログインを拒否する機能です。通常であれば有効化しておいてもいいと思いますが、移行時にはログイン回数も多くなるので解除しておきます。なお、この機能によってログインできなくなると、permission deniedというように一見他に問題があるようなエラーが表示されてしまい、このログイン制限機能によるものだとわかるまで時間を取られてしまうので注意が必要です。

support.conoha.jp

ConoHa WINGではコントロールパネル上でWordPressに関するセキュリティの設定をすることができます。こちらで設定した内容はドメイン内にインストールされているすべてのWordPressに適用されます

ConoHa WINGに移行する手順

主な作業の流れは以下のようになります。

  • 移行元のWordPressサイトのバックアップを取得する
  • 移行元のWordPressサイトで「一般設定」の内容を確認する
  • バックアップしたデータベースファイルの一部を修正する
  • 移行先にデータベースファイルをインポートする
  • wp-confg.phpを修正する
  • 各ファイルをFTPでConoHa WINGにアップロードする
  • 移行先のWordPressディレクトリ設置パスについて確認する
  • 移行元でDNSの設定変更を行う

移行元のWordPressサイトのバックアップを取得する

移行にあたって、問題発生時に備えて現在稼働しているWordPressサイトのバックアップは必ず取得します。具体的には、以下を全てバックアップしておけばとりあえずはゼロから再構築することができます。また、ここで取得する以下のデータをそのままConoHa WING上のWordPressサイト用に使用します。

WordPressのMySQLデータベースファイル phpMyAdminなどの管理ツールから移行元のWordPressサイトのMySQLデータベースファイル(拡張子が.sqlのもの)をエクスポートしてダウンロードしておきます。phpMyAdminはおそらくほとんどのレンタルサーバ会社様で提供していると思います。
アップロードした画像、動画などのメディアファイル 移行元のWordPressサイトのディレクトリのwp-content/uploadsディレクトリに含まれるデータ全てです。wp-content/uploadsディレクトリには、年毎のディレクトリと、導入しているプラグインによってはプラグインのデータもここに置いてある場合があります。全てダウンロードしておきます。
プラグインファイル 移行元のWordPressサイトのディレクトリのwp-content/pluginsディレクトリを丸ごとダウンロードしておきます。
テーマファイル 移行元のWordPressサイトのディレクトリのwp-content/themesディレクトリに含まれるデータ全てです。もしくは、特に使用していないテーマファイルはダウンロード不要です。例えばtwentysixteentwentyseventeenなどのWordPressのデフォルトテーマはいつでもダウンロードできるので特にここでバックアップとしてダウンロードする必要はありません。
wp-config.php 移行元のWordPressサイトのルートディレクトリにあるwp-config.phpをダウンロードしておきます。
.htaccess 移行元のWordPressサイトのルートディレクトリにある.htaccessと、もしサブディレクトリがありそこに.htaccessもある場合はこちらもダウンロードしておきます。

上記を全て手元のパソコンにダウンロードしておけば、とりあえずは最悪の事態でもゼロから復元できると思います。

移行元のWordPressサイトで「一般設定」の内容を確認する

移行元のWordPressサイトの管理画面で、「WordPressアドレス(URL)」、「サイトアドレス(URL)」を確認、メモしておきます。特に「WordPressアドレス(URL)」、「サイトアドレス(URL)」が異なる場合、すなわちWordPressをルートディレクトリではなくサブディレクトリに設置している場合は以降の作業で必要になります。

バックアップしたデータベースファイルの一部を修正する

ここの手順は前節の手順で移行元で「WordPressアドレス(URL)」、「サイトアドレス(URL)」が異なる場合のみ必要です。 また、移行元でサブディレクトリにWordPressを設置していた場合でも、移行先でも同じサブディレクトリ名にWordPressを設置すればここでの作業は不要です。 移行元のサブディレクトリ名と違うサブディレクリ名で移行先にWordPressを設置した場合や、移行先ではサブディレクトリは使わずにルートディレクトリにWordPressを設置する場合は、以下のようにバックアップしたデータベースファイルの中にある'siteurl'という部分のURLを適宜変更する必要があります。

your-database.sql
(...上省略...)
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(1, 'siteurl', 'https://www.virment.com/wp', 'yes'),

(...途中省略...)

(36, 'home', 'https://www.virment.com', 'yes'),

具体的には、'siteurl'が「WordPressアドレス(URL)」、'home'が「サイトアドレス(URL)」に該当します。紛らわしいので注意が必要です。これらを移行先のサブディレクトリ名に合わせる必要があります。 例えば上記では、サブディレクトリ名がwpの場合になります。 詳しくは、WordPress公式ドキュメントの以下をご参照ください。特に、「ドメイン名またはURLを変更するとき」というセクションがここでの作業に関連します。

wpdocs.osdn.jp

自分のサーバー内でWordPressを移動する必要があるときがあります。また、あるサーバーから別のサーバーへとWordPressを移動する必要があるときもあります。インストールし直す必要はありません。WordPressは、これらすべての状況を取り扱う十分な柔軟性があります。

移行先にデータベースファイルをインポートする

バックアップした移行元のデータベースファイルを、移行先であるConoHa WINGのデータベースにインポートします。ConoHa WINGではMySQLの管理ツールとしてphpMyAdminが使用できます。以下のように、「サイト管理」→「データベース」のタブで移行先となるWordPressサイトのデータベースを確認し、「phpMyAdmin」というリンクをクリックします。

conoha-phpmyadmin-1.png

phpMyAdminが開くと、以下のようなログイン画面が開きますのでログイン情報を入力して「実行」をクリックします。

phpmyadmin-login-1.png

ログイン後、インポートを実行する前に以下のようにすでに作成されているデータベースから全てのテーブルを削除しておきます。なお、この削除によって、移行先のWordPressのデータが全て消えます。ConoHa WINGでWorPress作成時にWordPressのユーザ名とパスワードも作成したと思いますが、これら情報含めて削除されます。ただ、ここではこの移行先となるWordPressサイトはこの時点ではまっさらな状態であるはずなので失われる重要なデータはない前提です。

delete-alltable-frist-1.png

全てのテーブルを削除後、以下のように「インポート」タブを開き、そこで「ファイルを選択」をクリックします。ここで先程一部修正した移行元のデータベースファイルを選択します。ファイルを選択後、同じページ下部に「実行」というボタンがあるのでこれをクリックします。

import-your-db-1.png

無事にインポートできると、以下のように成功のメッセージが表示されます。

successed-import-1.png

なお、インポートを実行したものの、エラー 1046(3D000)No database selectedというエラーが出る場合があります。これは、インポートしようとしたデータベースファイルの中にどのデータベースを使用するかの宣言が書かれていないことが原因です。したがって、インポートするデータベースファイルを適当なエディタで開き、一番始めにでてくるCREATE TABLE ~というSQL文の直前に、USE データベース名を追記します。ここのデータベース名は、移行先となるConoHa WINGに構築したWordPressサイトが使用するデータベース名です。例えば以下のような形です。

your-database.sql
(...以上省略...)

USE my_wpress; /* ここを追記 */

CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) UNSIGNED NOT NULL,
  `comment_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
  `meta_key` varchar(255) DEFAULT NULL,
  `meta_value` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(...以下省略...)

以上で移行先へのデータベースファイルのインポートは完了です。

wp-config.phpを修正する

移行先となるConoHa WINGに構築したWordPressサイトのディレクトリにFTP経由でアクセスし、WordPressのルートディレクトリにあるwp-config.phpをダウンロードします。また、同様に移行元のWordPressサイトのwp-config.phpもダウンロードしておきます。そして移行先のwp-config.phpの中にある$table_prefixの値を、移行元のwp-config.phpの中にある$table_prefixの値と同じにしておきます。それ以外の項目は基本的にいじらず移行先のwp-config.phpを移行元のwp-config.phpで上書きしないよう注意してください。 wp-config.phpの中の$table_prefixの値は以下のような感じで記載されていると思います。

wp-config.php
/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

この$table_prefixは、テーブル接頭辞というものでWordPressがどのテーブルを使うかを判別するために付与される識別子です。WordPressのデフォルトでは、このテーブル接頭辞はwp_という値になっています。しかし、レンタルサーバ会社様によっては、この値を例えばwp214456のような数値と組み合わせたり他の値を追加している場合があります。そしてこの場合、バックアップしたデータベースファイルをそのままインポートすると、この識別子がついたテーブルが移行先のデータベースに作成されます。 したがって、もし他のレンタルサーバ会社様のphpMyAdminでエクスポートしたデータベースファイルをインポートする場合でかつこのテーブル接頭辞、つまり$table_prefixwp_でない場合は、$table_prefixを修正する必要があります。

インポートしたデータベースがテーブル接頭辞としてどのような値を使っていたかを確認するには、移行元のwp-config.php$table_prefixの値を確認するか、実際にインポートを実行すれば、以下のようにテーブル名がリスト表示されるのでここでも確認できます。例えば、以下の場合はwp_という値が$table_prefixで指定されていた結果作成されたテーブルです。

table-prefix-example-db-1.png

各ファイルをFTPでConoHa WINGにアップロードする

ConoHa WINGに作成したWordPressサイトのディレクトリにFTP接続し、バックアップした以下3つのデータを全て適切な場所にアップロードします。

画像、動画などのメディアファイル 移行先のWordPressサイトのディレクトリのwp-content/uploadsにアップロードします。
プラグインファイル 移行先のWordPressサイトのディレクトリのwp-content/pluginsにアップロードします。
テーマファイル 移行先のWordPressサイトのディレクトリのwp-content/themesにアップロードします。
wp-config.php 移行先のWordPressサイトのディレクトリのwp-content/themesにアップロードします。

移行先のWordPressディレクトリ設置パスについて確認する

移行先でWordPressをサブディレクトリに設置した場合は、以下のドキュメントに従って作業を実施する必要があります。

wpdocs.osdn.jp

WordPress をウェブサイトのルート(例えば http://example.com)で動かしたいけれど、WordPress のファイルすべてをドキュメントルートディレクトリに散らかしたくない人はたくさんいます。WordPress はサブディレクトリに WordPress ファイル /en を設置しても、ウェブサイトをサイトのルートに表示することができます。

移行元でDNSの設定変更を行う

この作業は各自が使用しているレンタルサーバ会社によって異なるため省略します。以下にさくらインターネットから乗り換える場合のDNS変更手順が記載されており参考になりました。

yuru.work

このブログとは別のブログで、さくらインターネットのスタンダードプランを使ってワードプレスを動かしているのですが、非常に動作がもっさりしているため、移行を検討してみました。 移行先の候補として、色々検討した結果、エックスサーバと、ConoHaWINGが残ったのですが、初期費用が無料で、時間単位の課金であることから、後者のConoHaWINGにしてみました。

なお、ConoHa WINGで追加した自身の独自ドメインに関する情報は、以下のようにConoHa WINGの管理画面のメニュー「DNS」から確認できます。

your-domain-info-1.png

動作確認を行う

全ての作業が完了したら、実際にサイトにアクセスして表示されることを確認します。また、WordPressの管理画面にもアクセスしてみます。なお、この記事の流れで作業した場合、WordPressの管理画面にログインできるユーザ情報もそのまま移行元のWordPressから引き継いでいます。したがって、これまで使用していた同じユーザ名とパスワードでログイン可能です。 なお、移行後にWordPress管理画面にアクセスしてみると、以下のように更新をするよう指示がでる場合があるのでしたがって更新します。 なお、データベース関連で作業した後に初めてWordPressにアクセスした場合、以下のようなウィンドウが表示されると思うので、「WordPressデータベースを更新」をクリックします。

need-to-update-database-1.png

以下のように更新完了と出るので、「続ける」をクリックします。

updated-database-1.png

トップページ以外が表示できない場合

トップページはきちんと表示されるものの、それ以外のページでは以下のようにnot fonudと表示されてしまう場合があります。

notfound-index-1.png

この原因は、大抵は.htaccessの表記ミス、もしくはwp-blog-header.phpのミスなどが考えられます。ただどうしても各自の環境依存の問題で中々1つの解決策を提示するのが難しいため、これについてはWordPressのドキュメントに詳しく記載されているので一度そちらを見てみることをおすすめします。

wpdocs.osdn.jp

WordPress をウェブサイトのルート(例えば http://example.com)で動かしたいけれど、WordPress のファイルすべてをドキュメントルートディレクトリに散らかしたくない人はたくさんいます。WordPress はサブディレクトリに WordPress ファイル /en を設置しても、ウェブサイトをサイトのルートに表示することができます。

frontenddaily.work

先日VMにWordPressをインストールした時にトップページ以外が404で「なんでじゃー」ってなりました。 同じようなことが起きた方、こんにちわ WordPressをインストー...

改善結果についての所感

これまでに色々なレンタルサーバにWordPressサイトを構築したり移管したりという作業を何度も実施してきていたため、サーバの変更によるメリットはある程度把握しているつもりでした。しかし、今回の結果は完全に予想以上で正直なところ大変驚きました。

と言うのも、このサイトで使用しているテーマは自作であり特に表示速度を改善することを意識して作成したものではありませんでした。とりあえず作成してみたという部分が大きいです。また、プラグインも多く使用しています。そのため、サーバ環境以上にサイト自体にまだまだ改善点が多いという認識があり、サーバを変えることによるメリットを多くは享受できないかもしれないとぼんやりと考えていました。

しかし、今回試しにConoHa WINGに移行してみたところ、まさかのスコアとなりました。これまで特にこのサイトの表示速度について改善することを意識できていなかったことはもちろん問題ですが、サーバを変えることによるメリットの大きさを実感させられました。

現時点ではConoHa WINGのサーバ環境に移行したのみですが、さらに表示速度の改善に取り組めばより良い結果を得られそうです。特に、モバイルファーストが当たり前の流れの中でモバイル表示のスコアがあまりに低いため、このあたりをまず改善していければと思います。

まとめ

もし自身のWebサイトの表示速度を改善したいと考えている方がいれば、一度PageSpeed Insightsで自身のWebサイトのパフォーマンスを確認し、その上でサーバが原因であればぜひConoHa WINGを一度試してみることをおすすめします。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。