SWELLにはスクリプト遅延読み込みという高速化機能があります。
とても高機能なのでSWELLユーザーは必ず使用して欲しい機能の1つです。
スクリプト遅延読み込みは極端に言えば、PageSpeedInsightのスマホで得点を出すための対策です。
Page Speed insightで未使用のJavascriptでレポートされるjavascriptをスクリプト遅延読み込みに指定していけば点数が良くなります。
Googleアドセンスの遅延読み込み指定
公式サイトの記述例をそのままコピペして安心していたのですが、アドセンスのスクリプトの遅延指定は入っていませんでした。
こちらを追加すると、アドセンス関係のjavascriptで点数が下がることはなくなります。
adsbygoogle.js,
アドセンスを遅延読み込みすると検索順位が低下する可能性があります。
無理にアドセンスを遅延読み込みするのはリスクがあると知っておきましょう。
Google tagmanagerの遅延読み込み指定
公式サイトの記述例をそのままコピペして安心していたのですが、googleタグマネージャーのスクリプトは対応していませんでした。
こちらを追加するとgoogletagmaner関係のjavascriptで点数が下がることはなくなります。
googletagmanager.com/gtm.js,
Autoptimizeとかのjavascript圧縮はキーワードで除外しないとダメです
SWELLのスクリプト遅延読み込みは高機能でインラインの<script>タグも遅延させてくれます。
ですが、他のプラグインで、インラインのjavascriptを圧縮してしまうとSWELLのスクリプト遅延読み込みで見つからなくなります。
Autoptizeではインラインのjavascriptも圧縮してくれてしまうので、スクリプト遅延読み込みが効かなくなります。
AutoptizeにもSWELLのスクリプト遅延読み込みと同じキーワードを指定して除外すれば問題なくなります。
SWELLのスクリプト遅延のキーワードをAutoptimizeのjavascript除外設定に読み込ませることで、AutoptimizeとSWELLの設定を共有できます。
add_filter('autoptimize_filter_js_exclude','swell_to_ao_scr');
function swell_to_ao_scr($in) {
$delay_js_list = \SWELL_Theme::get_option( 'delay_js_list' );
return $in.','.$delay_js_list;
}
まとめ
SWELLのスクリプト遅延読み込み機能を使う場合は、Page Speed insightで報告されるファイル名ではなく、自分でヘッダーやフッターに埋め込んだスクリプト名を指定します。
Page Speed insightで報告されるファイル名は、javascriptを読み込んだ後のファイル名なので、SWELLが見ているファイル名とは異なるためです。
また、Javascriptを圧縮するプラグインを併用している場合は、インラインスクリプトが圧縮されてSWELLが見つけられないことがあるので、Javascriptを圧縮するプラグインからその部分は除外しましょう。
コメント