Elementorを使ったサイトはレンタルサーバーなどの簡単引っ越し機能を使うと移管時にエラーが発生することがあります。
そんなときはElementorの公式ページでも推奨されているDuplicatorというプラグインを使った移管がおすすめです。
ここではその方法について手順を実例を踏まえて解説しています。
バックアップをとる
Duplicatorで移管する際に、データベースの設定などをミスると古いWEBサイトも新しいWEBサイトもどちらも表示されないといった事象が発生します。
必ず事前にバックアップをとるようにしてください。
Duplicatorのインストール
WordPressのプラグイン「Duplicator」をインストールし有効化します。
サイトのスキャン(移行可能か調べる)
有効化が完了したら、WordPress管理画面の下の方にある「Duplicator」メニューをクリックします。
右上の「Create New」ボタンをクリックします。
設定はデフォルトのままで「Next」をクリックします。
すると、現在のサイトをスキャンして移行可能かどうか調べてくれます。
エラー対処:The database size exceeds the allowed mysqldump size limit.
エラーの内容
サイトをスキャンした場合に以下のようなエラーが発生する場合があります。
実際にサイトを確認すると設定は以下のようになっており、問題の memory_limitは512MBになっています。
php_value memory_limit 512M
php_value max_input_vars 2000
php_value post_max_size 64M
php_value upload_max_filesize 32M
最低でも639.94MB以上ということなので、ここで問題が発生しています。
エラー対処法
エラーの対処法も親切に記載してくれています。
memory_limit 値を少なくとも 639.94MB以上にするとのことなので、.htaccessを以下のように書き換えます。
php_value memory_limit 1024M
php_value max_input_vars 2000
php_value post_max_size 64M
php_value upload_max_filesize 32M
変更を保存したら、下部の「Rescan」ボタンをクリックします。
無事エラーがでなくなりました。
ビルドする
サイトをスキャンして問題がなければ「Build」ボタンをクリックします。
ビルドが完了すると次の2つのファイルがダウンロードされます。これをPCに保存しておきます。
データベースの作成
続いて移動先のサーバー上に移管用のデータベースを作成します。
レンタルサーバーなどに入ってデータベースを生成します。
※ユーザーにすべての権限を付与してください。
以下情報を使用するのでメモっておきます。
ファイルのアップロード
先ほどDuplicatorプラグインを使ってダウンロードした2つのファイルを移行先のディレクトリにアップロードします。
サーバにファイルをアップロードする方法
サーバにファイルをアップロードする方法は以下をご参考ください。個人的にはWebDAVがとても簡単なのでお勧めです。(サーバーがWebDAVに対応しているのであれば)
- 【超簡単】WebDAVを使ってレンタルサーバーのディレクトリをローカルのフォルダ(エクスプローラー)に表示する方法
- 【画像で解説】WinSCPの使い方。無料FTPソフトでサーバーと接続しファイルをダウンロード・アップロードする方法
Duplicatorインストーラーを開く
サーバーへのファイルのアップロードが終わったら、ファイルをアップロードしたディレクトリのURLの末尾に「installer.php」をつけてURLをたたきます。
- ドメイン/installer.php
サブディレクトリに保存した場合は以下のようになります。
- ドメイン/サブディレクトリ/installer.php
例えば、「example.comのtempディレクトリ」にファイルを保存した場合は、https://example.com/temp/installer.phpとなります。
URLをたたくと下記のDuplicatorの画面が表示されます。
OverviewはなにもいじらずでOKです。
データベースの設定
データベース接続情報の入力
Setupを開くとデータベースの接続情報が表示されます。
ここに移管用に作成したデータベースの情報を入力します。
↓
HOSTはレンタルサーバーによってはサーバーと表示されていることもあります。lolipopの場合は「~.phy.lolipop.lan」が該当します。
右下の「Validate」をクリックします。
通知の確認:utf8とutf8mb4の違い(Notice:Character Set and Collation Support)
データベースの検証で以下のような警告が表示されました。
MySQLではデータベースのデフォルトの文字コードとして「utf8」と「utf8mb4」を選ぶことができます。通常は「utf8mb4」を使用します。
上記通知では「utf8mb4」を使うといっているので、これでよしとします。
なお、これは一般的に呼ばれるUTF-8とは異っています。
文字コード | 概要 |
---|---|
UTF-8 | 1文字を1〜4バイトで表現 |
utf8 | mysqlで使用。1文字を1〜3バイトで表現 |
utf8mb4 | mysqlで使用。1文字を1〜4バイトで表現 |
インストール実行
「I have read and accept all terms & notices*」にチェックを入れたら「Next > 」をクリックします。
インストール前の最終確認が表示されるので「OK」をクリックします。
Duplicatorの最終テスト
サイトの複製が完了すると自動でテストを実施してくれます。
問題がなければ「Admin Login」をクリックします。
インストールに使用したファイルを削除する必要がありますが、「Auto delete installer files after login to secure site (recommended!)」にチェックを入れておけば、管理画面にログインした際に自動でファイルを削除してくれます。
WordPressの管理画面にログインすると、移管が無事完了したと表示されます。
ただし、まだ完了ではありません。WordPressの管理画面で最後の仕上処理が残っています。
ページが見つからない場合
もとのサイトでSecurity Guardなどのプラグインを使ってWP管理画面のログインURLを変更している場合、「Admin Longin」をクリックしたときにページが見つかりませんと表示されることがあります。
このときログインURLが「https://ドメイン名/login_1234」のようになっていることがあります。
その場合は末尾のアンダースコア以下を消して「https://ドメイン名/login」としてください。
注意点:.htaccessは初期状態になる
Duplicatorを使ってサイトを複製すると、複製先のディレクトリに生成される.htasscessはWPを初期構築した状態のものになります。
もとのサイトでメモリリミットの変更や転送設定などを.htaccessに書き込んでいた場合は、移転先のディレクトリにある.htaccessに追記してください。
Elementorの処理
ElementorでURLを置換する(Replace URL)
Duplicator はサイトのコンテンツのほとんどの URL の置換を処理してくれますが、Elementorの場合はElementorの組み込みツールを使用してURLを置換する必要がある場合があります。
管理画面で「Elementor > Tools」をクリックします。
上部の「Replace URL」タブを選択します。
ここに旧サイトのURLと移管後のサイトのURLを入力し「Replace URL」をクリックします。
CSSとデータの再生成(Regenerate CSS & Data)
重大なエラーや500サーバーエラーが発生した場合の対処法
WordPressでDuplicatorなどの移管ツールを使ってサイトを移管した後に、WordPressの管理画面は表示されるのにWEBサイトが表示されないことがあります。
この原因はとても簡単で、.htaccessが新規作成されたために、もともと追記していたphp_memory_limitなどの、PHPサーバーの設定の記述がなくなってしまったためです。
修正は、もともとのコードを追記すればOKです。
詳細は下記記事をご参考ください。