TECH BLOG

マークリープス技術ブログ

open

[WordPress] プラグイン「Invisible reCaptcha」のPHP8での不具合と代替プラグインでの対処法

[WordPress] プラグイン「Invisible reCaptcha」のPHP8での不具合と代替プラグインでの対処法

プラグイン 「Invisible reCaptcha for WordPress」 は最終更新が約5年前で止まっており、PHP 8.0以上の環境では不具合が発生します。
ここでは、不具合の現象と代替プラグインを使った対処法を紹介します。

不具合の現象

設定画面の不具合

管理画面の設定メニューがすべて「設定」という表示になり、正常に設定できない状態になります。

・正常な表示例

Invisible reCaptcha 設定画面の正常な表示例

・PHP 8以上での表示例

Invisible reCaptcha 設定画面のPHP 8以上での表示例

この状態では reCAPTCHA のサイトキー・シークレットキーの設定ができず、reCAPTCHA バッジをサイトに表示できません。

フォーム送信時のPHPエラー

フォーム送信時にエラーメッセージが表示され、送信ができない状態になります。

フォーム送信時のPHPエラー

おすすめできない対応方法

以下の方法は、いずれもおすすめできません

「Invisible reCaptcha for WordPress」のコードをカスタマイズする

おすすめしない理由:

  • ・開発者がメンテナンスを終了しており、長期的な利用が不安定
  • ・今後のWordPressやPHPのアップデートで再び不具合が起きやすい
  • ・テーマや他プラグインとの互換性トラブルを招く可能性が高い

サーバーのPHPバージョンを下げる

おすすめしない理由:

  • ・WordPressやテーマ・プラグインの推奨環境に合わなくなる
  • ・セキュリティリスクが高まり、サイトの脆弱性が増す
  • ・長期的な保守性が悪く、別の不具合が発生する可能性がある

おすすめの対処法:代替プラグインの利用

以下のいずれかの方法で対応します。

  • ・プラグイン「Contact Form 7」のインテグレーション機能を利用
  • ・プラグイン「reCaptcha by BestWebSoft」を利用

「Invisible reCaptcha」の設定情報を控えて無効化

・移行の前に、Google reCAPTCHA のサイトキーとシークレットキーをメモします。
 「設定 > Invisible reCaptcha」から確認できます。
・「Invisible reCaptcha for WordPress」を無効化します。

Contact Form 7 のインテグレーション機能を使用

Contact Form 7 をインストール・有効化します。
プラグイン「Contact Form 7」
 
・「お問い合わせ > インテグレーション」に進み、「インテグレーションのセットアップ」をクリックします。
「お問い合わせ > インテグレーション」に進み、「インテグレーションのセットアップ」をクリック” width=”571″ height=”216″ class=”alignleft size-full wp-image-8200″ /><br />
 <br />
・先ほど控えた<strong>サイトキー</strong>と<strong>シークレットキー</strong> を入力し、「変更を保存」をクリックします。<br />
<img loading=

サイトの右下に reCAPTCHA バッジが表示されれば設定完了です。

特徴

  • ・設定が簡単
  • ・Contact Form 7 フォームを含むサイト全体を保護可能
  • ・reCAPTCHA v3 に対応(v2には非対応)

サイト全体にはreCAPTCHA バッジを表示したくない、お問い合わせフォームのページにのみ表示したい、という場合は以下の記事で方法をご紹介しています。
[WordPress] Contact Form 7 の reCAPTCHAバッジ をフォームページ以外で非表示にする方法

reCaptcha by BestWebSoft を使用

reCaptcha by BestWebSoft をインストール・有効化します。
プラグイン「reCaptcha by BestWebSoft」

管理メニューから「reCaptcha」を開きます。
管理メニュー > 「reCaptcha」” width=”121″ height=”140″ class=”alignleft size-full wp-image-8204″ /></p>
<p> <br />
<img loading=

以下の項目を設定します。

  • ・reCAPTCHAバージョン(v2 / v3 選択可)
  • ・サイトキー
  • ・シークレットキー
  • ・reCAPTCHA を有効化

 
注意: 無料版では Contact Form 7 などの外部フォームには設定できません。

特徴

  • ・v2・v3両方に対応
  • ・無料版では Contact Form 7 などの外部フォームには未対応(有料版で対応可)

まとめ

「Invisible reCaptcha for WordPress」はPHP8以降で不具合が発生し、開発も止まっています。
コード修正やPHPバージョンダウンなどの一時的な対応は非推奨です。
代替プラグイン(Contact Form 7のインテグレーション機能やreCaptcha by BestWebSoft)を利用して、安全で将来性のある環境へ移行しましょう。

よく読まれている関連記事

関連最新記事