PageSpeed InsightsのAwesomeFont対策「レンダリングを妨げるリソースの除外」等自分メモ

Wordpress

ページの表示速度を上げる事は今や必須事項となりつつあり、サイトの健康状態を確認するGoogleの「サーチコンソールでも」表示速度が遅いと「ウェブに関する主な指標」で「不良URL」「改善が必要なURL」として警告されます。

「表示速度が遅い」と言っても様々な原因がありますし、表示速度以外にもユーザー体験を悪くする要素は多いですが、それら総合的なサイトの表示に関する評価と問題を確認する「ページの健康診断」ともいえる定番サービスに「PageSpeed Insights」があります。

PageSpeed Insights

今回は「PageSpeed Insights」の中でも「AwesomeFonts」導入によって起こる問題について、自分なりの解決方法を見つけたのでφ(`д´)メモメモ…

【このページのもくじ↓】

「PageSpeed Insights」の「レンダリングを妨げるリソースの除外」の「FontAwesome CDN」

使っているワードプレスのテーマやプラグインなどによっても変わってきますが、WebFontの中でも定番の「FontAwesome」を導入することによって起きる「PageSpeed Insights」の問題として、この「レンダリングを妨げるリソースの除外」です。

PageSpeed Insightsの「レンダリングを妨げるリソースの除外」のAwesomeFonts

「Font Awesome ●」をローカル(自分のサーバ内)にアップし、そこに読みに行けばOK

これはページを表示されるために読み込むたびに「FontAwesomeFont」の部分をFontAwesome CDNに取りにいくために起こるので、解決策としては「FontAwesome」を自分のサーバに入れて、そこから読み込むようにするのがベストです。

FontAwesome公式ページからフォルダごとダウンロードすることができます↓

FontAwesome公式ダウンロードページ

無料版の「Free for Web」で任意のバージョンの「Font Awesome」をダウンロードします。

様々なサイトで「webfonts」フォルダと「CSS」フォルダ内の「all.min.css」だけ自分のサーバにアップロードすると解説されていますが、なぜかうまく動かなかったので、丸々「fontawesome-free-●●」のフォルダごと、自分のサーバにアップしました。

今回はオープンケージさんの「ハミングバード」というテーマを使っていたので以下のディレクトリになります。

wp-content/themes/hummingbird/library/css に「icon-fav6.4.2」というフォルダを作り、その中に「 css」フォルダや「webfonts」などを作って丸々アップロードしました

アップロードのディレクトリ

確認のため、FTPで「all.min.css」のフルパスをコピペして、ブラウザのURLバーに入力して問題なく「Font Awesome ●(バージョン)」が表示されているか確認します。

「all.min.css」の読込はFunction.phpからでOK

続いてアップロードした「all.min.css」を内から読み込ませたりするのですが、今回はFunction.phpに以下のコードを記述することで上手くいったのでこちらを紹介します↓

/***** ◆FontAwesome アイコン◆ *****/
/* アイコンの読み込み */
function sample_fa_icon_init() {
//スタイルシートの登録
wp_register_style( ‘sample-fa-icons’, get_template_directory_uri().’/library/css/icon-fav6.4.2/css/all.min.css’, array(), filemtime(get_stylesheet_directory() .’/library/css/icon-fav6.4.2/css/all.min.css’), ‘all’ );
//スタイルシートの読み込み
wp_enqueue_style(‘sample-fa-icons’);
}
add_action( ‘enqueue_block_assets’, ‘sample_fa_icon_init’);

参考:ブロックエディターでプラグインを使わずにFont Awesomeなどのアイコンフォントを使う方法

もとの「FontAwesome CDN」へ読みに行っていた以下のような記述は消しましょう↓

<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css"/>

これでAwesomeFontが表示されるか確認しましょう。

ウェブフォント読み込み中のテキストの表示

もう1つ「PageSpeed Insights」のWebFont周りで多い問題が、「ウェブフォント読み込み中のテキストの表示」です↓

ウェブフォント読み込み中のテキストの表示

font-display の CSS 機能を使用して、Web フォントの読み込み中にユーザーがテキストを読めるようにしてください。

と表示されており、これの意味は「これらWebFontを読み込みされるまでに、何か代わりに暫定表示させておけよ」という意味です。

今回のサイトではありませんでしたが、ここに「Font Awesome」が表示されているケースも多いです。

解決方法は非常に簡単で、その要素にCSSで「font-display: swap;」を追加するだけです。

「Font Awesome」の場合だと、ここまでの手順でローカルに「Font Awesome」をアップロードしているので、「all.min.css」の中に以下のように「font-display: swap;」を書くだけで解決できます↓

all.min.cssにfont-display swapを記述

プラグインによっては「Awesome CDN」へ読みにいくものも⇒ローカルから読み込みたい

また、プラグインなどによっても「Font Awesome」で表示するために勝手に「Awesome CDN」へ読みに行っているものも稀にあります。

今回の自分の例だと「Blog Floating Buttom」というプラグインでは blog-floating-button / function.php内にAwesome CDNに読みに行く記述があったので、コメントアウトしました↓

BFBプラグインのFunctionからAwesome CDNを読みに行く記述を消す

見つけ方としては「PageSpeed Insights」で実際にカーソルを合わせると、読込先のURLが確認できます↓

★PageSpeed Insights内でカーソルを合わせると、具体的なURLが確認できる

この読み先のURLをコピーして、実際の自分のページを開きソースコードを表示して、「Ctrl+F」でペーストすれば、ページ内のどの部分から読みに行っているのか確認できるので、記述箇所を特定しやすいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です