こんにちは、mickです。
プロボノでWebサイトのカスタマイズをしています。
そんな中、PageSpeed InsightsでWebサイトの速度を調査すると、気になる内容が。
![reCAPTCHAの処理が遅い](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-02-28_at_21_48_02-1024x470.jpg)
どうも Contact Form 7 に取り入れた reCAPTCHA v3 がWebサイトの動作に影響してることがわかります。
これ、Contact Form 7を使ってるWebページ(例えば、お問い合わせフォーム)だけなら話しはわかります。
残念ながら、すべてのWebページでContact Form 7が動いてしまい、結果的にreCAPTCHA v3が動いてしまいます。
困った
ということで、これを解決する方法を紹介するのが、この投稿です。
必要なWebページにだけContact Form 7を動かす
![](https://oneuro.net/wp-content/uploads/2021/03/tim-mossholder-zdV9ngtM0Sw-unsplash-1024x682.jpg)
WordPressのプラグインの仕様で、プラグインを特定のWebページにだけ動かすのが簡単ではないようです。
デフォルトの設定では、Contact Form 7 はその JavaScript と CSS スタイルシートをすべてのページにロードします。きっと、こんな無駄の多いやり方をやめて、コンタクトフォームを含むページにだけロードすればいいのに、と考えていることでしょう。その気持ちはよくわかりますが、技術的な困難があって、ページをロードする時点でそのページがコンタクトフォームを含んでいるかどうかを判断することがプラグインにとって難しいのです。
必要な場合だけ JavaScript とスタイルシートをロードさせるには
reCAPTCHA v3を使ってるとfunctions.phpの編集は効かない
Contact Form 7の公式Webサイトのココに、特定のWebページにだけContact Form 7を動かす方法が乗っています。
実際に、やってみましがた、どうやってもreCAPTCHA v3を動かすスクリプトが動いてしまい、できなかったんですよね。
⇒ 参考「サイトを軽くする、ContactForm7の最適化をしよう」
そのあと、いろいろ調べたらいい方法がありました。
プログラミングの知識不要。
ボタンをポチポチするだけで特定のWebページにだけ、Contact Form 7を動かす方法が。
WordPressといえば、はい、プラグインを使う方法です。
プラグイン Plugin Load Filter を使う
WordPressのプラグイン Plugin Load Filter を使えば、プログラミングの知識なしで特定のWebページにだけにプラグインを適用することができます。
ほんとう、ボタンをポチポチするだけで簡単にできます。
これから、Contact Form 7をお問い合わせページにだけ適用する方法を画像付きで紹介です。
プラグインをインストール・有効化する
![Plugin Load Filter をインストールして有効化する](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_36_57-1024x376.jpg)
Contact Form 7 をフィルター登録する
![Plugin Load Filterの設定からContact Form 7をフィルター登録する](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_37_41-1024x803.jpg)
![Contact Form 7 を Page Type に設定する](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_37_56-1024x541.jpg)
![設定が終わったら必ず保存する](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_38_07-1024x464.jpg)
Page Type 有効プラグイン登録にマークがないことを確認する
![Page Type 有効プラグイン登録の中で Contact Form 7 の項目にチェックがついていないことを確認する](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_39_16-1024x187.jpg)
Contact Form 7 を有効にしたいWebページにいって有効化する
![Contact Form 7 を使いたいWebページで有効にする](https://oneuro.net/wp-content/uploads/2021/03/Screen_Shot_2021-03-01_at_0_40_28-1024x737.jpg)
まとめ。
![](https://oneuro.net/wp-content/uploads/2021/03/marta-filipczyk-KYOLKpeT1hc-unsplash-1024x682.jpg)
Contact Form 7 を特定のWebページにだけ動くようにする方法を紹介しました。
特に、 reCAPTCHA v3 を使うとContact Form 7は間違いなく遅くなります。
なので、使わないWebページにまでContact Form 7が動くとPageSpeed Insightsのスコアが下がっても仕方ないんです。
Contact Form 7 + reCAPTCHA v3 を使っている方はぜひ、この方法を試してみてください。
Contact Form 7を使っていないWebページのスコアは、間違いなく上がります。
自分が試した環境での実績
改善前:モバイル20、パソコン40
改善後:モバイル30、パソコン50
記事を読んでくれて嬉しいです。
今日もありがとうございました。
初稿 2021/02/28