ここ最近…。本当にサイトの高速化、サイトのページ表示速度を速くしなければ!!なんて思い過ぎている私です。
ない知識をフルに活用してみてはいるものの、うまくいったりいかなったり、トライ・アンド・エラーそして、トライを繰り返している今日この頃…。
読み込みを遅くする要因は、
header(ヘッダー)部分のjQueryや外部読み込みなどをしている同期されているものをGoogle Page Insight(グーグルページインサイト)で、よく指摘されます。
なので、
非同期にすれば良いのは分かっていてもWordPressにおいては、PHPとかいまだによく分からない関数などが多くてトホホな状態だったりもします。
前回のページ表示速度高速化に関する記事ですm(__)m
でも、なんとかして非同期にすれば良いのではないかと試行錯誤した中でとりあえずの解決策と実施してみた方法を備忘録として残しておきたいと思います。
まずは、今回の結果的にこれで良かった(と思われる)方法です。
テーマ内のfunction.phpに以下のコードが記載されている部分があります。
wp_enqueue_script(
'jquery',
'//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js',
array(),
'1.11.3',
false
);これが、
実際に表示された時には以下のようになっています。
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js?ver=1.11.3'></script>
とりあえず、
この1つでも非同期にすればレンダリングブロックする要素は1つ減ります。
なので、なんとかasync属性を付けたかったのです。
そして、結果いきついた解決方法(と思われる)ものは以下のようにします。
wp_enqueue_script(
'jquery',
'//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js',"async",
array(),
'1.11.3',
false
);function.php内のコードに"async"とただ単に付け加えてみました。
そうしたところ、ページのソースを見ると
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js?ver=1.11.3'></script>
はheader(ヘッダー)内からはなくなり、
footer(フッター)より下の<body>タグの終了部分</body>直前に移行されて、
さらに非同期の"async"がちゃんとついていました。
今のところこれで様子を見ています。
ですが、
本来?なら以下のようにコード記載するべきなのかなぁ。と思ってもいます。
// 非同期にするコードここから
if (!(is_admin() )) {
function add_async_to_enqueue_script( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' async charset='UTF-8";
}
add_filter( 'clean_url', 'add_async_to_enqueue_script', 11, 1 );
}
// 非同期にするコードここまで
ただ、
上記コードをfunction.php内に追記すると確かに"async"属性は付くのですが、
すべてに"async"属性が付与されてしまっていつまで経っても、表示されるはずのページ全ての読み込みが終わりませんでした。
こんな感じにソースはなりました。

