中級WordPressはセキュリティの観点からも最新の状態に保つ必要があります。バージョンアップによってプラグインやテーマ、またはPHPなどのサーバ仕様が原因で正常に表示できなくなるケースも見受けられます。メジャーバージョンアップの際はこれらのリスクが非常に高くなります。すればよいか?これを防ぐには事前に動作の検証確認を行うこと。今回は「検証環境なんかない」という方のために既存サイトを複製して検証環境を作る方法を紹介します。検証環境といえば、ローカル環境の構築をイメージされる方も多いと思います。OSによってやり方は異なりますし、PCが得意でなければここで挫折してしまうでしょう。手軽な方法はサーバ内にもうひとつWordPressをインストールすること。サブディレクトリやサブドメインにサイトを複製することです。WordPressの複製に必要なバックアップファイル静的HTMLサイトであれば、基本的にサーバ内のファイルが構成データのすべてです。WordPressで構築されたサイトはそうではありません。サーバ内には下記のファイルが格納されています。WordPressプログラム本体デザイン&機能(テーマ)追加機能(プラグイン)投稿に使用される画像などメディアファイルそして、実際の投稿データと各種設定データはデータベースに保存されています。移設や複製にはこの2つが必要となります。実際のサイトがexample.comで検証のための複製先がサブドメインのexample.com/proto-site/だとします。手動でサイトを複製する場合はいわゆるFTPで確認できるサーバ内のファイルをすべてproto-siteにコピーします。加えてデータベースの複製が必要となるのですが、このケースではサブディレクト配下になるため、URLが変わります。このため、URLをすべて書き換える必要がありますが、この中にはシリアライズという内容が含まれており、単純に一括で置き換えればよいというわけではありません。WordPressにそれなりに精通していれば、これらの作業はさほど難しくないのですが、やはり少々敷居が高い感じられる方も多いでしょう。ここからはWordPressサイトの移設・複製を簡単に行える「Duplicator」というプラグインを使用したWordPressの複製を解説します。WordPress用のデータベースを作成します。既存のデータベースに加えるのではなく、必ず新規のデータベースを生成ください。Duplicatorで複製の際にデータベース情報が必要となります。※この記事では同一ドメイン内での検証環境の作成を想定していますが、異なるサーバへの移設の際は新サーバで行う作業となります。データベースの作成方法が分からない場合レンタルサーバの「自動インストール」などでサブディレクトリなどに新規のWordPressインストールしてそのデータベースを使用します。元のドメインがexample.comであった場合にexample.com/proto-site/にインストールします。そのwp-config.phpより上記のデータベース情報を控えます。その上でwp-config.phpを含めてインストールしたWordPressは削除してしまいます。(proto-siteディレクトリを空にする)つまり、データベースだけを使用するということです。※インストーラの実行の際に上書きされるだけなので、ほとんどの場合で削除しなくても問題ありません。Plugin」で検索してインストール、有効化します。files.」をチェックします。(バックアップフォルダに.htaccessを生成が原因で処理がエラーとなるケースがあるため、対処しておきます。)バックアップデータの作成それでは複製データを作りましょう。Newタブをクリックします。以下のような画面になりますので、分かりやすい名称を入力して、Nextで進みます。バックアップデータのチェックが行われます。process!」をチェックしてBuildへ進みます。赤の「Notice」が表示された場合は内容をチェックします。下記は容量の大きく、複製に失敗する可能性が警告されています。この場合は最終的な作業が完了後、該当フォルダの中身をチェックして、不足があるようでしたら、FTPなどで追加します。これでバックアップデータが生成されます。複製先にコピーするinstaller(installer.php)とArchive(名称+data_xxxxx.zip)の2つをクリックしてダウンロードします。先にインストール済みの複製先WordPressフォルダにダウンロードしたバックアップファイル2つをアップロードします。この際にセキュリティの観点からサブディレクトリへインストールが推奨されています。example.com/proto-siteのような形です。検証サイトのURLにinstaller.phpを付与してアクセスします。上記であれば、example.com/proto-site/installer.phpとなります。下記の赤NoticeはWordPressのルート階層へバックアップデータをアップロードしているために警告が表示されています。(実際の復元には支障はありません)事前準備で確認した複製用のWordPressのデータベース情報を入力します。データベース情報に間違いがなければ、新しい複製サイトの情報が表示されますので、「Next」で実行します。Cleanup」実行すると、先にコピーした2つは削除されます。以下はDuplicatorで生成される可能性のあるファイル一覧です。サーバ内を確認しこれらが残っている場合は削除しましょう。_archive.ziphtaccess.xxxxx.orig実はこの「Duplicator」は重大な脆弱性が発見されたことがあります。現在は対処済みでそれだけ多く使われているということでしょう。いずれにしても、サーバ内にデータベースを書き換えるような処理を行うファイルが存在すること自体、好ましくありません。複製で使用されたファイルは削除するとともにプラグインそのものも、必要がなければ停止、もしくは削除しましょう。※複製元である本サイトにも「wp-snapshots」が生成されていますので、作業完了後は削除することをおすすめします。サイト複製の注意点これまで紹介した手順はもちろんサーバ移転でも使えます。異なるサーバへの移設ただし、ドメインが同一で移設を行う場合には新規サイトのセットアップを先に行わなければなりません。このような際にはhostsファイルを使った仮想的に新サーバにアクセスすることができます。悩まない!hostsファイルの書き方なお、メジャーバージョンアップに備えて検証環境の構築というような趣旨であれば、公開環境の元サイトでは自動更新を停止しておきましょう。WordPressのルート階層のwp-confing.phpの最下部に下記の1行を追加します。これで自動更新機能がキャンセルされます。);本番ドメイン内に検証サイトを構築する上での注意点はひとつだけ。検索エンジンにインデックスされないよう対処することです。表示設定の検索エンジンでの表示で「検索エンジンがサイトをインデックスしないようにする」をチェックすることで検索エンジンにインデックスを拒否するnoindexタグが出力されます。強力に検証サイトをガードしたい方はWordPress全体の閲覧制限を実施することをおすすめします。コメントをキャンセルメールアドレスが公開されることはありません。7の送信完了画面についての記事はひと世代前の情報です。WordPressでは自動で仮想robots.txtが出力されます。introductionウェブサービスの構築・集客コンサルティングをやっているR3098です。このサイトではWordPressの初級・中級ユーザーや集客に悩むウェブサイトオーナーに向けた情報を発信しています。