MENU
カタログクリップ
本ページはプロモーションを含みます。

レンダリングをブロックしている jQuery, jQuery-migrate をフッタに移動する

2018 11/01
広告
wordpress
2016年11月13日2018年11月1日

WordPressで、jQuery.js と jQuery-migrate.min.js を、コンテンツレンダリングのブロックを避けるためにフッタで読み込む方法について紹介します。スクリプトの読み込みをフッタに回すことで、ファーストビューを迅速にユーザに提供できるようになります。また本記事では、スクリプトをCDNから読み込むようにし、さらなるスピードアップを図ります。

目次

レンダリングをブロックするJavaScript

Googleの Pagespeed Insights で自サイトの表示パフォーマンスを調べると、次の警告がでてくることが多いのではないでしょうか。

Pagespeed Insights

「スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSSを排除する」

これは、ブラウザが JavaScript の処理の終わりを待つせいで、Webページのファーストビューの表示が遅くなっているため、処理を後回しにすることを検討してください、という意味です。

特に jQuery.js は処理が重い上、アニメーションに使われることが多いため、後で読み込むようにしても問題が起こりにくいとされています。標準では、ヘッダで読み込みがなされていますので、フッタで読み込むようにするとよいでしょう。フッタでの読み込みを試してみて、導入しているWordpress プラグインに問題が生じないか確認することをお忘れなく!

この記事では、2016/11現在のwordpressにおいて、jQueryとそれに追随して読まれるJavaScript, jQuery-migrate をフッタで読み込ませる方法を紹介します。さらにコンテンツデリバリネットワーク(CDN)から読み込むようにし高速化をはかります。

環境

  • WordPress 4.6.1–ja
  • jquery 1.12.4
  • jquery-migrate 1.4.1

手順

テーマあるいは子テーマの functions.php を編集します。編集は、次の図のように「外観 > テーマの編集 > functions.php」からできます。

functions.php

もし、テーマに functions.php が見当たらない場合は、ローカルで新しくテキストファイルを作成してからftpなどを使いアップロードしてください。functions.php があり、すでになんらかの記述がある場合は、末尾の ?>の前に、下記の<?php より後の部分を追加するようにしてください。

もし、入力に失敗して管理画面にアクセスできなくなったら、ftpなどでfunctions.phpをダウンロードし、元に戻したfunctions.phpをアップロードして書き換えると、またアクセスできるようになります。

functions.php の<?php ?>タグ内に次の記述を追加します。

コード

<?php
if(!is_admin()){
  function queue_cdn_jquery() {
     wp_deregister_script('jquery');
    wp_deregister_script('jquery-core');
    wp_deregister_script('jquery-migrate');
       
    wp_register_script('jquery', false, array('jquery-core', 'jquery-migrate'), '1.12.4', true);
    wp_enqueue_script('jquery');   

     wp_enqueue_script('jquery-core', '//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', array(), '1.12.4', true);
     wp_enqueue_script('jquery-migrate', '//cdnjs.cloudflare.com/ajax/libs/jquery-migrate/1.4.1/jquery-migrate.min.js', array(), '1.4.1', true);
  }
  add_action( 'wp_enqueue_scripts', 'queue_cdn_jquery' );
}
?>

解説

  •  4, 5, 6行目、wp_deregister_script(): ヘッダで読み込まれている jquery.jsと jquery-migrate.jsを読み込まないようにします。
  • 8, 9, 10行目、wp_enqueue_script(): ‘jquery’ , ‘jquery-core’ と ‘jquery-migrate’というラベルに対し、新しくスクリプトを登録します。CDNから読み込むようにURLを設定しています。CDNから読み込めない場合は自分のサーバから読み込むという手法をとる場合もあります。しかし、CDNのほうが個人が使うレンタルサーバよりもダウンタイムが確実に小さいため、 CDNから読むだけでよいでしょう。CDNから読み込めるかチェックするルーチンに取られる時間のほうが勿体ないと私は考えています。
  • 9行目、add_actionで、この関数が実行されるようにフックします。

 

ページをリロードして、ソースコードを表示してみます。すると、無事フッタにjqueryが追加されていることがわかります。

source

Pagespeed Insightsの結果

再び、Pagespeed Insightsを実行してみます。次のようにブロッキングしているJavaScriptから、jQueryとjQuery-migrateが消えました!

Speed Insights after

 

まとめ

いかがでしたでしょうか。作業は、functions.phpにコードを追加するだけですので、それほど難易度は高くないと思います。ページのファーストビューが表示されるのを早くするために、ぜひ挑戦してみてください。

 

参考ページ

  • jQueryをCDNから読み込む
  • WordPress reference : wp_enqueue_script
  • WordPress reference : wp_default_scripts

 

wordpress
highlightjs

関連記事

  • How to avoid the “0” discovered URLs bug in Search Console
    2021年2月27日
  • Search Consoleで検出されたURLが0になるバグを回避する方法。
    2021年2月27日
  • WordPressで、progressタグの前のbrタグが消えて改行しない時の対応方法。
    2018年11月2日
  • 軽量ソースコード ハイライター highlight.js を WordPressへ導入する方法。
    2017年1月20日
  • Googleクローラは、JavaScriptを理解するか?テスト結果を紹介!
    2017年1月10日
  • すぐできる!WordPressのドメインを同一サーバ内で移転する6ステップの方法
    2016年12月14日
  • 一行追加するだけ!Xeory Baseに Facebookシェアボタンを追加する方法。
    2016年12月14日
  • 一ヶ月使用してわかった WordPress 用 google公式 Adsenseプラグインの利点と欠点
    2016年11月28日
カテゴリー
  • コンピューター
    • gnuplot & eps
    • mac
    • matplotlib
    • wordpress
  • ホーム・家電
    • アイロン
    • オーディオ
    • オーラルケア
      • ジェットウォッシャー
      • 音波振動歯ブラシ
    • カメラ
    • カー用品
    • クリーナー
    • テレビ、レコーダー
    • ドアホン
    • メンズ美容家電
      • ラムダッシュ
    • ルンバ
    • 一覧比較
    • 工具
    • 浄水器
    • 温水洗浄便座
    • 炊飯器
    • 空気清浄機・加除湿機
    • 空調・季節家電
    • 美容家電
      • フェイスケア
      • ヘアケア
      • ボディーケア
    • 血圧計
    • 調理器具
    • 電子レンジ
  • 健康
  • 家事
    • パン
    • 料理
    • 育児
    • 食品
      • おせち
      • コーヒー
  • 書籍
  • 知識
  • 趣味
    • ペン字
    • ロードバイク・クロスバイク
    • 車
    • 鉄道模型
    • 電子工作
サイト内検索
最近の投稿
  • モナークHGとモナークM7の4つの違い。[ニコン双眼鏡]
  • ニコン モナーク M7とM5の4つの違い。[双眼鏡]
  • Speed Wi-Fi DOCK 5G 01の実機使用レビュー。
  • RZ-760、GT-760、ST-760の違い。[ガス缶・CB缶]
  • RZ-730、RZ-730S、RZ-730SBK、RZ-730SWH、ST-Y450の違い。
  • TC-EA35WとTC-E123SBKの違いを比較。[スティッククリーナー]
  1. ホーム
  2. コンピューター
  3. wordpress
  4. レンダリングをブロックしている jQuery, jQuery-migrate をフッタに移動する
  • ホーム
  • プライバシーポリシー

© カタログクリップ
contact@beiznotes.org

目次