WordPressサイトを別のサーバーに移転する際に、ファイル一式やDBをエクスポートして移転先でインポートしたときに500エラーが起きることがあります。
500エラーは、All in One Migraionを使って移転する場合はあまり行らないエラーです。
まず、PHPのバージョンを疑ってみる
PHPが7系になっている場合は、PHP5.6に変更してみます。
それで、500エラーが解消すればひとまず安心です。
問題なのは、移転元のPHPバージョンがPHP7なのに、移転先でPHP5に落とさないと動かなかったケースです。
その場合は、PHPのバージョンの違いが500エラーの本質的な原因ではないからです。
一時的な回避策としてPHP5に落とすとしても、何かが間違っていますので原因を探す必要があります。
500エラーが起きる時はドットファイルが怪しい
ドットファイルというのは、ファイル先頭にドットが付いている隠しファイルのことです。
例えば、.htaccessが対応します。
ドットファイルはサーバーの設定に関わるものですので設定が間違っていると致命的なエラーにつながります。
500エラーが発生した場合は、ドットファイルの存在をまず確認します。
.htaccess以外にドットファイルが在れば、それらも確認する必要があります。
wordpressは、.htaccessが無くてもサイトは表示できますから、一度.htaccessを別のファイル名に変更してみます。
それで解決する場合は、.htaccessの記載内容に問題があります。
それでも解決しない場合は、別の問題があります。
他のサーバーで使用していたドットファイルをそのまま、別のサーバーにコピーしてしまうとトラブルの原因となりやすいです。
.user.iniとか.php.iniなどのPHP関連設定などをそのままコピーしてしまうと、移転前のサーバーにしか適用できないような内容が含まれていることがあります。
その場合は、.htaccess以外のドットファイルを一度別のファイル名に変更してみます。
それで500エラーが解消し、移転前のサーバーで自分で設定した覚えが無いのであれば、そのファイルは不要です。
wp-config.phpなどのパーミッションの影響
wp-config.phpのパーミッションが稀に影響することがあります。
その場合は、644にしましょう。
WordPressサイトは、ディレクトリは755、ファイルは644にしておけば基本問題がありません。
セキュリティ対策で一部のファイルを400とかにすることはありますが、それが原因でエラーになることがあります。
まとめ
WordPressサイトで500エラーが発生すると原因の解析が大変です。
エラーメッセージが表示されないためです。
ほとんどの場合は、サーバーが読み込む設定ファイルに問題がありますので、ドットファイルを疑ってみてください。