なので、
はじめに記載した超初歩的な?ことをしてみた結果…。
非同期にしたいものだけを非同期にすることができ、かつページの表示されるべきものも全てが通常通りに読み込まれました。
他にも"defer"属性を付ける方法もありますが試してはいません。
"defer"を付与するコードは以下です。
(上記の"async"部分を"defer"に変えるだけです。)
if (!(is_admin() )) {
function add_defer_to_enqueue_script( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' defer onload='myInit()";
}
add_filter( 'clean_url', 'add_defer_to_enqueue_script', 11, 1 );
WordPressの関数的?には、こういった書き方(記述)が正しいのかもしれません。
その他の解決方法と思われるwp_enqueue_scripts()に対する非同期方法
function replace_script_tag ( $tag ) {
return str_replace( "type='text/javascript'", 'async', $tag );
}
add_filter( 'script_loader_tag', 'replace_script_tag' );
や、
//wp_enqueue_script にasyncを追加する。
function st_register_jq_script( $tag, $handle ) {
if ( 'st_register_jq_script' !== $handle ) {
return $tag;
}
return str_replace( ' src', ' async="async" src', $tag );
}
add_filter( 'script_loader_tag', 'st_register_jq_script', 10. 2 );
という具合に記述するのが本来なのかとは思います。
今のところうまい具合にいっているので、
一番はじめに上記したので対応中です。
今後、変更することはあると思われます。
(さらに、コメントなどでご指摘など大歓迎ですm(._.*)mペコッ)
追記)解決しました。以下を参照してください!!
あなたにおすすめ
関連記事
メンテナンス -
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
メンテナンス -
-
日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン
ある程度、年式がたった車においてはディーラーオプションナビ(DOP)やメーカーオプションナビ(MOP)の地図データが古くなったり、ナビのモニタインチ数が大きくなったりします。地図データが古くなるのはも…
メンテナンス -
-
車のキーナンバー確認方法。キーレス紛失や壊れた時
初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …
¥5,980 (2025/09/20 19:25時点 | Amazon調べ)
ポチップ ¥7,800 (2025/09/13 14:27時点 | Amazon調べ)
ポチップ
入学入社まであと…入学入社祝いはどんなPresent(プレゼント)でどのように過ごされますか?
ホワイトデープレゼントは以下などの豊富なキャンペーン商品から選ぶと良いと思います。
おすすめの記事一部広告
- カーメイトのエンジンスターターでエラー15表示と対処方法181
- ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法146
- キーIDが正しくありません。エクストレイルT32インテリジェントキー電池交換CR2032107
- 車のキーナンバー確認方法。キーレス紛失や壊れた時95
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく94
- アイドリングストップシステム異常警告灯表示対処方法82
- アルミテープチューン貼る場所で燃費向上と走行性能アップTOYOTAの特許を試してみた71
- TOYOTAキーレスリモコンの設定方法とキーナンバー(キー番号)69
- 日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン63
- エクストレイルT32マイナーチェンジ後ステアリング外し方57
Total896
今のところこれで様子を見ています。
ですが、
本来?なら以下のようにコード記載するべきなのかなぁ。と思ってもいます。
// 非同期にするコードここから
if (!(is_admin() )) {
function add_async_to_enqueue_script( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' async charset='UTF-8";
}
add_filter( 'clean_url', 'add_async_to_enqueue_script', 11, 1 );
}
// 非同期にするコードここまで
ただ、
上記コードをfunction.php内に追記すると確かに"async"属性は付くのですが、
すべてに"async"属性が付与されてしまっていつまで経っても、表示されるはずのページ全ての読み込みが終わりませんでした。
こんな感じにソースはなりました。

