なぜContact Form 7をインストールすると500エラーになるのか?原因と直し方

記事内に商品プロモーションが含まれる場合があります。

※ 初出:2021年2月の記事をリライト。

「Contact Form 7をインストールしたら画面が真っ白になった!」——そんな経験、ありませんか?WordPressを15年以上使ってきた私でも、これには焦りました。ダッシュボードにログインすらできない状態。でも、ちゃんと解決できます。この記事では、エラーの原因と対処法をまるごとお伝えします。

目次

Contact Form 7をインストールしたら画面が真っ白に!HTTP ERROR 500の衝撃

あるサイトにContact Form 7をインストールした瞬間、こんなメッセージが。

「このページは動作していません。
www.●●●●●.com では現在このリクエストを処理できません。」
HTTP ERROR 500

ChromeブラウザにHTTP ERROR 500が表示された画面
困った顔のイラスト

「プラグインを更新すると真っ白になることがある」とは聞いていたものの、いざ自分に降りかかると……とほほ、です。他のサイトでは何の問題もなく動いているのに、なぜ?

まず応急処置!FTPでプラグインのフォルダ名を変更する

ダッシュボードにアクセスできない状態では、WordPressの管理画面からプラグインを無効化することができません。そこで登場するのがFTPソフト。サーバーに直接ログインして、問題のプラグインフォルダの名前を変えてしまいます。

私が使っているのは「WinSCP」です。無料で使えるWindows向けのFTPソフトで、操作もシンプル。登録方法や使い方はこちらの記事で詳しく解説しています。

 WordPressのバックアップに定番のWinSCPを使ってみよう!!

お願いのイラスト

プラグインのディレクトリを探す

「500 Internal Server Error」の原因がプラグインとわかっているなら、対象フォルダの名前を変えるだけでサイトは復活します。まずはWinSCPでサーバーにログインして、プラグインのフォルダへ移動しましょう。

■ プラグインのディレクトリの場所:/wp-content/plugins/

WinSCPでwp-content/pluginsディレクトリを開いた画面(記事執筆時のバージョン)

Contact Form 7フォルダの名前を変える(リネーム)

エラーの原因となったプラグイン「contact-form-7」フォルダを見つけたら、名前を変更します。

WinSCPでcontact-form-7フォルダを選択した画面(記事執筆時のバージョン)

フォルダを右クリックして「名前の変更」を選ぶだけ。「contact-form-7-old」などわかりやすい名前にしておくと、後で元に戻すときも迷いません。

WinSCPでフォルダ名を変更(リネーム)している画面(記事執筆時のバージョン)

これだけで、WordPressがそのプラグインを認識できなくなり、サイトが復活します。

ばんざいのイラスト

原因はWordPressのバージョン!Contact Form 7との相性問題

応急処置でサイトが戻ったとして、なぜエラーが起きたのかは知っておきたいですよね。他のサイトでは問題なく動いていたのに、なぜこのサイトだけ?

原因その1:他のプラグインとの干渉を疑う

「重大なエラーが発生したのでインストールできません」というメッセージが出たとき、最初は他のプラグインが邪魔をしているのかと思い、すべて無効にしてから再インストールしました。ところが——画面が真っ白に。

つまり、プラグインの干渉が原因ではなかったのです。むしろ、他のプラグインが「オカシイよ」と止めてくれていたのかもしれません。それを全部無効にしたことで、すんなりインストールできてしまった……というオチでした。

原因その2:WordPressのバージョンが古すぎた

ダッシュボードの「概要」でWordPressのバージョンを確認すると……「WordPress 4.9.16」。

Contact Form 7は、ある時期からWordPress 5.0以上を前提としたバージョンアップを進めています。古いWordPress(4系)に最新のContact Form 7を入れようとすれば、互換性がなくて当然のことでした。

※WordPressのバージョンアップ前には、必ずバックアップを!プラグインのエラーでデータが消えては大変です。

