ウェブサイトのキャッシュを制御したい理由は数多くあります。インターネット接続の速度が向上しても、時事性の高い情報を求めるユーザーは多いです。たとえば、ニュースサイトでは匿名ユーザーには記事のみ、ログインユーザーには詳細や画像が表示される場合があります。そのため、キャッシュとは何か、そして自社サイトのパフォーマンス向上にどう活用できるかを理解することが重要です。
まず、この文脈での「キャッシュ」とは、ウェブページのコピーを保存し、再訪時に即時アクセスできるようにすることを意味します。毎回ゼロから生成するのではなく、キャッシュ版を利用することでユーザー体験を向上させます。
また、ウェブページの所在を示すURL(Uniform Resource Locator)という言葉も耳にします。これは、どの場所やデバイスからでもアクセスできるよう、ウェブページの位置を指定する方法です。たとえば、サイト訪問後に場所やデバイスが変わる場合、URLも変化させる必要があり、リンクを辿るユーザーの混乱を避けられます。
HTTPの機能であるキャッシュ制御は、ウェブサイト運営者がページのキャッシュ版に有効期限を指定できる仕組みです。たとえば、ホームページのキャッシュ版を保存し、三日後に自動で削除する設定が可能です。これにより、三日前にURLに訪れたユーザーでも最新のホームページが表示されます。
この機能は、同一ページに対して複数のURLを設定し、それぞれに異なる有効期限を設けられる点で重要です。たとえば、SNS上とウェブサイト上で異なるURLを利用する場合、一方のURLのキャッシュは、他方のページが先に訪問されると利用されなくなります。
また、キャッシュ制御はキャッシュ機能と合わせて活用することもできます。たとえば、ホームページ訪問時に永続的なキャッシュではなく、一か月の有効期限を設定すれば、ユーザーは即時に必要な情報へアクセスできる反面、いつでも新しい情報を確認することが可能です。
キャッシュ制御は、サイトのパフォーマンス向上と検索エンジン最適化の二点で特に意義があります。たとえば、多くのコンテンツを含むサイトでは、同じ情報を複数箇所に記載することになり、ページ内が煩雑になるため、ユーザーは全体を閲覧する際に複数ページを経由することになります。こうした際、どの情報をキャッシュするか指定することで、再訪時にキャッシュ版を再生成する手間を省けるため、非常に有用です。
また、Googleなどの検索エンジンで事業を検索した際、サイトが多数の結果中の一つとして表示されると、ユーザーがそのページを選択しにくくなる可能性があります。適切なキャッシュ制御設定を行うことで、検索エンジンに表示すべきページを制限し、ユーザーが迅速に求める情報に辿り着けるよう工夫できます。
キャッシュ制御はウェブサイトのパフォーマンスに大きな影響を与えます。ユーザーがサイトに訪れると、まずオリジナルではなくキャッシュ版が表示されるため、キャッシュ制御機能により、数秒で自動的にキャッシュ版が生成されることで、新規コンテンツの読み込み待ちを解消できます。
また、異なる場所やデバイスからサイトにアクセスした場合でも、ユーザーがリダイレクトされたり情報を見失ったりするのを防ぐ効果もあります。たとえば、デスクトップでリンクをクリックし、後にモバイルで閲覧する場合、検索エンジンなどからの他のアクセスがデスクトップのキャッシュにリダイレクトされることを防止できます。
このため、キャッシュ制御の設定は、ユーザー体験の向上に欠かせない要素として検討すべきです。
以下のキャッシュ制御の種類について知っておく必要があります:
最初の項目は、max-ageを用いて設定するキャッシュの有効期間です。これにより、ウェブページのキャッシュ版がどれだけの間利用可能かが決まり、期限が切れると再生成が必要となります。次に、expiresヘッダーを用いてページのキャッシュ内容を制御するかどうかを指定します。ヘッダーで有効期限を設定することで、古い情報が表示されるのを防ぎます。
サーバーからのコンテンツダウンロードが不要な場合は、no-storeディレクティブを使用できます。画像やCSSなど、コンテンツのダウンロードが必要な場合はstoreディレクティブの利用が推奨されます。
storeディレクティブの選択肢は、発信元によって限定され、public、private、no-cacheのいずれか一種類のみ指定可能です。
このディレクティブは、サイト全体のユーザーが共通のキャッシュを利用し、ログイン状態に応じて同一のキャッシュルール(例:private)を適用する場合に一般的に用いられます。
キャッシュ機能を理解するには、WordPressのキャッシュ設定を把握することが非常に重要です。WordPressダッシュボードの[設定] > [一般]で、三種類のキャッシュ設定が見つかります。
最初の「キャッシュしない」は、キャッシュ版が生成されないようにします。サイトを訪れるたびに最新状態を保ちたい場合に有用です。
次の「ユーザーのログイン以外を全てキャッシュ」は、初期設定ではホームページと投稿のみをキャッシュしますが、全ページをキャッシュするよう変更することも可能です。特にコンテンツが少ない小規模サイトでは効果的です。
最後の「全てキャッシュ」は、全ページと投稿のキャッシュ版を生成します。多くのウェブ管理者は、ページや投稿の更新後に即時キャッシュが生成される点から、この設定を選択しています。
キャッシュ制御は、ユーザーへ遅延なく情報を届けるためのウェブプログラミング技法です。通常、キャッシュ制御用のファイルはcssやjsディレクトリに配置され、途切れなくコンテンツを閲覧できるよう支援します。
訪問者が即座にサイトの内容を確認できない場合もあるため、サイトの再読み込みが必要になることがあります。適切なキャッシュ制御設定を施すことで、ページの読み込み速度が向上し、よりユーザーフレンドリーな環境を提供できます。
Wallarmは、サイトやアプリを守る製品を提供しています:
最新情報を購読