どうして全プラグインを無効化してデフォルトテーマに切り替えるよう勧められるのか

長年 Contact Form 7 のユーザーサポートをサポートフォーラム上で行っていますが、その経験から言えるのは、ユーザーが抱えるトラブルの大半は他のプラグインやテーマからの干渉に起因しているということです。

これをプラグイン間の互換性の問題と片づける人もいますが厳密に言えばそれは違います。プラグイン作者やテーマ作者に特定のプラグインとの互換性について配慮する義務はありません。たとえそのプラグインが最も人気の高いものの一つだったとしてもです。作者が唯一配慮しなければならないのは WordPress プラグインやテーマの開発における一般的なベストプラクティスへの適合に対してです。

しかしながら、世のプラグイン作者やテーマ作者のかなりの数が、まるで何に対しての配慮もなくそれらを作っているという残念な事実も指摘しなければなりません。彼らの作るプラグインやテーマはしょっちゅう他のプラグインに干渉し、時にはそれらの機能を破壊しさえします。そういったものの多くが商用プロダクトであったり、あるいは正しいライセンスを伴わず配布されている製品です (そういう駄目なプロダクトの配布元として悪名高いのが CodeCanyon と ThemeForest です)。そのようなプラグインやテーマを使っているなら問題に直面しても当然と言えます。

Contact Form 7 を除いた全てのプラグインを無効化し、同時にテーマをデフォルトのテーマに切り替えることがサポートフォーラムで勧められるのはここに理由があります。こうすることであなたが直面しているトラブルが Contact Form 7 自体に起因するものか、それともたった今無効化されたプラグインとテーマの中のいずれかに起因するものか、判別することが可能になります。そしてもし問題の原因が他のプラグインかテーマの中にあると判明したなら、それらを一個ずつ再有効化していき、その都度同じテストを繰り返していくことで、だんだんと原因を絞り込み最終的にはただ一つの真犯人を特定することができるはずです。

「デフォルトテーマ」というのは、WordPress 本体に同梱される公式なテーマを指します。WordPress 5.3 を使っているなら Twenty Twenty がデフォルトテーマです。Twenty NineteenTwenty Seventeen はかつてのデフォルトテーマで、現在もなおメンテナンスされています。デフォルトテーマは経験豊富な開発者の手で作られているので他の平均的なテーマと比べて信頼性がより高いといえます。

テーマを切り替える際にテーマの設定データが飛んでしまうんじゃないかと心配な方へ。もし使っているテーマが正しく作られているなら、すなわち推奨されるプラクティスに沿った形で開発されたものであるなら、データを失う心配は要らず安全にテーマの切り替えを行うことができます。もしそうじゃないなら、残念ですが何の保証もありません。ともあれ事前にデータのバックアップを作っておくことはどういう場合でも重要なことです。

プラグインを停止したりテーマを切り替えたりするのはクライアントの了解を得られそうにないので難しい、というケースもあるかもしれません。その手の困難さはよくわかりますが、そうは言ってもそのサイトの問題解決の責任をあなたが負ってるのでしたらどうにかしてやらないと仕方がないでしょう。

実際そういう事態になるのを見越して、多くの経験豊富なウェブマスターはステージング環境 (本番環境に影響を及ぼさずに変更をテストできる分離されたサーバー環境のこと) を用意するようにしています。あるいは Health Check & Troubleshooting というプラグインを利用するのも一案です。このプラグインを使えばログイン中の管理者ユーザーにのみ見える形で変更を試すことができます。