ここでは、mixhostで手軽にテストサイトを構築する為の手順を紹介しています。
テーマ・テンプレートのカスタマイズ、新規プラグインの動作確認、重要な投稿やファイルの保存などに必須なので、ぜひお試し下さい。
またサブディレクトリやサブドメインで構築したテストサイトは、cPanel独自のWordPress Manager by Softaculous(自動インストールと管理ツール)を使えば、ワンクリックで本家のURLに複製できます。
新規サイトの立ち上げ、本家サイトのリニューアル、および修復に大変便利です。
テストサイト作成の手順
作成の手順は次の通りです。
2. WordPress Manager by Softaculousで、テスト用のディレクトリにテストサイト用のWordPressをインストール
3. インポート・ツール(All in on Migrationなど)やSQLファイルを使って、全ての投稿データ(画像ファイル)をコピー
4. テストサイトの動作を確認したら、サイトロック、ディレクトリのアクセス制限、robots.txtの記述で、外部からのアクセスをシャットする。
バックアップ用のディレクトリを作成する
cPanel のファイルマネージャーを開いて、自分のサーバースペースの任意の場所に、ファイル保存用のディレクトリを作成します。
『ファイルマネージャー』をクリック
ファイルマネージャーの初期パネルは下図のような構成になっています。(共通)
ブラウザ内で「ファイル・フォルダの作成」「コピー、移動、削除」「アップロード」「名前の変更」「編集」「表示」などが行えます。
public_html(ウェブ用のディレクトリ) を開き、任意の場所にバックアップ用のディレクトリを作成する。
どのサイトの、何のフォルダか、分かりやすいように名前を付けます。バックアップ用のディレクトリは、アクセス制限をかける事が可能です。
『uploads』『theme』など、フォルダごとまとめてバックアップ用のディレクトリにコピーする。一瞬でコピーできます。
テストサイト用のWordPressをインストールする
cPanel > ソフトウェア > WordPress Manager by Softaculous から、テストサイトをインストールします。
『今すぐインストール』をクリック。
インストールするサブディレクトリを指定します。この場合『test』
サイト名・サイト説明は適当に。
続きで、『管理者アカウント』(ログイン名・パスワード)、『言語の選択』『プラグインのインストール(Softaculousが提供するセキュリティ系)』をオプションで選択。複数のWordPressを運営している人は、Single Panelで管理できる、『wpCentral』が便利。
『アドバンスドオプション』でデータベース名やテーブル・プレフィックスを設定します。
SQL+phpMyadminで投稿データをインポートする場合は、テーブル・プレフィックスを本家サイトと統一した方が操作しやすいです。
本家サイトの投稿データをインポート
テストサイトへの外部アクセスを遮断する
インストールが完了すると、デフォルトの画面が表示されます。
投稿や画像データのインポートを始める前に、テストサイト全体にロックをかけて、外部からアクセスできないようにします。
きちんと対策を講じないと、検索エンジンのbotがやって来て、瞬く間にインデックスしてしまうことがあります。
私も前にロックを忘れて、ほとんど全てのテスト投稿をインデックスされたことがあります。
そうなると自サイトがコピーコンテンツ扱いになり、思わぬペナルティをくらう恐れがあるからです。
メンテナンス系プラグインを使う
ログインした管理者以外は、メンテナンス中のメッセージが表示されるシンプルなプラグインです。
設定は必要なく、有効化すれば、すぐに使えます。
自分だけが分かればいいので、凝ったメンテンスページは必要ないです。
Simple WP Maintenance Mode
https://wordpress.org/plugins/simple-wp-maintenance-mode/
robots.txtでDisallowを設定
WordPress管理画面の 設定 > 表示設定 から、 『検索エンジンがサイトをインデックスしないようにする』 をONにすることもできますが、それだけでは心許ないので、robots.txtを設置し、 Disallowを設定します。
Disallow: /
投稿データをインポートする
テスト環境が整ったら、本家サイトの投稿データやオプションなどをインポートします。
データのインポートの方法は二種類あります。
・ バックアップ系プラグインを使う
・ SQL+phpMyadminを使う
一番手っ取り早いのは、バックアップ系プラグインを使うことですが、サイトをまるまる移行するには有料版が必要になります。
相場は、日本円で4000円前後です。
これを高いと受け止めるか否かは、本人次第ですが、Lifetime(有効期限なし)なら、一度課金すれば、そのままずっと使い続けることができます(無料アップデート付き)。
どのみち、WordPressを運営するなら、バックアップは避けて通れませんし、バックアップ → 復元 の度に、ぐずぐず手間取り、エラーを連発するぐらいなら、思い切って有料版を購入した方が利口です。慣れた人間でも、しょうもない手違いで、データを吹っ飛ばしたり、うっかり重要な投稿を削除してしまったり、いろいろあるのがサイトオーナーですから。
レンタルサーバーにも自動バックアップ機能が付いていますが、「自分の都合のいいタイミングで自動バックアップを有効にする」といった小技が効かないので、レンタルサーバーだけに依存するのも頼りないかと。
バックアップ系プラグインを使う
簡単手軽なバックアップ系プラグインなら、こちらが一択でしょう。無料版の場合、『500MB』の制限がありますが、有料版を購入すれば、容量を気にせず、いろんなサイトで使い回すことができます。製品の種類も豊富なので、自分の使いやすいものをチョイスしましょう。
『無制限のエクステンション』よりは、『Google Driveエクステンション』や『OneDriveエクステンション』の方が、長期的に見て、お得です。
私は無制限のエクステンションを買いましたが、ちょっと後悔してます(゚_゚)
All-in-One WP Migration
https://wordpress.org/plugins/all-in-one-wp-migration/(WordPress公式)
https://servmask.com/(企業サイト)
UpdraftPlus Backup and Migrator
バックアップ系プラグインで上記とシェアを争っているのが『UpdraftPlus WordPress Backup Plugin』です。
私はこちらの方が好きなのですが、設定にちょっと手間取るのと、LifeTimeではなく、「年額制」なので、コストが高く付く点ですね。
無料版を使っていると、サイバーマンデーやクリスマス割引の案内が来るので、私も40%割で購入したことがありますが、個人がバックアップやデータ移行に手軽に使うなら、上記の『All-in-One WP Migration』の方が簡単だし、コスパはいいと思います。
https://wordpress.org/plugins/updraftplus/(WordPress公式)
https://updraftplus.com/migrator/(企業サイト)
CSVエクスポート&インポートを使う
投稿IDやタームIDなどをリセットして、通し番号『1』から打ち直したい時は、WP All Import & Exportがおすすめ。
CSVで、データベースのテキスト部分だけ抽出して、新規データベースに流し込むので、投稿IDなども全てリセットされて、投稿もメディアファイルもそのまま、IDだけ綺麗に並べ替えることができます。
この方法は、一言では説明できないので、ここでは割愛します。
WP All Import & Export
https://www.wpallimport.com/
SQL+phpMyadminでデータを移行する
慣れたら、一番簡単です。
最初に本家のSQLをエクスポートして、データベース名とデータテーブルを書き替えます。
次に、テストサイトのデータベースから、インポートしたいデータテーブルを一旦削除し、上記の編集済みのSQLをインポートするだけです。
エクスポートのコツ
テストサイトを構築する場合、データテーブルは必要なものだけをエクスポート&インポートします。
その際、まとめて一つのファイルにエクスポートするのではなく、テーブルごと、個別にエクスポートします。
その方が、エラーも最小限で済むし、原因の解明がしやすいからです。
私はたいてい、『wp_posts』『wp_postmeta』『wp_term関連』の三種類に分けてエクスポート&インポートしています。
wp_postmeta (カスタムフィールド)
wp_termmeta (タームの並び順)
wp_terms (タグとカテゴリーの名前、説明、スラッグ)
wp_term_relationship (タームと投稿の関連漬け)
wp_term_taxonomy(ターム間の親子関係など)
wp_usermeta (ユーザー情報。プロフィールやSNSリンクなど)
wp_optionsは、本家サイトのURLや、プラグインやテーマ・テンプレート、ウィジェットなどの設定内容が含まれるので、スキップします。
これらの設定もテストサイトに反映したい場合は、プラグイン専用の Export & Import 機能(CSVやJSONなど)を使って、個別に移行することをおすすめします。
エクスポートしたSQLファイルの冒頭、"Database: データベース名”を、テストサイトのデータベースの名前に変更。
テーブルの構造(接頭辞)を変更した場合は、エディタで一括変換。
テストサイトのデータベースに移行する場合は、該当のデータテーブルをいったん削除します。
その後、データベースのインポートから、「データベース名」「データテーブルの構造(接頭辞)」を編集したSQLをインポートして、データベースに読み込みます。
※ SQLファイルをテキストエディタで編集して、再インポートするのは、あまり推奨されないそうですが、テスト環境を構築するだけなら、十分かと。
バックアップしたwp-contentsをコピーする
SQLファイルのインポートが完了したら、いったん、WordPressの管理画面に戻り、投稿やカテゴリーが本家サイトと同じように反映されているか、確認します。
ちなみに、wp_postsやwp_postmeta、termデータをインポートした段階では、画像ファイルは正常に表示されないものです。
何故なら、SQLファイルに書き込まれたメディア関連のデータは、画像URLや画像IDといったテキスト・データのみで、画像ファイルそのものを読み込むわけではないからです。(分かってると思うけど)
ちゃんと表示されているとしたら、URLが本家サイトのままで、本家サイトから画像を呼び出す形になっています。
特に問題なければ、先程、バックアップ・フォルダに保存したwp-contents(メディアファイル、テーマ、プラグインなど)を、そっくり、テストサイトのwp-contentsにコピーします。
メディア・ライブラリに正しく画像が表示されたら成功です。
テストサイトのアクセス制限を行う
いろいろ気を付けていても、テストサイトのURLが漏出したり、botに捕捉されることもありますので、BASIC認証をかけて、アクセスを制限しましょう。
cPanel の ファイル > ディレクトリプライバシーからアクセスして、目的のディレクトリの『編集』を開きます。
『このディレクトリをパスワード保護します』にチェックをいれます。
『保護されているディレクトリの名前を入力します』は。目的のパスが正しく表示されていたら、そのままでOK。
いったん『保存』をクリックします。
ディレクトリがロックされると、下図のようなメッセージが現れるので、続いて、『ユーザーの作成』を設定します。
アクセスを許可する『ユーザー名』と『新しいパスワード』を設定し、『保存』すれば、『認証済みユーザー』のリストに追加されます。
万一、テストサイトのURLが漏出して、外部からBOTや人がアクセスしても、ブロックされるので安全です。
本家サイトとの区別を付ける
地味に大事なのが、本家サイトとテストサイトの区別を付けることです。
私も以前、テストサイトと勘違いして、せっせと新規プラグインを試していたら、実は本家サイトで、冷や汗が出たことがありました。
ブログの名称を『テストサイト』にしていても、管理画面やプレビュー画面が本家にそっくりだと、一度は勘違いするので、管理画面を色づけしたり、テーマ・テンプレートは違うカラースキームを取り入れたり、ブラウザのアイコンも別にした方がいいです。
管理画面の色を変える
管理画面の色合いは『ユーザープロフィール』で変えることができますが、より幅広い色使いが欲しい方は次のプラグインを試して下さい。
こちらはデフォルトのカラースキームに、更に、8種類の色合いが追加されます。
ブラウン系の『Vinyyard』や『グリーン系』のLawnが綺麗です。
Admin Color Schemes
https://wordpress.org/plugins/admin-color-schemes/
こちらは、管理画面の色合いもデザインも変えてしまう爽やか系のプラグインです。
WordPressの管理画面をカラフル&すっきり『Colorize Admin』でも紹介していますが、カラーの組み合わせも豊富で、管理画面が全体にすっきり綺麗になります。
ここまではっきり差別化すれば、テストサイトと本家サイトを勘違いすることもないと思います(^_^)
Colorize Admin
https://wordpress.org/plugins/colorize-admin/
ブラウザのファビコンを変える
ブラウザのファビコンも勘違いの元です。
テーマ・テンプレートのカスタマイザーで、一目でテストサイトと分かるアイコンに変更しましょう。
『free icon test』あたりで検索すると、いろいろ見つかります。
テストサイトをワンクリックで本家サイトに反映させる
cPanelの『WordPress Manager by Softaculous』を使えば、テストサイトをそっくり、そのまま、本家サイトに反映させることができます。
『現状のインスタレーション』の中から、目的のテストサイトを選択。
左から二番目の『複製』を選択します。
左端から、『Create Stagging』、『複製』、『バックアップ』、『編集(管理者名やパスワードなど)』『削除』です。
『インフォメーションの複製詳細』で、インストール先のURLとディレクトリ、データベース名を設定します。
この時、URLに既存のWordPressサイトが存在すると、複製インストールができないので、一瞬! 本家サイトを削除します。
設定が正しければ、複製作業は数十秒で完了します。(投稿数1000以下、テキストメインのサイト)
本家サイトの消失が不安な方は、『Create Stagging』を利用しましょう。
こちらは、本家サイトをバックアップ用ディレクトリにスタギング(コピーサイトを作成)し、カスタマイズが完了したら、再び、本家サイトに押し戻す仕様です。
私は、URLの書き替えなどが不安だったので、『一瞬削除 → 複製』を採りましたが、Staggingの機能に詳しい方は、そちらを試してもいいかもしれません。
終わりに
手順を文章化すると、とても複雑で、時間がかかるような印象がありますが、要は、『wp-contentsとデータベースのバックアップ』『移行作業(wp-contentsとデータのインポート』『テストサイトのセキュリティロック』です。
ちなみに、セキュリティロックは、一日放置しただけで、botが飛んでくることがありますので、テストサイトの設置が完了したら、すぐに取りかかりましょう。
テストサイトを構築する最大のメリットは、「新規プラグインやテーマ・テンプレートを試す」という点にありますが、同時に、投稿のバックアップの役割もあります。
急に思い立って、削除したものの、「やっぱり、削除しなければよかった(書き直さなければよかった)」と後悔することもあります。
そんな時、テストサイトに投稿が残っていると、結構、安心なんですね。
またプラグインも、お試しでインストールする度に、wp-options が膨張することもあります。
無効化・削除しても、設定だけは残っていることが多く、数年前に使っていたプラグインの設定データが今も数十行にわたってwp-optionに格納されていることもしばしばです。
特に、ギャラリー、セキュリティ、高速化など、大型で複雑なプラグインの場合、wp-optionsに書き込まれるデータ量も膨大で、無効化・削除しても、ゴミのように残っていることが多いので、何度でも潰して復元可能なテストサイトをぜひ活用して下さい。