2022.12.28
WordPressで構築されているWebサイトでCDNを利用する際には、WordPress特有の仕様について注意すべきことがいくつか存在します。注意点及び、JストリームのCDNサービス「J-Stream CDNext」で提供している「注意点をケアして安全に配信を行うことが出来る機能」についてご紹介します。
CDNの基本を確認したい方は下記をお読みください。
WordPressは動的CMSと呼ばれる種類のCMSで、完成されたWebサイトを静的にサーバーへ保存するものではなく、Webサイトに対してクライアントからリクエストがあった時点で、動的にWebサイトを組み上げてレスポンスする仕組みです。まずは動的CMSを利用して生成されるWebサイトでCDNを利用する意義について説明します。
動的CMSでは、予め完成品のWebサイトを用意しないことで、Webサイト内の各パーツの更新や公開・非公開などの設定が容易になるというメリットがあります。
リクエストがあった時にサーバー上でプログラムが稼働してWebサイトが生成されるので、多くのリクエストを一度に受けすぎるとサーバーの稼働状況が高くなりやすく、レスポンスに支障が出てしまう場合がある点はデメリットとして考慮すべきです。
動的CMSを利用しているWebサイトでCDNを利用する際、CDNは動的CMSが生成した結果である、その時点での完成品のWebサイトをキャッシュしてクライアントへ配信します。以後はCDNがキャッシュしたWebサイトのファイルを配信するので、動的CMS側へ届くリクエストが少なくなり、配信の安定化とサーバー負荷軽減に役立ちます。
ここからはWordPressを利用するWebサイトにおけるCDN利用時の注意点について解説していきます。まずはWordPressの管理画面の扱いに関する注意です。
WordPressの管理画面は、実際のWebサイトのドメイン配下に「/wp-admin」という形で存在します。CDNはFQDN単位で利用をするサービスなので、例えば「www.example.com」をCDNによる配信の対象とした場合、「www.example.com/wp-admin」もCDNを通じて配信されることになります。管理画面に表示される情報は当然管理者向けの情報なので、CDNによりキャッシュすることは避けるべきです。
「J-Stream CDNext」では、WordPressにログインしている際にはコンテンツをキャッシュしないようにするという機能が備わっています。この機能を利用することで、Webサイトの管理者が、CDNextを通じて「www.example.com/wp-admin」へアクセスしても、コンテンツをキャッシュすることなく、Webサイトの更新を行うことが可能になります。
WordPressに限ったことではありませんが、CMSの管理画面へはアクセス制限がなされるべきでしょう。CDNextではディレクトリ単位、ファイル名単位でのアクセス制御を行うことができるので、「/wp-admin」に対してIPアドレスによる制限や、基本認証の設定が可能です。
WordPressを利用すると、ブラウザによるキャッシュの動作を指定するHTTPレスポンスヘッダであるCache-Control ヘッダが、キャッシュを禁止する指定で付与されている場合が多く見受けられます。これは管理者が意図したものではなく、WordPressの仕様です。
CDNサービス全般の仕様として、コンテンツをキャッシュするルールはこのようなヘッダ情報に従う場合と、CDNに設定した内容に従う場合、またはどちらを優先するか決めることが出来る場合があります。
CDNextの場合は明示的に「Cache-Control ヘッダを無視」する設定が可能です。この設定を施した場合は、CDNextの管理画面で指定されたキャッシュルールが優先適用されるので、ヘッダの有り無しにコンテンツのキャッシュの如何が左右されることはありません。
この機能により、本当はCDNを通じてキャッシュを配信したいWebサイトに対して意図せずキャッシュを禁止するヘッダ情報が含まれてしまう場合でも、問題無くコンテンツをキャッシュすることが可能になります。
以上、WordPress利用時におけるCDNを通じた配信の注意点と、その回避のために有効なCDNextの機能について解説しました。Jストリームではお客様のニーズに合わせた小回りの利いた機能を揃えたサービスを展開しています。是非お気軽にお問合せ下さい。
Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。