WORDPRESS网站500、502、503、504错误的3大罪魁祸首

私はいくつか運営していますWordPressそのウェブサイトは、502エラーが原因で1日に800件以上のアクセスを失ったことがあった。3日間の調査の結果、原因はバックエンドの目立たない設定にあることが判明した。

WordPressサイトを運営している人なら誰でも知っているように、最もイライラするのはアクセス数の少なさではなく、ウェブサイトが突然アクセス不能になり、500、502、503、504といった意味不明なエラーメッセージが画面に表示される時です。

あなたはサーバーがクラッシュしたと思い込み、ホスティングプロバイダーに詰め寄って抗議したが、プロバイダーがサーバーの状態を確認したところ、全く問題なかったことが分かった。

プラグインの競合が原因だと思い、プラグインを一つずつ無効化してトラブルシューティングを行い、ほとんど一日を費やしても、エラーは繰り返し発生する。

実際、それほど複雑である必要はありません。数え切れないほどの落とし穴にはまった経験から、WordPressウェブサイトの5xxエラーの80%は、以下の3つの原因から逃れられないことを発見しました。それぞれ巧妙に隠されていますが、簡単にウェブサイトを台無しにしてしまう可能性があります。

それでは、私自身の実際の経験に基づいて、これらの落とし穴を明確に解説していきます。初心者の方でも手順に沿ってトラブルシューティングを行い、二度とミスに悩まされることがないようにするためです。

WORDPRESS网站500、502、503、504错误的3大罪魁祸首

原因その1:WP-CRONが無効化されていなかったため、ウェブサイトに「隠れた電力消費」が発生していた。

多くの人は知らないが、WordPressにはWP-CRONと呼ばれるスケジュールタスク機能が組み込まれており、デフォルトで有効になっている。

その機能は非常に実用的で、記事の公開スケジュール設定、自動バックアップ、プラグインのアップデート確認、さらには会員へのリマインダー送信などが含まれる。

しかし、この一見便利な機能が、実はサーバークラッシュや5xxエラーを引き起こす最大の原因であることをご存知でしたか?

WP-CRONは、サーバー本来のCronとは異なります。WP-CRONは積極的に実行されるのではなく、ユーザーの訪問をトリガーとして起動します。ユーザーがウェブサイトにアクセスするたびに、/wp-cron.phpファイルが密かに実行され、実行すべきスケジュールされたタスクがあるかどうかを確認します。

つまり、ウェブサイトへの訪問者が増えるごとに「負担」が増え、訪問者数が増えるほどその負担は重くなるということです。

以前、1日に1000人以上の訪問者があるウェブサイトを運営していました。WP-CRONを無効にしていなかった場合、サーバーのCPU使用率が80%を超えることが頻繁にあり、毎日少なくとも2回は503エラーが発生し、訪問者がクリックするとすぐにエラーページにリダイレクトされていました。

さらに悪いことに、スケジュールされたタスクを設定しなくても、WP-CRONは自動的に実行され、サーバーリソースを繰り返し要求します。時間が経つにつれて、サーバーは負荷を処理しきれなくなり、エラーを報告します。

GitHubのドキュメントには、「予期しないHTTPレスポンスコード:500以上。これは、サーバー上でエラーが発生し、cronスポーナーの実行が妨げられていることを意味します。」と明確に記載されています。つまり、WP-CRONが正常に機能しない場合、500以上のサーバーエラーが発生します。

正しい方法は、デフォルトのWP-CRONを無効にして、サーバー本来のスケジュールタスクを使用することです。これにより、スケジュールタスクが正常に実行されると同時に、サーバー負荷を軽減できます。

サーバーがcurlコマンドをサポートしている場合は、次のようにスケジュールされたタスクを直接追加できます(Webサイトのドメインに合わせて変更してください)。

*/15 * * * * curl https://www. 你的域名/wp-cron.php?doing_wp_cron > /dev/null 2>&1

このコマンドは、WP-CRONタスクを15分ごとに実行します。これは、ほとんどの中小規模のウェブサイトに適しています。ウェブサイトで頻繁にスケジュールされたタスクがある場合は、以下のコマンドも使用できます。

*/5 * * * * curl https://www. 你的域名/wp-cron.php?doing_wp_cron > /dev/null 2>&1

WP-CRONを無効にしてサーバー上でスケジュールタスクを設定したところ、サーバーのCPU使用率が30%以下に低下し、1か月間503エラーが一切発生しなくなりました。訪問者の滞在率も18%向上しました。

原因その2:CRONでスケジュールされたタスクの繰り返し実行と、プラグインのアンインストール後に残るファイルが、ウェブサイト上に「不要なファイル」を残している。

WP-CRONの問題を解決したからといって安心できるわけではありません。多くのウェブサイト所有者が見落としている隠れた落とし穴があるのです。

