[WordPress]ロリポップへ移行作業で500エラー!対処方法をまとめてみた

Tips

エックスサーバーからロリポップサーバーへWrodpress移行作業を依頼され、作業しているとハマったところがありまして。今後、同じ作業したときのために、つまづいたところと対処方法を備忘録でまとめてみました。

エックスサーバーからロリポップサーバーへWrodpress移行すると500エラー

WordPressでファイルサーバおよびDBサーバーすべて移行する場合、以下の手順を行います。どのツールをつかってもツール内でやっていることはだいたい同じです。

  1. 移行元のwordpressファイル・DBをバックアップ
  2. wordpressのフォルダを移行先へコピー
  3. 移行元DBを移行先DBへインポート
  4. 移行先DBデータの旧URLを新URLに変換
  5. 移行先wordpressフォルダ内、wp-config.phpの設定を移行先DB

たいてい上の手順でうまくいくんですけど、今回、エックスサーバからロリポップサーバへWordpressを移行したら、500エラーが発生してサイト表示されなかったんです。しかも、管理ログイン画面も表示されない。……ナンテコッタイ!状態。

500エラーの主な原因

WordPressで500エラーというとおもな原因として以下の3つが想定されます。

  • CGIの誤り
  • .htaccessファイルのエラー
  • サイトにアクセスが集中している場合

今回、移行作業のときにロリポップではphpのバージョンでエラーを起こすと聞いていたので、事前確認してて問題なし。移行先のreadme.htmlにアクセスするとアクセスできるので、読めるので、wordpress直下の.htaccessファイルエラーでもない。さっきあげたばっかだから、サイトにアクセス集中していないし。

え、どうなってんの……。

500エラーの原因はプラグインだった

500エラーが起きる原因をしらべていたところ、プラグインで発生する場合があることがわかりました。

対処方法としてはプラグインを停止させることなんですが、現状、管理画面が見れない。

しかし、上のサイトでも同じ現象だったようで、FTPサーバーにアクセスできれば、FTP上のプラグインのフォルダ名を一時的に変更するでした。というものでした。

ロリポップのサーバーで行う場合、ロリポップ! FTPサーバーにログインして以下のフォルダまでアクセスする。
wp_content>plugins

プラグインごとにフォルダを切られているので、怪しいプラグインのフォルダ名を変更する。
(どのプラグインかわからない場合、Pluginsフォルダ自体の名前を一時的に変更してみてください。)

フォルダ名を変更後、サイト表示する。

ここまででサイトがちゃんと表示されれば、よし。実際にサイト表示されました。
もし原因のプラグインがわからない場合、プラグインのフォルダ1つずつ名前変更していき、原因のあるプラグインを探すことをおすすめします。
(私の場合、犯人は「Duplicator」でした。これでサイト移行してくれって頼まれてたから入れたんですけど……おいっ!って気持ちになった。)

表示できても管理画面の表示がおかしい

実は、上記でサイト表示はされたものの、今度は管理画面の表示がおかしい状態になってしまいました。ダッシュボードなどうまく表示されないんです。

以下の方法で解決しました。

wp-config.phpの以下の箇所を変更。

define(‘DB_CHARSET’, ‘utf8mb4‘);
// 以下に変更
define(‘DB_CHARSET’, ‘utf8’);

ロリポップのインポート時に触った覚えが全くないからあとで確認してみると、ロリポップのデータベースサーバの文字コード設定が「utf8_general_ci」でした。「Duplicator」で入れるためにロリポップの簡単Wordpressで空のwordpress入れたんですけど、そのときにデフォルトの文字コード「utf8_general_ci」が反映されていたんですね。

いちおう他のテーブルやら列の文字コード確認して……。
異なる文字コードのプラグインはもうぜったい使わない。
(「Duplicator」が作成するDB「wp_duplicator_packages」が「ujis_japanese_ci」でした。)

まとめ

ロリポップサーバーへWrodpress移行作業で発生した問題をまとめてみました。今はちゃんと表示されるようになったのでよかったよかった。
文字コードとの闘いはエンジニアの宿命ですね。

最近、このような作業も頼まれることが多くなってきました。うれしい限りです。なにかお困りのことがありましたら、お気軽にご相談くださいね。