モバイル ユーザビリティちょっとだけ解消
前記事:
概要
Google Search Console からモバイルユーザビリティのエラー警告が出てからかれこれ1ヶ月、いろいろ修正してはいるのですが、一度「修正を確認しました」となっても、またエラーが出たりしています。
いろいろググって原因を探っているのですが、今のところ、ネット上に解決方法は見つかりません。
エラー表示は次の3つなんですが、
- クリック可能な要素同士が近すぎます
- テキストが小さすぎて読めません
- コンテンツの幅が画面の幅を超えています
おそらく CSSが適用される前にモバイルユーザビリティのチェックが入るのだろうと推測しています。もしそうなら放っておいても良くなることはありませんので、必死の原因究明です。
Javascript は CSSOM 構築をブロックする
DOM はそれなりに理解しているつもりですが、同じように CSSOM という CSS の DOM 版のようなもので、要素ごとツリー状に構築されたオブジェクトデータというものがあり、これが完全に構築されないとレンダリングが始まらないということをやっと理解しました(涙)。
こちらの記事がとてもわかり易く参考にさせていただきました。
ということで、この CSSOM の構築をブロックしているものがあるんじゃないかという推測のもとに、多分それは Javascript だろうということで Javascript の最適化を試みています。
モバイルユーザビリティは何を見ているのか?
現在のモバイルユーザビリティのエラー表示は次のとおりです。
ひとつは「修正を確認しました」となっており、ふたつに「修正を検証」を送ってありますので「開始」となっています。一日ほどで結果が表示されます。
「修正が確認しました」となっている「テキストが小さすぎて読めません」の合格した2ページを表示してみます。
たった2ページで判断するんですね。
実はこれまでいろいろやってきた中で、一度「修正を確認しました」となったのに、翌日にはまたエラーに変わったことがあります。その時の合格は1ページだけで、その他は「保留」のままでした。
ということは、Google Search Console はエラー表示を出す原因を特定しているということじゃないかと思います。なぜそのログを見せてくれないんでしょうね。「テキストが小さすぎて読めません」じゃ、どこがダメなのかわかりません(笑)。
Javascript の最適化
記事ページ
問題のサイトはかなり DOM 操作をやっていますので、おそらくその Javascript が CSSOM 構築をブロックしているのだと思います。記事ページはそれほどでもありませんが、トップページは デザイン > カスタマイズ > タイトル下(#top-editarea)に「最新記事」「おすすめ映画」「注目記事」「AboutUs」の最初の記事の画像を拾ってきて一覧表示にし、そのタイトル位置へリンクさせるということをやっています。
で、上に書きました、一度「修正を確認しました」となったのに、翌日にはまたエラーに変わったというのは、それまで デザイン > カスタマイズ > フッタ(html, javascript を書ける