これは、CRONでスケジュールされたタスクが繰り返し実行されているか、プラグインをアンインストールした後も、残存するスケジュールされたタスクが密かに実行され続けていることを意味します。

バックアッププラグインをアンインストールしたのに、サーバーが毎日自動的にバックアップを実行したり、バックアップ失敗メッセージが表示されて最終的に500エラーが発生したりといった経験はありませんか?

これは、プラグインによってスケジュールされたタスクが残っていることが原因です。

例えば、プラグインが毎日実行されるスケジュールタスクを生成する場合、WordPressはプラグインをアンインストールした後もこのタスクの実行を継続します。このようなスケジュールタスクは無意味です。これらの無意味な残存タスクはサーバーリソースを継続的に消費し、最終的にはエラーの原因となります。

さらに悪いことに、一部のプラグインは自動的に複数の繰り返しスケジュールされたタスクを生成します。たとえば、「毎日の更新チェック」タスクが5回作成され、それぞれがスケジュールに基づいて実行されるため、サーバーは5つの同一のタスクを同時に処理する必要が生じます。

以前にインストールしたことがあります。SEOプラグインをアンインストールした後、私はそれに気づかず、半月ほど経つとウェブサイトで頻繁に504タイムアウトエラーが発生するようになりました。サーバーログを確認して初めて、プラグインが毎日実行される3つのタスクを残しており、それぞれの実行時間が最大12秒であることが判明しました。これら3つのタスクが同時に実行されたことが、サーバー応答タイムアウトの直接の原因でした。

さらに恐ろしいのは、こうした残存する反復的な時間制限付き作業が…WordPress バックエンドそれは目に見えないので、密かに稼働していることに全く気づかないでしょう。

しかし、解決策はあります。WP-Crontrolプラグインを使えば完璧に処理できます。これはWordPressが推奨する公式のCronタスク管理ツールで、バックエンドでスケジュールされたすべてのタスクの表示、編集、削除を直接行うことができます。

WordPressプラグインの説明によると、WP-Crontrolは「スケジュールされたすべてのcronイベントを表示、編集、削除、一時停止、再開、および即時実行」できます。つまり、スケジュールされたすべてのタスクを表示し、重複または無効なタスクを削除できます。使い方は非常に簡単で、コードを一行も書く必要はありません。

このプラグインを使ってトラブルシューティングを行った結果、重複タスク8件とプラグインの残存タスク5件を削除したところ、ウェブサイトの応答速度が40%向上しました。504エラーも二度と発生しなくなりました。

注意点:タスクを削除する際は、慎重に確認し、「wp_version_check」(バージョンチェック)などのWordPressのコアとなるスケジュール済みタスクを誤って削除しないようにしてください。誤って削除すると、ウェブサイトが正しく更新されなくなる可能性があります。

WP-Crontrolプラグインは重複または無効なタスクを手動で削除できますが、手動での操作が必要となるため、理想的とは言えません。

しかし、WordPressコードを使えばこのプロセスを自動化できます。詳細は以下のチュートリアルをご覧ください。▼

犯人その3:プラグイン/テーマのアップグレード後に発生するエラーは、ウェブサイトに対して「型破りな手術」を行うようなものです。

多くのウェブサイト所有者は、プラグインやテーマの更新を促すメッセージが表示されると、すぐに「更新」をクリックする習慣がある。これは、更新によって脆弱性が修正され、パフォーマンスが向上すると信じているからだ。

しかし実際は全く逆で、5xxエラーの多くはプラグインやテーマのアップデートが原因で発生します。

以前にもこの問題に遭遇したことがあります。先月、人気のページビルダープラグインを使ってウェブサイトをアップグレードしました。更新ボタンをクリックした後、ページが空白になり、ページを更新すると「500 Internal Server Error」が表示され、バックエンドにアクセスできなくなりました。

後になって分かったのですが、プラグインの新しいバージョンは私のウェブサイトのPHPバージョンと互換性がありませんでした。プラグインをアップデートした後、コードが正しく実行されなくなり、それが原因でサーバーがエラーを報告するようになったのです。

プラグインやテーマのアップグレード後に発生するエラーは、WordPressの500エラーの一般的な原因であり、特に新しいバージョンのプラグインにコードの脆弱性があったり、ウェブサイト上の他のプラグインやテーマと競合したりする場合などに発生しやすくなります。

別のシナリオとしては、テーマのアップグレード後に以前のカスタムコードが上書きされ、ウェブサイトのレイアウトが乱れたり、機能が動作しなくなったりして、結果として502エラーや503エラーが発生するというケースが考えられます。

やりますEコマース一部のユーザーでは、WooCommerceプラグインをアップグレードした後、ウェブサイトで502エラーが発生し、注文ができなくなるという問題が発生しました。これにより、わずか3時間で2000ドル以上の売上が失われ、問題解決には丸一日を要しました。

