503エラーからの復旧:WordPress、W3 Total Cache、サーバー設定、PHPバージョンとの戦い

今日、私のメインドメインのブログに突然503エラーが発生しました。サブドメインのサイトには問題はなく、一体何が起きたのか理解するのに時間がかかりました。この記事では、私が経験した問題と、それを解決するために行った手順を共有します。

問題の発生

WordPress 6.3の自動アップデートがあったちょうどその日、ブログにアクセスできなくなりました。ちょうどW3 Total Cacheのプラグインでオブジェクトキャッシュとデータベースキャッシュのセクションをいじっている最中に起きたので、W3 Total Cacheが問題なのかなと最初は思いました。

エックスサーバーのサポートチームに連絡しても、サーバー側に障害や異常は見当たらないとの回答が返ってきました。プラグインが原因かもしれないと考え、すべて無効化(FTPでログインしてpluginsフォルダをリネーム)してみましたが、問題は解決せず。他にもいくつか試行錯誤しましたが、何も変わりませんでした。

さらなる問題の発生

今日の503の問題が起きる前から、W3 Total Cacheを無効にするとページが真っ白になるという問題が以前からあったため、やっぱりW3 Total Cacheが何らかの悪さをしているのかなと、その可能性を考えていました。

で、何をしたかというと、エックスサーバーの設定で「Xアクセラレータ」を止めてみたら、メインドメインの問題は直ったのです。

ただ、今度はサブドメインのページのほぼ全てが500 Internal Server Errorになるという新たな問題が発生しました。

解決への道

結局、PHPのバージョンをPHP8.0.25(推奨)からPHP8.1.12に変更したところ、サブドメインのページの500エラーも解消されました。

結論:原因は一体何だったのか?

この一連の問題の原因がW3 Total Cacheだったのか、サーバーのXアクセラレータだったのか、WordPress 6.3への更新だったのか、それともPHPのバージョンだったのか、正直に言うと分かりません。

個人的には、Xアクセラレータを止めたら直った時点で、サーバー側の高速化の設定と、W3 Total Cacheプラグイン側の高速化の設定とCocoonの高速化設定が何らかの形でぶつかっているような感じなのかなと思っています。(Cocoonの高速化設定は、今日の一連の事件があってから止めています)

この経験から学んだことは、Webサイトの運営において多くの要素が絡み合っているため、一つの問題を解決するためには多方面からのアプローチが必要であるということです。

今回の経験が、同じような問題に直面している方々の参考になれば幸いです。