定期的なプラグインのアップデートは、Wordpress運用であれば必須な対応となります。通常は問題ないのですが、プラグインを多く入れている場合や、オリジナルのプラグインを入れていると、稀にアップデートを行ってエラーになる事もあります。
中でも良く使われているConttact Form7(コンタクトフォーム7)のプラグインは問い合わせや大切なユーザーとの接点。エラーが出た時は焦ります。ノンプログラマーで直ぐ出来る対応の1つをご紹介。
- ContactForm7 ver5.7で起こった事象を回避する方法が分かる
- WordPressのデバックモードの設定が分かる
プラグインのアップデートエラー対応
プラグインのアップデートについては、本来は慎重にキチンと行う事がベストです。ずばり「本番環境でアップデートをする前にテスト環境で試してから行う」につきます。アップデートは良し悪しなところもあるので、重要性を考えて対応します。
アップデートの重要性
WordPressは、多くのユーザーが使え、WEB経験の少ないユーザーやエンジニアで使いやすいCMSです。カスタマイズもしやすい事も人気。
同時にセキュリティ面での脆弱性が見つかりアップデートする事も多々あります。Wordpress本体のアップデートもそうですが、同じくらいプラグインやテーマのアップデートも重要で、怠ると個人情報の漏洩などのリスクにつながる事にもなります。プラグインメニューでも自動アップデートに切り替える設定もあるので、適宜設定をする事をお薦めします。
WordPressの自動更新はデフォルトはOFFになってます。(ONにする方法があったら教えてください…。)ですが、OFFがデフォルトで正解。更新されると新機能が増えたり、使っている機能がなくなったりすることも考えられる為です。
自動更新ONにする前に確認すべき事項
- 使っている機能が使えなくならないか?
- 使い続ける為にコストが掛かる様にならないか?
- サーバーやサイトに設定を追加しなくてはならない
- サポート体制(何かあったときの対応方法)はあるか?
- あえて利用しているバージョンで使ってないか?
- 他のプラグインと関連性はないか?
上記にもある様に、自動アップデートは逆にリスクになる場合もあります。プラグインは個人の方でも一定の基準を満たす事で、Wordpress管理画面内の「プラグインの検索」で表示されるように公開する事もできます。(プラグインによっては個人レベルで保守を行っている場合も考えらる)
個人から企業まで提供する事のできるプラグインは、アップデートをする事でバグが発生する事も十分考えられます。これはどのプラグインでも発生する事なので責任云々の問題では無く必ず起こりえる事です。
アップデートする事のリスクと、アップデートしない事でのリスク、両方あり得ます!
アップデートするリスクはテスト環境を準備する事で回避する事ができます。(アップデートしないリスクは自業自得と言う事で…。)企業サイトや時間と予算があるサイト、リスク回避を重要とするサイトでは、テスト環境として本番環境と同じ状態で更新前にテストする事で、アップデートする前にバグやエラーが無いかを確認してから本番に入れる事ができます。
Contact Form7(コンタクトフォーム7)の5.7へのアップデートで起こった事象の対応
Contact Form7(コンタクトフォーム7)を5.7にアップデートする事で、こんなエラー画面出てませんでしょうか?
上記の内容は、プログラムそのもので生じているエラーでは無いのでデバックの設定で回避する事ができます。
WordPressのコアの設定は「wp-config.php」にあり、デバックのON、OFFを設定する事ができるので、今回のエラーを手っ取り早く消すには以下ソースの下段「false」にしてファイルを保存すれば表示を止められます。
define( 'WP_DEBUG', true ); //デバックモードをON
define( 'WP_DEBUG', false ); //デバックモードをOFF
表示を止める事は出来るのですが、エラーが無くなった訳ではありません。プラグインのエラーな事もあるので、プラグイン側でのアップデートを待つしかないかもしれませんが、念のためサイト管理してる担当に確認してみてください。
デバックモードを「false」のママにはしない方が良い
デバックモードで今回の様なエラーは表面上、一時回避はできますが「false」にするのはお薦めしません。OFFにする事で、他のプラグインや更新作業でエラーが見つけ難くなる為です。
WordPressの公式ではOFFにしない、デバックモードの設定が公開されてます。「デバックモードをONにするけど、サイトに表示はさせず、エラー内容を検証できる様にログには残す」と言う方法です。
// WP_DEBUG モードを有効化
define( 'WP_DEBUG', true );
// /wp-content/debug.log ファイルへのデバッグログの出力を有効化
define( 'WP_DEBUG_LOG', true );
// エラーと警告の画面への表示を無効化
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
// 「開発版」のコア JavaScript と CSS ファイルを使用 (これらのコアファイルを変更する場合のみ必要)
define( 'SCRIPT_DEBUG', true );
最後に
メジャーなプラグインのアップデートでエラーになる事はほとんどありませんが、他のプラグインとの兼ね合いで出る場合もあります。エラー表示されると焦ります。(特にノンプログラマーや個人サイト運営者、自分を含め…。)プラグインのアップデートであれば、前のバージョンに戻すこともできますので、慌てずまずはGoogleで検索してみる事をお薦めします。案外直ぐに治ったりしますし、今回の様な場合も画面表示されなければ、落ち着けると思います。