icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

google PageSpeed Insightsで、読み込み時にopacity: 0→animation表示の場合、エラーでデータが出ない

更新: 2024/05/18 1869文字

今回は私の大嫌いな(笑)google PageSpeed Insightsでの、エラーで全然データが戻ってこない件について、状況や対策を確認していきます。PageSpeed Insightsの画面がエラーで真っ赤になると焦りますが、対策はできるので大丈夫です。早速確認していきましょう。

google PageSpeed Insightsでデータが全部エラーになる状況・原因

PageSpeed Insightsの『Error!ページにコンテンツが描画されませんでした』状況

管理人はグループサイトSSFのチューニングをしていたんですけど、表示確認のほか、ロード速度もチェックしました。そしたらこんな感じでエラーが。

『First Contentful Paint,Largest Contentful Paint,Total Blocking Time,Cumulative Layout Shift』などの項目が『コンテンツが描画されませんでした』ということで、データなし。せっかく良い感じでチューニングしたのに、成果がわからないとやった甲斐がありません。

原因~ロード時のopacity: 0をコンテンツ描画されない判定している

とはいえ、心当たりはあったので該当CSSプロパティとかで検索しまくって見つけました。search consoleヘルプのフォーラムやChromiumのフォーラムでは報告されているようです。内容は『opacity: 0をコンテンツ描画されない判定している』というもの。処理を少し遅らせればみつかりそうなもんですけどね(笑)

該当のCSS

心当たりがあった部分は以下の部分です。CSSのアニメーションで、opacity: 0からopacity: 1にfadeInするというもの。このopacity: 0がコンテンツ表示しない判定になっているっぽいです。

body{
 animation: fadeIn 1.2s ease 0s 1 normal;
 -webkit-animation: fadeIn 1.2s ease 0s 1 normal;
}
@keyframes fadeIn {
 0% {opacity: 0} 100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
 0% {opacity: 0}100% {opacity: 1}
}

jqueryとか無しでもフェードができるんで便利なんですけど、管理人はフェードがかかればよいので、ちょっと調整してみます。

調整例と結果

というわけで、簡単に対策をしてみます。ロード時はopacity: 0からスタートだったのを、opacity: 0.1からスタートします。これでもフェードがかかっているようにはなります。心持アニメーションの時間を遅らせてもよさそうですね。

opacity: 0.1設定にした場合は、PageSpeed Insightsもデータを計測できるようになりました。ちなみに昔のSSF、重いテーマ・子テーマ&bootstrapだったので、モバイルパフォーマンススコアは50点切ってましたよ。

あとがき・まとめ

  • PageSpeed Insightsで、読み込み時にopacity: 0を指定していると、データが全部エラーになる
  • 簡易的な対策としては、opacity: 0.1からスタートなどでも対応できた

まとめると、こんなところでしょうか。フェードにopacity使っていてスコアが出ない方は、是非チェックしてみてください。


【カテゴリ】- サイトエラー対策と復旧
【タグ】- ,

関連記事