実際、この状況に対する最も直接的かつ効果的な解決策は、正常に動作していた以前のバージョンに戻すことです。

多くの人はロールバックの方法を知りませんが、手動でファイルをダウンロードしたりアップロードしたりする必要はありません。WP Rollbackプラグインを使えば簡単にできます。

WordPressの説明によると、WP Rollbackプラグインは「wordpress.orgから任意のテーマやプラグインを、手動操作なしで、以前のバージョン(または新しいバージョン)に素早く簡単にロールバックできる」とのことです。つまり、複雑な操作なしに、ワンクリックでプラグインやテーマを以前のバージョンに戻すことができるため、初心者でも簡単に使用できます。

前回のプラグインのアップグレードが失敗した後、WP Rollbackを使ってワンクリックで以前のバージョンに戻しました。ウェブサイトはわずか30秒で正常に戻り、データも失われませんでした。

プラグインやテーマをアップグレードする前に、必ずウェブサイトのバックアップを取ってください。エラーを避けるためにも、公式ウェブサイトで更新する前に、テスト環境でテストを行い、問題がないことを確認するのが最善です。

結論:これらの3つのポイントをマスターすれば、WordPressウェブサイトの5xxエラーに完全にさよならできます。

WordPressウェブサイトを運営している場合、500、502、503、504エラーは「障害物」のようなもので、一見厄介に思えますが、根本原因は実は非常に明確です。サーバーに問題があるわけでも、ウェブサイトプログラムに大きな問題があるわけでもなく、WP-CRON、残存するスケジュール済みタスク、プラグイン/テーマのアップグレードという3つの詳細を見落としていることが原因です。

WordPressウェブサイトのオーナーとして、最初はエラーに圧倒されていましたが、今では5xxエラーを迅速にトラブルシューティングして解決できるようになりました。私が得た最大の教訓は、ウェブサイトの安定した運用は「馬が逃げ出した後に厩舎の扉を閉める」のではなく、「予防は治療に勝る」ということだということです。

多くのウェブサイト所有者は、こうした些細な点は重要ではないと考えがちで、ウェブサイトが誤作動を起こしたり、アクセスが減少したり、収益が減少した後に初めて、事前に確認しておかなかったことを後悔する。

ウェブサイトにとって「安定性」こそが競争上の最大の強みであることを理解することが重要です。5xxエラーが1つ発生するだけで訪問者の10%を失う可能性があり、複数のエラーが発生すると検索エンジンのランキングが低下し、それまでのSEO対策がすべて無駄になってしまうこともあります。

「千マイルの堤防もアリの穴で破られる」という諺があるように、WordPressウェブサイトの5xxエラーは突然発生するものではなく、無効化されていないWP-CRON、残存するスケジュール済みタスク、性急なアップグレード操作といった小さな問題が積み重なった結果です。これらの一見取るに足らない「アリの穴」が、最終的にはウェブサイト全体の「堤防」を破壊してしまうのです。

真に効率的な業務運営とは、問題を未然に防ぐことを意味する。

  1. デフォルトのWP-CRONを無効にし、サーバーベースのスケジュールタスクに置き換えます。
  2. 定期的にWP-Crontrolを使用して、繰り返し実行されるスケジュール済みタスクや残存するタスクをクリーンアップしてください。
  3. プラグインやテーマをアップグレードする前に必ずデータのバックアップを取り、エラーが発生した場合はすぐに元に戻してください。

これら3つの操作は、複雑な技術や高額な開発者を必要とせず、初心者でも簡単に習得できますが、ウェブサイトを5xxエラーから守り、安定した動作を維持することができます。

ウェブサイトの安定したアクセス数と訪問者の滞在時間は、時間をかけて蓄積される貴重な資産です。

今後は、これら3つの原因を特定し、日々のメンテナンスを行うことで、WordPressウェブサイトがあなたの努力に耐えられるだけでなく、トラフィックと収益を着実に増加させることができるようにしましょう。

現在5xxエラーでお困りの場合は、この記事の手順に従ってトラブルシューティングをお試しください。きっとすぐにこれらの問題を解決し、ウェブサイトを安定稼働させ、長期的な成長を実現できるでしょう。

Hope Chen Weiliang ブログ ( https://www.chenweiliang.com/ ) 分享的《WORDPRESS网站500、502、503、504错误的3大罪魁祸首》,对您有帮助。

この記事のリンクを共有することを歓迎します。https://www.chenweiliang.com/cwl-33968.html

さらに多くの隠されたトリックのロックを解除するには、Telegram チャンネルにぜひご参加ください。

気に入ったらシェアして「いいね!」してください!あなたのシェアと「いいね!」が私たちの継続的なモチベーションです。

 

发表评论

バグのあるボックスの内容は公開されません。 必須アイテム * 标注

上へスクロール