なので、
はじめに記載した超初歩的な?ことをしてみた結果…。
非同期にしたいものだけを非同期にすることができ、かつページの表示されるべきものも全てが通常通りに読み込まれました。
他にも"defer"属性を付ける方法もありますが試してはいません。
"defer"を付与するコードは以下です。
(上記の"async"部分を"defer"に変えるだけです。)
if (!(is_admin() )) {
function add_defer_to_enqueue_script( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' defer onload='myInit()";
}
add_filter( 'clean_url', 'add_defer_to_enqueue_script', 11, 1 );
WordPressの関数的?には、こういった書き方(記述)が正しいのかもしれません。
その他の解決方法と思われるwp_enqueue_scripts()に対する非同期方法
function replace_script_tag ( $tag ) {
return str_replace( "type='text/javascript'", 'async', $tag );
}
add_filter( 'script_loader_tag', 'replace_script_tag' );
や、
//wp_enqueue_script にasyncを追加する。
function st_register_jq_script( $tag, $handle ) {
if ( 'st_register_jq_script' !== $handle ) {
return $tag;
}
return str_replace( ' src', ' async="async" src', $tag );
}
add_filter( 'script_loader_tag', 'st_register_jq_script', 10. 2 );
という具合に記述するのが本来なのかとは思います。
今のところうまい具合にいっているので、
一番はじめに上記したので対応中です。
今後、変更することはあると思われます。
(さらに、コメントなどでご指摘など大歓迎ですm(._.*)mペコッ)
追記)解決しました。以下を参照してください!!
あなたにおすすめ
関連記事
メンテナンス -
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
メンテナンス -
-
日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン
ある程度、年式がたった車においてはディーラーオプションナビ(DOP)やメーカーオプションナビ(MOP)の地図データが古くなったり、ナビのモニタインチ数が大きくなったりします。地図データが古くなるのはも…
メンテナンス -
-
車のキーナンバー確認方法。キーレス紛失や壊れた時
初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …
¥5,980 (2025/09/20 19:25時点 | Amazon調べ)
ポチップ ¥7,800 (2025/09/13 14:27時点 | Amazon調べ)
ポチップ
(上記の"async"部分を"defer"に変えるだけです。)
if (!(is_admin() )) {
function add_defer_to_enqueue_script( $url ) {
if ( FALSE === strpos( $url, '.js' ) ) return $url;
if ( strpos( $url, 'jquery.min.js' ) ) return $url;
return "$url' defer onload='myInit()";
}
add_filter( 'clean_url', 'add_defer_to_enqueue_script', 11, 1 );
WordPressの関数的?には、こういった書き方(記述)が正しいのかもしれません。
その他の解決方法と思われるwp_enqueue_scripts()に対する非同期方法
function replace_script_tag ( $tag ) {
return str_replace( "type='text/javascript'", 'async', $tag );
}
add_filter( 'script_loader_tag', 'replace_script_tag' );
や、
//wp_enqueue_script にasyncを追加する。
function st_register_jq_script( $tag, $handle ) {
if ( 'st_register_jq_script' !== $handle ) {
return $tag;
}
return str_replace( ' src', ' async="async" src', $tag );
}
add_filter( 'script_loader_tag', 'st_register_jq_script', 10. 2 );
という具合に記述するのが本来なのかとは思います。
今のところうまい具合にいっているので、
一番はじめに上記したので対応中です。
今後、変更することはあると思われます。
(さらに、コメントなどでご指摘など大歓迎ですm(._.*)mペコッ)
追記)解決しました。以下を参照してください!!
あなたにおすすめ
関連記事
-
-
ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法
本日ではなく昨日になってしまいますが、それまでカーナビで地デジ対応のナビで突然エンジンをかけなおしたら・・・・・・。 「ICカードが正常に動作しませんでした。販売店にお問い合わせください。」 なんてい…
-
-
日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン
ある程度、年式がたった車においてはディーラーオプションナビ(DOP)やメーカーオプションナビ(MOP)の地図データが古くなったり、ナビのモニタインチ数が大きくなったりします。地図データが古くなるのはも…
-
-
車のキーナンバー確認方法。キーレス紛失や壊れた時
初めての経験でした。(汗)…。 キーレスエントリー、キーレスリモコンがついた鍵がエンジンを回す時にボキッと折れてしまいました。(汗)…。 プラスチックの本体部分と鉄のキー部分が分裂してしまいました。 …
入学入社まであと…入学入社祝いはどんなPresent(プレゼント)でどのように過ごされますか?
ホワイトデープレゼントは以下などの豊富なキャンペーン商品から選ぶと良いと思います。
おすすめの記事一部広告
- カーメイトのエンジンスターターでエラー15表示と対処方法181
- ナビテレビが見れなくなった時ICカードが正常に動作しませんでした対処方法146
- キーIDが正しくありません。エクストレイルT32インテリジェントキー電池交換CR2032107
- 車のキーナンバー確認方法。キーレス紛失や壊れた時95
- ECUをリセットする方法。アイドリング不安定だったのでしょうがなく94
- アイドリングストップシステム異常警告灯表示対処方法82
- アルミテープチューン貼る場所で燃費向上と走行性能アップTOYOTAの特許を試してみた71
- TOYOTAキーレスリモコンの設定方法とキーナンバー(キー番号)69
- 日産ディーラーオプションナビMM316D-WからMM518D-L交換(換装)NISSAN純正ナビリモコン63
- エクストレイルT32マイナーチェンジ後ステアリング外し方57
よろしかったらシェアよろしくお願いします。













新着コメント