WordPressダッシュボードの概要でバージョンを確認している画面(4.9.16と表示)

バックアッププラグインのエラーに悩んだことがある方は、こちらも参考にどうぞ。

 解決!!BackWPupでバックアップ・エラー発生の対処方法

WordPressを最新版にしてからContact Form 7を再インストール

WordPressを最新バージョンにアップデートしてから、改めてContact Form 7をインストールします。ダッシュボード → プラグイン → 新規追加 で「Contact Form 7」と検索するだけ。

WordPressプラグイン検索画面でContact Form 7を検索しているところ

今度は無事インストールできました。やっぱり原因は、古いWordPressとの互換性だったようです。

Contact Form 7でメールが届かない!送信エラーの原因と解決策

インストールはできた。でも——フォームから送信してもメールが届かない、という別の問題が発生することがあります。

当ブログ以外でも「お問い合わせフォームから送信できない」「受信していない」という報告は多いようです。しばらく正常に機能しない状況が続いていたので、原因をじっくり調べてみました。

メールが届かない原因を探る:設定をよく見てみると

届かないContact Form 7の設定画面をじっくり見てみると、デフォルトの設定と微妙に違う部分がありました。

デフォルトの宛先設定:[_site_admin_email]

Contact Form 7のメール設定画面。宛先に[_site_admin_email]が設定されているデフォルト状態

この [_site_admin_email] は、ダッシュボード → 設定 → 一般 にある「管理者のメールアドレス」を自動で参照するタグです。

届かなかった設定はこれでした

「管理者メール」と「お問い合わせの受信メール」を別々にしたくて、直接メールアドレスを書き込んでいました。

Contact Form 7のメール設定で宛先に直接メールアドレスを入力している状態(届かなかった設定)

[_site_admin_email] は管理者メールアドレス(ダッシュボード → 一般設定)を参照しています。

WordPressダッシュボードの一般設定で管理者のメールアドレスを確認している画面

管理者メールアドレスとContact Formの受信アドレスを別々にしていたことが、届かない原因だったようです。

解決!デフォルトの[_site_admin_email]に戻したら届いた

Contact Form 7を一旦削除して再インストールし、宛先をデフォルトの [_site_admin_email] のまま使うようにしたところ、追加プラグインなしで届くようになりました。

※もし届かない場合は、迷惑メールフォルダも確認してみてください。意外とそこにいることがあります。

どのプラグインが原因かわからないときの調べ方

今回はContact Form 7が原因とわかっていたのでスムーズでしたが、「どれが悪さしているのかわからない」場合もありますよね。そんなときの手順をまとめておきます。

全プラグインのフォルダ名をまとめて変更する

WinSCPで /wp-content/plugins/ にアクセスし、「plugins」フォルダ自体の名前を変えてしまう方法が手っ取り早いです(例:plugins_old)。

これでWordPressがすべてのプラグインを認識できなくなり、ダッシュボードにログインできるようになります。

ハートのイラスト

フォルダ名を戻して、一つずつ有効化して犯人を特定

ログインできたら、再度サーバーにアクセスしてフォルダ名を元の「plugins」に戻します。ダッシュボードに戻ると、全プラグインが「無効」状態になっているので、ひとつずつ有効化。どれを有効にした瞬間にエラーが再現するか——それが原因プラグインです。

地道な作業ですが、これが一番確実な特定方法。変更前のフォルダ名は必ずメモしておきましょう。

あとがき

今思い返すと、「重大なエラーが出ました」というメッセージは、WordPressが「このバージョンのままじゃ危ないよ」と警告してくれていたんですよね。

それを無視して全プラグインを無効にして強行インストールしたから、「うげ!」となった…わけです。

「うげ」と驚いたイラスト

WordPressのアップデートは「面倒だから後で」と後回しにしがちですが、プラグインとの互換性という観点からも、こまめにバージョンを上げておくことが大切だと痛感しました。

【この記事の教訓】WordPressの警告は、無視してはいけない。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次