WEBコンサル

WordPressのサイトで500エラー出る原因と対応方法

こんにちは。株式会社ソライルの波多野です。

WordPressで構築したWebサイトを開いた際に、「500 internal server error」という表示が出てしまうことがあります。
これは、 何らかの内部サーバーエラーが起きているときの表示されるものですが、知識がないと何が起きたのかわからず、そしてどのように解決すれば良いのかもわからないため、焦ってしまう人もいるでしょう。

一旦ブラウザを閉じて、見なかったことにしたいところですが、このエラーは早く解決しなければ、Webサイトにアクセスしてくれたユーザーがページを見ることができないだけでなく、SEOへの影響なども出る可能性があるため放置は危険です。

そこで今回は、WordPressの500エラーとはどのようなものなのか、その原因と解決方法、SEOへの影響などについて解説します。

WordPressの500エラー(500 Internal Server Error)とは?

HTTPには様々なステータスコードがあり、今回の議題である500 Internal Server Error「500」というコードは、サーバーがリクエストを実行できない何らかの予期せぬ条件が発生したことを示しています。

WordPressの500エラーが起きた際にブラウザの画面に表示されるエラーは、

Internal Server Error
500 Internal Server Error
HTTP 500

など上記以外にもブラウザやWebサイトにより、様々な表示の種類があります。

Webサーバーの内部のどこかで何かしら問題がおきているものの具体的に何が問題なのかを解決するためには、考えられる原因を一つ一つ確認して、特定していく作業が必要です。
大切なのは、闇雲に触るのではなく、知識を持って対処していくことです。

WordPressの500エラーではSEOの評価も落ちる場合がある

WordPressで構築したWebサイトが500エラーを起こしてしまった場合、SEOに大きな影響を及ぼしてしまう可能性があるため、すぐに解決することが重要です。

なぜなら、500エラーを起こしていてサイトが数時間にわたりダウンしてしまっている間にGoogleがクロールしてきた場合、一時的な問題ではなく、サイト自体に問題があると認識し、現在の検索結果から順位を落とされてしまう可能性があるからです。

そのため、例えば500エラーが頻発している場合などにも根本的な解決を行っておく必要があると言えるでしょう。

WordPressの500エラーが起こる主な原因と対応方法

ここからは、WordPressで構築したWebサイトが500エラーを起こしてしまう主な原因と対応方法について解説します。
プラグインや.htaccessファイルなどは500エラーの原因になることが多いので、特定できれば早めに解決できるかもしれません。

また、解決できてもすぐに500エラーを頻発してしまうという場合も、下記を一つずつチェックして、根本的な解決を行っておくことをおすすめします。

キャッシュが悪さをしている

500エラーが起きるWebサイトの原因のひとつに、プラグインのキャッシュがあります。
キャッシュを自動的に削除できないプラグインなどを使用している場合、データを永続的に蓄積し続けてしまうため、サーバー負荷がかかってしまった結果、500エラーにつながってしまいます。

このような場合は、一旦手動でキャッシュを削除し、サーバー負荷を軽減してあげましょう。
また、今後の対策として、なるべく自動でキャッシュを削除できないプラグインは使わないようにすることをおすすめします。

プラグインやテーマが影響

インストールして利用しているプラグインやテーマが、500エラーの原因となっている可能性があります。
この場合は、500エラーが起きる直前に、新しいプラグインやテーマをインストールした、あるいはバージョンアップなどの更新を行ったことが考えられます。

プラグインやテーマは、世界中で様々な開発者が携わっており、特にサードパーティ製のものは、WordPress.com によって開発されたものではないため、動作が保証されていません。
そのため、新たにインストールしたり、バージョンアップを行ったりした際に、エラーを起こす場合があります。

この場合は、一度疑わしいプラグインあるいはテーマを無効にしてみることで、原因特定が可能です。
例えば複数のプラグインを利用していて、どのプラグインが原因かがわからない場合は、一旦すべてのプラグインを無効化し、その後ひとつずつ有効化して確認をしてみましょう。

原因となっているプラグインやテーマがわかったら、継続利用はやめて、同様の機能をもつ他のプラグインへの変更を行いましょう。

また、プラグインやテーマは常に最新のバージョンになっていることが大切ですので、あわせて確認をしておくことをおすすめします。

あわせて読みたい
WordPressのプラグイン管理方法と注意点

.htaccessファイルの記述がおかしい

.htaccessファイルに誤った記述があると、500エラーの原因となります。
例えば、リダイレクト設定などを行う時に、.htaccessファイルを更新して、気づかぬうちに不要なスペースなどを入力してしまっている場合なども500エラーを引き起こす原因となります。

.htaccessファイルをダウンロードして、テキストエディタで開き、不要なスペースが入っていないかを確認してみてください。

また、500エラーが起こる以前に、.htaccessファイルの変更・更新などを行っていた場合は、その個所に何らかの原因がある可能性が高いです。
そのため、一度変更前の記述に戻してみると良いでしょう。

もしも500エラーが起きている箇所を見つけられない場合は、.htaccessファイル内のコードを下記に書き換えてアップロードして確認してみてください。
これで500エラーが解消されるようなら、元の記述に誤りがあったと言うことになります。

# 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のバージョンが古い

WordPressで使用しているテーマなどのバージョンと、PHPのバージョンが合わない場合、500エラーが起きる可能性があります。
例えばサーバー引っ越しをした際、PHPのバージョンが古いものから新しいものになった時などが該当します。

