Loading…

記事内にプロモーションが含まれています。

Stinger6 Stinger7 WordPress インターネット カスタマイズ テーマ 伝えたいこと 備忘録

ページ表示速度高速化レンダリングブロックを非同期にしてみる。

ページ表示速度高速化

所要時間目安:3

This session is using  IPv4  is established in

この記事は2016年6月10日のものです。現在は状況が異なる可能性がありますのでご注意ください。

Stinger6 Stinger7 WordPress インターネット カスタマイズ テーマ 伝えたいこと 備忘録

目次に行く・戻る

メルカリ招待コード:

ここ最近…。本当にサイトの高速化、サイトのページ表示速度を速くしなければ!!なんて思い過ぎている私です。
ない知識をフルに活用してみてはいるものの、うまくいったりいかなったり、トライ・アンド・エラーそして、トライを繰り返している今日この頃…。

読み込みを遅くする要因は、
header(ヘッダー)部分のjQueryや外部読み込みなどをしている同期されているものをGoogle Page Insight(グーグルページインサイト)で、よく指摘されます。

なので、
非同期にすれば良いのは分かっていてもWordPressにおいては、PHPとかいまだによく分からない関数などが多くてトホホな状態だったりもします。

 

前回のページ表示速度高速化に関する記事ですm(__)m

 

アドセンス336pxPC閲覧記事下表示1つ目コード

 


この記事を読む方へのオススメ


でも、なんとかして非同期にすれば良いのではないかと試行錯誤した中でとりあえずの解決策と実施してみた方法を備忘録として残しておきたいと思います。

 

まずは、今回の結果的にこれで良かった(と思われる)方法です。

テーマ内の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"属性が付与されてしまっていつまで経っても、表示されるはずのページ全ての読み込みが終わりませんでした。

こんな感じにソースはなりました。

非同期コード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ペコッ)

 

Stinger6, Stinger7, WordPress, インターネット, カスタマイズ, テーマ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧

あなたにおすすめ

zenbackイメージ画像を丸くする

WordPress テーマ 伝えたいこと 備忘録

zenbackのイメージ画像を丸くする方法

つい先の投稿で関連記事のイメージ画像を丸くする方法を投稿しました。 ですが、 それだけですと全体的なバランスが取れないことに気づきました^^; なので、 zenbackという関連記事?などを表示するツ…

もっと読む

インフィード広告アドセンス

今日の人気記事

Stinger6 WordPress カスタマイズ

記事の上に今日の人気記事を表示する方法

↑ のように、 個別記事のタイトルの上に「本日の人気記事」というものを表示する方法です。   WordPressにおいては、 WordPress Popular Postsという人気記事のプ…

もっと読む

インフィード広告アドセンス

スマホファースト

スマホ 伝えたいこと 備忘録

アクセス数を増やす方法!!それはスマホ…。

ブログやホームページなどのサイトを運営していると、やはり気になるのがアクセス数だと思いわれます。ここ2年から3年で一般人や普通の人?(表現が曖昧ですが無礼のないように)でも、 はてなブログやWordP…

もっと読む

インフィード広告アドセンス

ブログのデザイン夕日と夕焼けで考える

AFFINGER4Pro STINGER PLUS+ Stinger6 WordPress カスタマイズ 伝えたいこと 備忘録

ブログデザインがセンスの良いレイアウトやデザインにならない。Simple is Bestにしたい…。

人に見ていただくのでブログ運営においてデザインも重要です。自分の備忘録のみであれば、然程デザインやユーザビリティにこだわらなくても良いのかもしれません。テーマを変えてみようと思いましたが、これまでのカ…

もっと読む

インフィード広告アドセンス

クリックアイコン

AdSense スマホ 伝えたいこと 備忘録

クリック率(CTR)や広告配置について考えてみる…。

当ブログはGoogle AdSense(グーグルアドセンス)による広告配信?をしています。そんな中で多くの方々が考えたことのあるであろう広告の配置の仕方についてです。広告配置にはいろいろな配置の場所。…

もっと読む

インフィード広告アドセンス

乙武洋匡さん

Twitter 伝えたいこと 備忘録 時事ネタ

乙武洋匡さんもTwitter裏アカウント使ってたの…。「純愛エロメガネ」らしい

(アイキャッチ画像出典元:乙武洋匡さん公式Twitterより:https://twitter.com/h_ototake)先日、おとといかな…。 Twitter(ツイッター)に裏アカウント(通称:裏垢…

もっと読む

おすすめの記事一部広告

お小遣い稼ぎにアンケート。

Multiplex 広告

おすすめ!!

世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!

おすすめ2

楽天による季節特集です。それぞれの季節ごとにお得なお買い物商品やお得な旅行商品、その他にもAmazon同様に国内最大の買い物ポータルサイトです。楽天をメインにお買い物されている方はポイントやSPUも貯まりさらにお得に!!楽天カードや宇佐美系列のガソリンスタンドでも楽天ポイントが今では貯まります。それらのポイントを貯めてお得にお買い物や旅行商品その他にもパソコンサプライや車カスタマイズ商品など楽天も充実しています。

Googleニュース

2024-05-02

やバイクのメンテナンスにアウトドアなど、あらゆるフィールドで活躍する同商品を、車内やガレージに備えておこう。 究極のグローブ「プレシジョン プロ ...

2024-05-02

そこでエバポレーターの清掃&消臭をDIYで実施しよう。 ◇季節の変わり目に臭う. クルマのエアコンは寒い冬にはヒーター、暑い夏場に ...

2024-05-02

... メンテナンス未経過契約残高は85.60億円(対前期末比1.5%増)となった。 燃料販売について、主に自動車用燃料給油カードにおいて、低燃費の普及により需要 ...

2024-05-02

カーディテイリング分野ではないが、フォルクスワーゲンの販売・メンテナンス専門店の株式会社GAKUYAが出品していた、ヨーロッパ生まれの自動消火システム「 ...

2024-05-02

アルファロメオMiTo 徹底メンテナンス! 2024年5月2日. テーマ:輸入車メンテブログ. コラムカテゴリ:くらし. 明日からゴールデンウイーク休業として、6日まで ...

Total228


アドセンス336pxPC閲覧記事下表示1つ目コード

目次に戻る

よろしかったらシェアよろしくお願いします。

-Stinger6, Stinger7, WordPress, インターネット, カスタマイズ, テーマ, 伝えたいこと, 備忘録

目次に戻る

目次に戻る


コメントを閉じる

comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください