はじめに
Googleサーチコンソールからサイトのスピードを改善するべきと指摘を受けたので、調べてみた。
ブログの実測値
3回ほど試してみたが、ほとんどスコアは変わらなかった。
パソコン用では81とまずまずのスコア。
しかし、モバイルでは42と散々な結果になった。
診断後の改善項目では、使用していないjabascriptの削除が効果的と提案されたが、ほとんどがGoogle関連のスクリプトなので外すことはできない。
提案の中に画像の遅延処理ってのがあったので少し調べてみた。
画像の遅延処理
Lazy Load とかいう技術らしく、ブラウザでサイトを開いたときにページ内の画像を見える部分のみダウンロードする仕組みで、スクロールのアクションをトリガーとして下の画像をダウンロードすることにより、体感的に表示速度を上げるとともに通信量を抑える効果があるとのこと。
効果は不明
期待したのだが、いくつかのページで実験してみた結果、数値の変化はほとんどなかった。
ただし、スマホでの表示速度は多少上がった気がするが、サーバーの負荷状態にもよるため、はっきりしたことは分からなかった。
freoのエディタを改造する
Google が推奨している技術でもあるため、導入することとして、エディタのデフォルトに設定する。
/templates/internals/admin/ にある、iframe_media.htmlを編集する。
102行目から104行目あたりにある、<img 【ここに追加】src=~>の間に、
loading="lazy"
を追加する。
title="<a href="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}medias/{$freo.query.path}{$file.name}"><img loading="lazy" src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}media_thumbnails/{$freo.query.path}{$file.name}" alt="{$file.memo|default:$file.name}" title="{$file.memo|default:$file.name}" width="{$file.thumbnail.width}" height="{$file.thumbnail.height}" /></a>"
{elseif $file.width and $file.height}
title="<img loading="lazy" src="{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}medias/{$freo.query.path}{$file.name}" alt="{$file.memo|default:$file.name}" title="{$file.memo|default:$file.name}" width="{$file.width}" height="{$file.height}" />"
画像を挿入してみる
freoの画像挿入フレームを開いてマウスをロールオーバーすると、次のように表示されていれば成功です。
おわりに
このlazyLoad という技術はブラウザに依存する部分も多いとのことなので、効果が出ない場合もあるとのこと。
しかし、W3Cの標準にもなっているので、各ブラウザも順次対応すると思われます。
導入して損はないかな。
コメント