WordPressのサイトで503エラーに遭遇したことはありませんか?これはよくあるWordPressのエラーで、今日のチュートリアルで取り上げた手順に従うことで修正できます。
これらの手順のいくつかは技術的に見えるかもしれませんが、実際には深い技術的な知識は必要ありません。
この記事では、まずWordPressの503エラーの原因について説明し、次に考えられるすべての解決策と、今後503エラーに遭遇するのを防ぐ方法を紹介します。
それでは、さっそくご覧ください。
503エラーを修正する方法(WordPress)
1. プラグインを一時的に停止する
2. テーマを一時的に停止する
3. CDNを一時的に無効にする
4. WordPressのheartbeat APIを制限する
5. WP_DEBUGを有効にする
503エラーは何ですか?その原因は何ですか?
503エラーは、ウェブサイトのサーバーに到達できないとき、つまり、サーバーが利用できないときに発生します。
利用できない理由としては、コード化されたプラグインやテーマ、不正なコードスニペット、サーバーの不具合、DDoS攻撃、ホスティングサービス全体の品質問題などが考えられます。
それぞれの原因について詳しく見ていきましょう。
プラグインやテーマのコーディングに問題があります。
一般的に、503エラーは、コード化不良のプラグインやテーマをインストールまたは更新したときに表示されます。プラグインやテーマが正しく機能しない場合、WordPressが503エラーをスローする原因となる。
コードスニペットが不正に使用されている。
WordPressサイトのカスタマイズは超簡単です。ここにCSSコードを追加し、ここにPHPスクリプトをアップロードして、ニーズに合わせてサイトを変更することができます。
しかし、カスタムコードの一部が悪ければ、多くの問題を引き起こす可能性があります。
あなたが経験している503エラーは、そのような悪いコードスニペットが原因である可能性があります。
ウェブホスティングの設定が悪い。
我々は、すべてのため手頃な価格の要因の共有ホスティングサービスを愛するが、めったに我々はそのようなセットアップの欠点を考慮していない。
同じサーバー上の他の未知のウェブサイトとあなたのウェブサイトをホストすることは、ウェブサイトのいずれかがサーバーのリソースを過度に使用してしまう可能性があることを意味します。
あなたのウェブサイトは、503エラーの原因となった、そのリソースを奪われている可能性があります。
サーバーの技術的な問題。
サーバーがダウンしている理由は、メンテナンス中か、その他の予定された作業中である可能性があります。通常、このような理由による問題は、数時間後には解消されます。
ただし、ホスティングプロバイダーは、メンテナンス中もサイトが稼働できるように、ミラーサーバーを用意しているはずです。
DDoS攻撃
あまり頻繁に起こることではありませんが、503エラーは、あなたのウェブサイトに対する攻撃によって発生した可能性があります。
特にDDoS攻撃は、しばしば503エラーと関連しています。この種の攻撃では、ハッカーがあなたのウェブサイトに大量のトラフィックを送り込み、サーバーが過負荷になり、サイトがクラッシュするからです。
WordPressサイトへのDDoS攻撃とそのリスクを軽減する方法について、詳しくはこちらをご覧ください。
以上が、WordPress サイトで 503 エラーが発生する典型的な理由です。
このエラーには、いくつかの異なるバリエーションがあることに留意してください。
- “503 Service Unavailable” (503サービスが利用できません
- “503 Service Temporarily Unavailable” (503サービスを一時的に利用できない)。
- “HTTPサーバーエラー503”
- “HTTPエラー503”
- “503サービス利用不可エラー”
- “サーバーは、メンテナンスのダウンタイムまたは容量の問題のために一時的にあなたの要求にサービスを提供することができません。後でもう一度お試しください。”
以下に取り上げた解決策で、WordPress ウェブサイトの 503 エラーを修正できるはずです。
503エラー(WordPress)を修正する方法
正確な修正方法は、根本的な原因によって異なります。503エラーそのものは、あまり情報を与えてくれません。そこで、このセクションでは、原因を突き止め、それを修正するためのいくつかのステップを紹介します。
解決策に踏み込む前に、以下の事前手順を実行していることを確認してください。
WordPressの503エラーは、プラグインやテーマを更新しているときにも発生します。一時的な問題かどうかを確認するために、もう一度ウェブサイトをチェックしてみるとよいでしょう。
ただ、サイトを確認する前に、キャッシュをクリアしたことを確認してください。
先ほども書きましたが、Webサーバーのメンテナンス作業で503エラーが発生することもあります。ホスティングプロバイダーから電子メールでその旨の警告があったはずです。
一般的なメンテナンスの警告では、サーバーがダウンする見込みの期間について通知されます。メールをチェックしてみてください。
もし、あなたがウェブサイトにコードスニペットを追加した直後にエラーが表示されたのなら、犯人が誰なのかわかっているはずです。そのコードを削除すれば、ウェブサイトは正常に戻るはずです。
しかし、ダッシュボードにアクセスできなくなった場合は、Webサイトのバックアップを復元することをお勧めします。ホスティングプロバイダーは、これであなたを助けることができるはずです。
うまくいきませんでしたか?それなら、以下の手順を試してみましょう。
1. プラグインを一時的に無効化する
503エラーは、サイトにインストールされているプラグインが原因で発生することが一般的です。プラグインが原因でエラーが発生したかどうかを判断するには、すべてのプラグインを一時的にのみ無効化する必要があります。
503エラーはダッシュボードにアクセスできないので、FileZillaのようなFTPクライアントを使用する必要があります。
FileZillaを開き、あなたのサイトに接続し、public_htmlディレクトリに移動します。フォルダを開き、wp-contentに移動します。
このディレクトリの中に、pluginsと呼ばれる別のものが見つかります。このディレクトリには、あなたのサイトのすべてのプラグイン(アクティブと非アクティブ)が含まれています。plugins ディレクトリを plugins_
などにリネームしてください。これで、あなたのサイトにあるすべてのプラグインが無効になります。
もう一度サイトに戻り、503エラーが消えているかどうかを確認します。もし消えていれば、プラグインがエラーを引き起こしていると考えてよいでしょう。
今度は、問題を引き起こしているプラグインを正確に突き止める番です。
FileZillaに戻り、プラグインディレクトリの名前を元のもの(”plugins”)に戻してください。中に入って、すべてのプラグインを一つずつ調べ始めます。これを実行します。
-
- ディレクトリ内の最初のプラグインの名前を他のものに変更します。
- ウェブサイトをチェックして、エラーがなくなっていることを確認します。
- 3.本当に消えていれば、原因が判明したことになります。そうでない場合は、最初のプラグインの名前を元に戻して、次のプラグインを同じ方法でテストしてください。
- あなたが問題を引き起こしているプラグインを見つけるまで繰り返し.
あなたがエラーを引き起こしているプラグインを見つけたら、それはちょうどそれを削除し、代替手段を探すのが最善です. どのプラグインも503エラーの原因になっていない場合は、次の解決策を試してみてください。
2. テーマを一時的に非アクティブにする
テーマの無効化は少し厄介で、プラグインフォルダでやったようにテーマフォルダを単純にリネームすることができません。それは、それ自身のエラーにつながるでしょう。
ホスティングアカウントにログインして、cPanelセクションに移動して、phpMyAdminを開いてください。
wp_optionsを選択して、Searchに行きます。option_nameの下に、template
と書いて、Goをクリックします。
検索が実行され、option_valueの下に現在のテーマが表示されます。Editを選択し、現在のテーマをtwentytwentyone
に変更します。
これでエラーが直るようなら、以前のバージョンのテーマ(動作したもの)を入手してインストールし、テーマの開発者がアップデートをリリースするのを待つとよいでしょう。または、別のテーマに変更することもできます。
3. CDNを一時的に無効にする
時々、CDNが503エラーを引き起こすことが知られているので、もしあなたのサイトでCDNが動作しているなら、それを無効にすることが手っ取り早い解決策になります。すべてのCDNには、手動で一時停止するためのオプションがあります。例えば、Cloudflareの場合、アカウントにログインし、ウェブサイトを選択し、Pause Cloudflare on siteオプションをクリックする必要があります。
次に、ウェブサイトを確認し、503エラーが続くようであれば、CDNの一時停止を解除し、次の解決策を試してみてください。
4. WordPress Heartbeat APIを制限する
Heartbeat APIは、投稿の自動保存、プラグイン通知の表示、他の人が投稿を変更しているときにあなたがアクセスするのを防ぐなど、いくつかの重要な機能を担っています。
このAPIは、これらの機能を実行するために、サーバーのリソースを使用します。サーバーがAPIの要求を処理できない場合、503エラーがスローされます。Heartbeat APIがエラーの原因になっているかどうかを判断するには、一時的に無効にする必要があります。
FTPクライアント(FileZilla)を開き、ウェブサイトに接続し、public_html → wp-content → themesに移動します。現在のテーマディレクトリを開き、functions.phpファイルのコピーをダウンロードし、それを編集してください。
冒頭の<<?php>>タグの直後に、以下のコードを追加します。
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat')
}
ファイルを保存し、再アップロードして、ウェブサイトを確認してください。エラーが消えたら、犯人は捕まったことになります。
しかし、Heartbeat APIは必要不可欠なものなので、長期にわたって無効にしたままにしておくことはできないことを覚えておいてください。Heartbeatコントロールプラグインをインストールすることで、その頻度を遅くすることができます。プラグインを設定する前に、functions.phpファイルからコードスニペットを削除することを確認してください。
5. WP_DEBUG を有効にする
他のすべての解決策が失敗したとき、デバッグモードを有効にすることで答えが得られるかもしれません。
プラグインを使うか、wp-configファイルを修正することで、デバッグモードを有効にすることができます。
503エラーでダッシュボードにアクセスできないので、プラグインをインストールするのは問題外です。そこで、wp-config ファイルを手動で修正する必要があります。
FTPクライアント(FileZilla)を開き、public_html → wp-config.php と進んでファイルのコピーをダウンロードし、それを編集します。その中に、以下のコードを挿入してください。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
ファイルを保存して、再アップロードしてください。
次に、wp-content ディレクトリに移動して、debug.log ファイルを見つけます。
このログファイルには、あなたのウェブサイトが経験したエラーが含まれています。このファイルには、エラーの原因となった具体的なコード行が表示されます。503エラーの直接的な兆候を見つけることはできないので、ホスティングプロバイダーにログを見せて、助けを求めることをお勧めします。
ここまでで、WordPressの503エラーに対する解決策が見えてきたはずです。しかし、今後二度と自分のサイトで発生しないようにしなければなりません。
今後、WordPressの503エラーを防止するために
- テーマとプラグインは、WordPress のリポジトリまたは信頼できる開発者(Themeisle など)から入手したものを使用してください。詳しくは、テーマの選び方、プラグインの選び方をお読みください。
- あなたのサイトが適切に機能するために多くのリソースを必要とする場合は、より良いホスティングプランに移動します。
- DDoS攻撃を防ぐためにファイアウォールを使用します。
- 本番環境で実行する前に、ステージングサイト上でプラグインをインストールまたは更新します。
以上です。これで、この記事は終わりです。
このガイドが簡単に理解でき、お役に立てたなら幸いです。