- WordPress
サイト引越し屋さん編集部
WordPress引越しで500エラーが起きる6つの原因と対処法
WordPressのWebサイトを移転する際に発生する問題として、しばしば500エラー(Internal Server Error)によりサイトが突然表示されなくなってしまうことがあります。
500エラーになると突然ページが表示されなくなる上に、具体的なエラー内容も描かれていないため、何が起きたかわからず戸惑ってしまうことも多いのではないでしょうか。
しかし、早急に解決しないとそのまま放置してページが表示されないだけでなく、SEOに悪い影響を与える可能性もあります。
今回の記事は、実際にどんなエラーが発生した際にこの500エラー(Internal Server Error)が発生するのか、そして各原因の対処法を解説していきます。この記事を読めば、もう500エラーが起きても恐れることはありません。
「エラーが出てしまいサイトが表示されなくなくて困っている。」
「自分で復旧しようとしたが上手くいかずお手上げ状態。」
そんなときはサイト引越し屋さんにお任せください。
WordPress専門のエンジニアが復旧作業を代行いたします。
目次(クリックで飛べます!)
500エラー(Internal Server Error)とは?
500エラー(Internal Server Error)とは、簡単に言えば「サーバー側で何かしらの問題が発生し、正常にページが表示できません」といった意味のエラーです。
500エラーの表示パターンは、ブラウザによって以下のように様々な表示パターンがあります。
- “500 Internal Server Error”
- “Internal Server Error”
- “HTTP 500 – Internal Server Error”
- “HTTP 500”
- “500 Error”
- “500 – Internal Server Error”
- “500 Internal Server Error. Sorry something went wrong.”
- “The website cannot display the page – HTTP 500.”
- “Is currently unable to handle this request. HTTP ERROR 500.”
500エラー(Internal Server Error)は「サーバー内のプログラムが処理できる状態ではない」場合において発生し得るエラーです。さまざまな原因が考えられるので、「即座にどこでエラーが発生しているのか」絞り込むことが難しいのが特徴です。
WordPress内のPHPのコードミスかも知れませんし、設置したサーバー設定ファイルによるものかもしれません。また関連アプリケーションのCGI設定にエラーの原因があるかもしれません。
とはいえ、WordPressの引越しを行う際に発生する500エラーに関して、代表的な原因をいくつか紹介しておきますね。
以下でその代表的な例について解説していきます。
※IIS7.0以降のWindowsでは、500エラーの原因を特定するために、専用のHTTP状態コードが定義されるようになりました。
500エラーが起きる6つの原因と対処法
WordPressの引越しで起こる500エラー(Internal Server Error)の原因は主に以下の4つです。
- 「.htaccess」の記述に問題がある
- PHPのバージョンに問題がある
- CGIプログラムの設定に問題がある
- フォルダのパーミッション設定に問題がある
- サーバーの過負荷
- データベース接続の失敗
それぞれ解説していきますね。
エラーの原因①:「.htaccess」の記述に問題がある
WebサーバーにApache(アパッチ)を使用している際に、設定ファイルとして「.htaccess」を設置します。
WordPressの引っ越しをする際は、リダイレクト設定や公開前のアクセス制限のために、このファイルの記述を変更することがありますが、このファイルに記述ミスなどがある場合に500エラー(Internal Server Error)が発生します。
「.htaccess」の記述は慣れないと難しいため、変更する際はこまめに変更が反映されているかを確認し、エラーが発生した場合は記述に間違いがないかをよく確認してみましょう。
もしエラー箇所が判別できない場合には、バックアップを取ったうえで下記コードだけ残して上書きしてみてください。下記コードはWordPressを動かすうえで最低限必要なコードのため、不要なコードを削除したことで解決する可能性があります。
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
サブディレクトリにてサイトを表示している場合は下記になります。
# BEGIN WordPress
RewriteEngine On
RewriteBase /サブディレクトリ名/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /サブディレクトリ名/index.php [L]
# END WordPress
エラーの原因②:PHPのバージョンに問題がある
引越し先のPHPバージョンが、WordPressのテーマやプラグインに合わないものを使っていると、500エラーが起こる場合があります。
よくありがちな例は、移転元のPHPバージョンが古いにもかかわらず、移転先サーバーのPHPバージョンが新しいケースです。下記のような形です。
- 移転元のPHPバージョン:5.6
- 移転先のPHPバージョン:7.2
この場合には、サーバーの管理画面からPHPのバージョンを変更し、移転元サーバーと同じバージョンになるよう設定してあげてください。
なお、将来的にPHPのバージョンをアップしたい場合には、いきなり上げずにテストしてから実施することをお勧めします。具体的な方法についてはこちらをご覧ください。
エラーの原因③:CGIプログラムの設定に問題がある
CGIプログラムの設定にミスがある場合も500エラー(Internal Server Error)が発生します。
最近ではあまり使われませんが、メールの配信周りやお問い合わせフォーム周りなどには、今でもCGI(Common Gateway Interface)のプログラムを別途設置していることがあります。その場合は、設定に問題がないかを一度確認してみてください。
エラーの原因④:フォルダのパーミッション設定に問題がある
サーバーの各フォルダにはどの権限のユーザーが内部にアクセスができるのかを示す「パーミッション」が設定されています。このパーミッションの設定が間違っていることにより、500エラー(Internal Server Error)が発生することがあります。
パーミッションの設定は、WordPressだけでなく内部のPHPやCGIなど全てに関係があるため、一概に「必ずこの設定にしたほうがいい!」とはいえません。
ただ、原因としては、
- 本来WordPressやPHPのプログラムがアクセスできるはずの領域がパーミッションが狭められているため、アクセスができない。
- 本来はアクセスができない領域のパーミッションがオープンになっているため、エラーが発生している。
といった2パターンが考えられます。
WordPressの場合ではパーミッションの設定が755 (rwxr-xr-x)が正しいフォルダなのに、700 (rwx——)となっていたり、777 (rwxrwxrwx)となっているケースがよく見受けられます。
パーミッションの設定ミスは、エラーを引き起こすだけでなく、セキュリティの問題にも直結するため、おかしいと思ったら正しい設定を確認するようにしてください。
エラーの原因⑤:サーバーの過負荷
一時的にサーバーに負荷が掛かってしまい、500エラーが発生するケースがあります。
数分置いてから、再びページを読み込むことで無事に表示されるはずです。他のブラウザからもアクセスして表示確認してみましょう。
また、WordPressのプラグインやテーマを変更/更新した後に、500エラー発生することがあります。これも一時的なものが多く、再読み込み(F5やCtrl + F5)で回復するケースがほとんどです。もし解決しない場合は、該当しそうなプラグインを無効化してみましょう。
もしサーバーダウンしていた場合はこちらの記事も参考にしてみてください。
エラーの原因⑥:データベース接続の失敗
サーバー上にあるWordPressのMySQLデータベースへの接続に失敗すると、500エラーが出てしまうことがあります。
その際には「データベース接続の確立中にエラーが発生(Error Establishing a Database Connection)」というメッセージが現れます。この状態だと、WordPressのダッシュボードへのアクセスもできません。
これは、サーバーのデータベースとWordPressの設定ファイル(wp-config.php)の設定がズレてしまったことが原因です。wp-config.php内のデータベース設定、あるいはサーバーのデータベースパスワードを修正すれば解消されます。
各レンタルサーバーのサーバー管理画面(サーバーパネル)より、MySQLデータベースが確認できるので、wp-config.phpファイルの記述と一致しているかなどをチェックしてみましょう。
より詳しい設定方法については、下記記事のwp-config編集の解説をご覧ください。
500エラーが続くとSEO評価にも影響が!
500エラー(Internal Server Error)が解決しないからと、そのページをそのまま放置する方もいるかもしれませんが、サイト管理者としてはやってはいけない行為です。
仮にあなたがサイトを訪れたユーザーだとして、表示されたページに500エラーが出ていたら明らかにマイナスイメージですよね。Googleも当然それを踏まえて、SEOの評価を下げます。
したがって、SEO評価の大幅なマイナスとなります。
そのため500エラー(Internal Server Error)が出た場合はすみやかに解決しましょう。すぐの解決が難しい場合は本番からそのページを取り下げる判断が必要です。
ご自身での解決が難しく、事態が長引いてしまう場合は専門の業者に解決してもらうことも一つの手です。
サイトにアクセスできない状態が続くと、大きな機会損失にもつながるので、できるだけ早く解決したいところですよね。
もちろん、弊社でもWordPress移転の専門業者として対応可能です。相談は無料で承っておりますので、まずはお気軽にご相談くださいませ(^ ^)
「エラーが出てしまいサイトが表示されなくなくて困っている。」
「自分で復旧しようとしたが上手くいかずお手上げ状態。」
そんなときはサイト引越し屋さんにお任せください。
WordPress専門のエンジニアが復旧作業を代行いたします。
この記事を書いた人
サイト引越し屋さん編集部
日本で最も利用されているサーバー移転&保守代行サービス『サイト引越し屋さん』の中の人です。 サイト引越しに関わる技術情報をはじめ、WordPressやその他のWebサービスに関するノウハウを発信しています。 全日本SEO協会所属。
本サイトにてご提供している情報については、最新かつ正確な情報を提供するよう努力していますが、情報の正確性や完全性を保証するものではございません。また、コンテンツには一部プロモーションが含まれております。本サイトの情報を利用することによって生じたいかなる損害に対しても、当社は責任を負いかねます。情報をご利用される際は、ご自身の判断と責任において行っていただきますようお願い致します。