リンク先のページを高速表示させるには?先読み指定ざっくりまとめ

2020-08-02

リンクの移動先のページを高速表示させたい時に使える「先読み」指定。

ここで言う「先読み」とは、リンク先のページとの接続を先に済ませておいたり、ページのリソースを先に読み込んでおいたりして、移動先のページを少しでも素早く表示するための指定です。

ここでは、そんな「先読み」指定のいくつかを、自分用のメモを兼ねてざっくりとまとめています。

難しい事はおいといて、とりあえず効果と書き方だけ確認したいとき向けです!

詳しくは知りたい場合は、こちらの記事が参考になると思います。

参考: ページを1秒以内に表示するための最新技術、そしてSEOの未来(Web担当者Forum)

\項目をタップするとジャンプできます/

まずはページのパフォーマンスを確認する

1つのウェブページを表示するまでには、見えないところでいくつかの動作があります。

おおまかに「接続→取得→描画」といった流れで、それぞれの動作で効果のある「先読み指定」も違います。

どの動作で時間がかかっているか調べるには、Chromeのデベロッパーツールが便利です。

英語なのでちょっととっつきにくいですが、ページ表示のパフォーマンスを確認する事ができます。

パフォーマンスを確認したいページを開いて、Chromeのデベロッパーツールを開いて「Performance」タブをクリック。

※私は「Online」タブと勘違いして探し回っていたのでご注意を!

再読み込みアイコンをクリックするとパフォーマンスの計測が始まります。

ここでどの動作を改善したいかを確認しておくと、ぴったりの「先読み指定」も判断しやすいと思います。

先読み指定まとめ

ここで紹介している指定は、以下の4つの「pre」コードです。

preconnect(事前接続)
dns-prefetch(preresolve/事前解決)
prefetch(事前取得)
prerender(事前描画)

移動先のページではなく、そのページ内で必要になるファイルを先読みしておく「preload(事前ダウンロード)」も、ついでにまとめてあります。

書く場所は、全て「head」内。

なるべく上の方に書いておくと、その分少しだけ早く「先読み」できるようです。

preconnect(事前接続)

「クライアントとサーバーの間のDNS解決」「TCPのハンドシェイク開始」「TLSトンネルのネゴシエーション」といった ネットワーク接続に必要な動作を「先に済ませておく」指定です。

Chromeの「Performance」で「idle(待ち時間)」が長い時に効果的で、1つ指定するだけで0.5秒前後も短縮できる事もあります。

「idle(待ち時間)」対策に、ひとまず指定しておくのがオススメ。

HTML

<link rel="preconnect" href="https://example.com">

dns-prefetch(preresolve/事前解決)

さっきの「preconnect(事前接続)」の効果のなかで、「DNSの解決のみ」を先に済ませておく場合の書き方です。

HTML

<link rel="dns-prefetch" href="example.com">

prefetch(事前取得)

ページを表示するためのリソースを、先にダウンロードするための指定です。

次にユーザーが表示するであろうページのCSSを読み込んだり、HTMLをダウンロードしておく事ができます。

HTML

<link rel="prefetch" href="nextpage.html">

prerender(事前描画)
※強力。ただしモバイル未対応

次のページを非表示タブに「先に読み込ませておく」指定です。

非表示タブですでにページを描画できている状態なので、ユーザーがそのURLのリンクをクリックすると、瞬速でページを表示できます。

ユーザーがそのページに行かなければ、自動的にメモリから削除されます。

リンク先ページの高速表示として超強力な「先読み指定」ですが、ほとんどのモバイルブラウザで未対応なのが難点です。

「prerender(事前描画)」は、1ページあたり1つだけしか使えません。

HTML

<link rel="prerender" href="nextpage.html">

preload

こちらは、リンク先ではなく「そのページ内で」必要になるものを「先読み」させる指定です。

重めのフォントファイルや画像ファイルなどを「早めに読み込んでおいてね」と指定しておくと、少し高速化できます。

HTML

<link rel="preload" href="css/css1.css" as="style">
<link rel="preload" href="js/js1.css" as="script">

PC向け外部サービスも

ここまでは自分でHTMLファイルに「先読み指定」を書く方法を見てきましたが、「先読み指定」をカンタンに実装できるサービスもあります。

「instant」は、リンクに「カーソル乗った時点で」ページをプリロードする事で、表示速度を上げるサービスです。

スマートフォンではタップなので効果は少ないかも知れませんが、パソコンユーザーの多いサイトでは効果的かも知れません。

参考: instant

下記のHTMLスニペットを「/body」タグの直前に設置するだけで対応できる手軽さが魅力です。

HTML

<script src="//instant.page/2.0.0" type="module" integrity="sha384-D7B5eODAUd397+f4zNFAVlnDNDtO1ppV8rPnfygILQXhqu3cUndgHvlcJR2Bhig8"></script>
SHARE

このサイトについて

「Web Work Plus」はWEB制作・ビジネスのちょい足し情報メデイアです。ちょっとしたハテナをプラスに変える役立つ備忘録を発信中!