ある日突然、WordPressがHTTP 500 エラーに!その原因と対策
昨日まで問題なく表示されていたWordPressサイト、難しい作業は一切していないのに突然HTTP 500 エラー(HTTP 500 Internal Server Error)に!そんなことが実際にあります。
たとえば、BackWPupプラグインなどによる自動バックアップが原因になっている場合があります。その仕組みと対策を説明します。
ほとんどのHTTP 500 エラーは「ある日突然」ではない
回り道するようで恐縮ですが、WordPressで発生するほとんどのHTTP 500 エラーは「ある日突然」ではありません。多くの場合、PHPプログラムの記述ミスが原因です。
典型的なのがfunctions.phpです。WordPressで難しいカスタマイズをする場合、ネット検索で見つけたコードを気軽にコピペするかもしれませんが1文字でも間違えるとHTTP 500 エラーが発生します。
その対策、というより予防法ですが、PHPを修正する場合は、できるかぎりダッシュボードから作業しないことです。レンタルサーバーのFTPツールまたはFTPソフトを使うのが安全です。
実際にHTTP 500 エラーが発生してしまった場合の修正は難しいこともありますが、エラー解決のヒントになるのはエラーメッセージの「Fatal error」です。
Fatal errorの部分には問題のあるフォルダ名やファイル名、問題のあるコードの行番号が表示されるのでHTTP 500 エラーを解消するのに役立ちます。
詳しくは、以下のページも参考にしてください。
WordPressで画面が真っ白になったら「Fatal error」を探せ!
ある日突然、HTTP 500 エラーが発生する理由
テンプレートの修正など難しい作業を一切していないのにある日突然、HTTP 500 エラーになることもあります。実際、WordPress個別サポートにも相談を多くいただきます。
典型的な原因は自動バックアップです。
BackWPupなどによる自動バックアップでレンタルサーバーの空き容量が毎日着実に減り続け、空き容量がゼロになると新たなファイルを作成できなくなりHTTP 500 エラーになります。
あなたのWordPressサイトを設置しているレンタルサーバーの空き容量は十分ですか?
まさか何ギガも急に消費することはないと思うかもしれませんが自動バックアップの設定によっては、100Gを短期間で使い果たしても不思議ありません。
1Gのサイトを10日バックアップすると10Gです。このレベルは想定通りかもしれません。
仮に、そのサイトに大容量ファイルが含まれていて5Gになっていたとすると、10日で50G、20日で100Gです。
大容量ファイルとは、膨大な画像や動画というのが典型的ですが、サイト移転のためにAll-in-One WP MigrationプラグインやDuplicatorプラグインで作成したサイトのバックアップも大容量になる場合があります。
サイトの動作に不要なファイルを整理していないと毎日自動でバックアップされ、無駄に容量を消費することになります。
そんな自動バックアップが行われて100Gのうち99Gくらい消費してもサイトの動作に問題なければ異常に気づきませんが、容量オーバーになった時点でHTTP 500 エラーになります。
「昨日まで問題なく動作していたのに、なぜかHTTP 500 エラーになった」となるのは、こんな理由です。
確かに、何らかの作業が原因でHTTP 500 エラーになったわけではないので「何もしていないのに突然エラーに!」と思うのも当然ですが、この記事を読んだ方は落ち着いて自動バックアップのことを思い出してください。
対策は簡単で、サーバーから古いバックアップなど不要なファイルを削除することです。ただし、言うまでもありませんがHTTP 500 エラーでダッシュボードにアクセスできないのでFTPソフトまたはレンタルサーバーのFTPツールで削除することになります。
ある日突然のHTTP 500 エラーを検知するには
自分のサイトが突然HTTP 500 エラーになった場合、早急に検知したいですよね。といっても常に自分のサイトを監視しているわけにもいかないので、Jetpackプラグインのダウンタイムモニターが役立ちます。登録したサイトがエラーで表示できない状態になった場合、メールで教えてくれます。
これなら、突然HTTP 500 エラーが発生した場合でも早急に対応できそうですね。
まとめ
このように、テンプレート修正などの難しい作業をしていなくても突然WordPressがHTTP 500 エラーになることはあります。心配であればJetpackプラグインのダウンタイムモニターで監視するなど対策しておくと良いかもしれませんね。
HTTP 500 エラーの対策がうまくいかないときはWordPress個別サポートにご相談ください。