PageSpeed Insightsを使ってサイトをチェックしてみたけど、「パフォーマンス」の値が良くない!「第三者コードの影響を抑えてください」とか出るし……
私も悩んでいましたがある程度改善できたので情報を共有します!
PageSpeed Insightsを使うとそのサイトの表示速度などのパフォーマンスを計測できますが、数値が悪くて悩んでいる人もいるのではないでしょうか。「第三者コードの影響を抑えてください」とか表示されると、なんのことやらわからない人もいますよね。
私もそのうちの一人で、何時間も格闘したので経緯と自分なりの解決方法を記録しておきたいと思います。
私の場合、改善前は「携帯電話」の「パフォーマンス」のスコアが40〜50くらいだったと思います。改善後は80くらいです。
専門用語などは使いませんので、難しいことはよくわからない!という方にも参考になるかと思います。(私も難しいことはわからないので……)ぜひ目を通してみてください。
とくに「第三者コードの影響を抑えてください」に「Google CDN」が表示されていて、数値が大きくなっている人は私と同じケースかもしれません!
「第三者コードの影響を抑えてください」??なんだそりゃ
多分、検索で見に来てくれている方はそう思っているのではないでしょうか?
PageSpeed Insightsを使っていざ計測したけれど、パフォーマンスの数値は悪いし「改善できる項目」に「第三者コードの影響を抑えてください」とか表示されてる……。
いやいや、だから、それを抑えるにはどうすればいいんだよ?
って話ですよね。
それを抑えるには!を調べていろいろと試してみたので、以下の項目からどうぞ。
まずは「Autoptimize」プラグインを試してみるが変化なし
ネットで調べてみると、どうやらこれを解決するにはプラグインを使えばいいとか。
WordPressでは、「Autoptimize」というプラグインを使って「第三者コード〜」に表示されているURLをコピペすることで、解決できるそうなのです。
これはかなり多い情報だったため、一度試してみることにしました。
が、自分の場合は変化なしでしたので、同じ人は次の項目へ!
その時の手順がこちら。
- 「Autoptimize」のプラグインを検索して有効化する
- WordPressのダッシュボードの「設定」から「Autoptimize」を選択する
- 「追加」タブを選択する
- 「サードパーティのドメインに事前接続 (上級者向け)」(「リクエストの事前読み込み (上級者向け)」と記載しているサイトもあり)に「第三者コード〜」に表示されていて「1ms」以上が表示されているURLをコピペする。複数の場合はコンマで区切る
- 「変更を保存」を選択する
一通りの作業後に再度PageSpeed Insightsでチェックしてみましたが、残念ながらスコアは変わらず。
「Google CDN」の数値が大きくて気になる!reCAPTCHAが原因?
プラグインで解決できず悩んでいたところ、「第三者コードの影響を抑えてください」の部分に表示されているURLの中で、「Google CDN」の数値が2,000msくらいあるのが目に付きました。
調べてみると、スパム対策で使われる「reCAPTCHA」というサービスを解除すると改善したという記事を発見。
(私は結局解除したあと設定しなおしたので、解除したい人もまず経緯を読んでから実行してほしいです)
そんなの使ってたっけなあと思ったんですが、使ってました。
お問い合わせフォームを設置したときに「Contact form 7」を使ったのですが、そのスパム対策としてreCAPTCHAを設定したようなのです。完全に忘れていました。
一回reCAPTCHAのキーを削除してみた
もしかしてもしかするかも!ということで、一度reCAPTCHAを解除することに。
解除するには、キーを削除すればよいようです。
※結局はもとに戻したので詳細は割愛します。
キーを削除するとなんどスコアが80くらいまで改善!
やったーーー!!!
でもこれスパム対策だよね?本当に消して良かったのか?
心配になったので結局もとに戻しましたが、当然スコアも元通りです。
それではどうすればいいのでしょうか?
そもそもなぜreCAPTCHAが原因でスコアが悪くなるのか
reCAPTCHAを使うと、上の画像の右下にあるようなバッジが表示されますよね。
どうもこれの表示のせいで遅くなってしまうとかなんとか。
JavaScriptを使うため遅くなる、と説明しているサイトもありました。
細かいことはよくわからないのですが、すべてのページでこれが表示されてしまうことで、スコアが悪くなるってことだと解釈。
reCAPTCHAをお問い合わせフォーム以外では非表示にする
すべてのページで表示されるせいで重くなるなら、必要なページだけ表示すればいいということではないですか?
というわけで、以下の記事を見ながら、WordPressの子テーマにある「function.php」にコードを追記してみました。
「reCAPTCHAの制限コード」の項目のコードを「function.php」にコピペすればよかったので簡単!
https://design-pull.com/wordpress/5904/// reCaptcha読み込み制限 function recaptcha_limitation() { if( ! is_page( 'contact' )){ wp_deregister_script( 'google-recaptcha' ); } } add_action( 'wp_enqueue_scripts', 'recaptcha_limitation', 50 );
(‘contact’という部分は各お問い合わせフォームのパーマリンク名に変更します。)
結果、PageSpeed Insightsのスコアは改善しつつ、スパム対策も消さずに済みました!
先人の方々の情報で助かりました〜!ありがとうございます!
まとめ:Google CDNの数値が大きい時はreCAPTCHAが原因かも
私の場合、PageSpeed Insightsでパフォーマンスの数値が低く「第三者コードの影響を抑えてください」に「Google CDN」が表示されていました。
今回はスパム対策のサービス「reCAPTCHA」のバッジがすべてのページで表示されることが原因でしたが、コードを追記することで問題が解決してよかったです。
なかなか悩んだので無事スコアが上がって安心しました!
実際にはまだ改善すべき項目があるみたいなので、そちらについてもすんなり行かなければまた解決後に情報を共有します。