そもそも古いバージョンのPHPはセキュリティ面に不安があるため、これを機にPHPのバージョンは7系の最新のものに変更すると同時に、テーマなどのバージョンがそれに適合するよう対応を進めることをおすすめします。

フォルダのパーミッションの設定に間違いがある

Webサーバー内にある各フォルダのユーザーアクセス権を設定するパーミッションに誤りがある場合、500エラーが起きる可能性があります。

パーミッションの設定に誤りがあると、500エラーだけでなく、外部から重要なデータベースに侵入される危険もあるので、至急対応が必要です。

パーミッションの設定に誤りがないかどうかは、各ファイルのプロパティで確認することができます。

FTPソフトでWebサーバーにアクセスして、
.htaccessファイル
wp-config.phpファイル
をそれぞれ右クリック→プロパティを選択してチェックしてください。

それぞれのファイルのパーミッションが、下記設定となっていれば問題ありません。

.htaccessファイルなどその他ファイル:パーミッション「644」もしくは「606」
wp-config.phpファイル:パーミッション「600」

データベース(MySQL)への接続失敗

WordPressのデータベース(MySQL)への接続に失敗すると、500エラーとなる場合があります。

データベースへの接続に失敗した場合、「データベース接続の確立中にエラーが発生(Error Establishing a Database Connection)」というエラーメッセージが表示されます。
これは、wp-config.phpとデータベースの設定にズレが生じているためです。

こうなると、WordPressのダッシュボードにもアクセスできなくなりますので、wp-config.php内のデータベース設定か、サーバー側のデータベースパスワードを修正することで解消されます。

CGIプログラムの設定に間違いがある

最近は使用が減ってきていますが、お問い合わせフォームなどでCGI(Common Gateway Interface)プログラムを利用している場合、その設定に誤りがあると500エラーを引き起こす原因となります。

500エラーが起きる直前に何らかの設定変更などを行っていた場合は、可能性が高いので、元の状態に戻して確認してみると良いでしょう。

サーバーへの負荷がかかり過ぎている

元々契約しているサーバー容量を超えるアクセスがあった場合、サーバーに負荷がかかり過ぎて500エラーとなることがあります。

契約当初よりもサイト規模が大きくなり、アクセス数が急激にのびた場合や、セキュリティを破って外部からの攻撃を受けた結果、アクセス過多となった場合などに起こりうる事象です。

純粋にアクセス数が増えたことが原因であれば契約サーバープランの変更を、外部からの意図せぬ攻撃によるものである場合は、別途原因解明と、セキュリティホールへの対応が必要となります。

あわせて読みたい
WordPressが乗っ取りにあったら対応する事と対策方法

サーバー異常が起きている

WordPressなどの問題ではなく、契約しているサーバー本体側に異常が起きている場合があります。

この場合は、契約しているサーバー会社の障害情報を公式サイトなどで確認し、改善されるのを待ちましょう。

頻繁に障害が起きるサーバーであれば、今後のことも考え、別のサーバーに引っ越しをするなど考えたほうが良い場合もあるでしょう。

あわせて読みたい
WordPressに適したレンタルサーバーの比較ポイント

作業時はバックアップをとることを忘れずに

WordPressで構築したサイトが500エラーで表示されなくなった場合は、概ねそのエラーが起こる直前の対応が原因となっている可能性が高いので、どこを触ったのかを思い出し、ひとつずつ丁寧に確認を行いましょう。

作業を行う前には、必ず事前に現状のバックアップをとっておくことを忘れないようにしてください。

修正対応などを行っていると、途中でどこをどのように触ったかわからなくなる場合があります。
そうなった時に、バックアップファイルに戻すことで、一旦リセットすることができるので安心です。

また、バックアップファイルはエラーが起きてからではなく、基本的には日頃から定期的にとっておくことが大切です。

あわせて読みたい
WordPressのバックアップをとるタイミングと方法

WordPressのサイトで500エラー出る原因と対応方法まとめ

WordPressで構築したWebサイトで「500 internal server error」 (内部サーバエラー)が起きてしまった場合は、落ち着いて一つずつ原因確認を行うことが大切です。
場合によってはSEOなどに影響を及ぼすほか、セキュリティ面での不安もあるので、放置はせずすぐに復旧対応を行いましょう。

自分で特定することが難しそうな場合や、時間がかけられない場合は、専門家に依頼したほうが早く解決できる可能性が高いと言えます。

ソライルでは、WordPressに関するあらゆる相談をお受けしています。
また、今後同じことが起きた時にもすぐに対応ができるよう、保守対応なども行っています。

WordPressは、外部からの攻撃を受けやすいというデメリットがあるため、様々な脅威から守るためには継続的な保守管理が不可欠です。

もしも自分で保守管理をすることが難しい場合は、外部に依頼するのがおすすめです。
ソライルでは、3つのプランで保守対応を請け負っています。

例えば、サーバー管理やドメイン管理のみといった簡易な保守対応から、WordPressのアップデートごとの対応や、定期的なバックアップ対応などを含む大変お得なプラン、また、必要に応じてページの編集対応などもおこなう+αのメリットがあるプランなど、自社のWebサイトにあった保守内容にてご利用いただくことができ便利です。

ソライルでのWebサイト保守対応プランについては、下記ページで詳しくご紹介しているので、ぜひご覧ください。

お問合せ