BloggerでCloudflareを使用する

前提

BloggerでClaudflareを使用するためには、Bloggerに独自ドメインを設定する必要があります。Bloggerのサブドメイン(例:blogspot.com)では、Claudflareを設定することはできません。

ページをキャッシュする

Bloggerは、基本的に動的ページのため、ヘッダーにcache-control: private, max-age=0を設定しています。そのため、標準の設定ではCloudflareを使用してもページはキャッシュされません。ページをキャッシュするためには、明示的にキャッシュを指示する必要があります。

キャッシュ指示の方法は、CloudflareのPage Rulesを設定します。

*www.bugbugnow.net/*
Cache Level: Cache Everything. Edge Cache TTL: 2 hours

指定ドメインの全ページを対象とする
キャッシュを常にキャッシュする
エッジキャッシュを2時間保存する

ヘッダーについて

  • cache-control: private, max-age=0
    • cache-control
      • キャッシュコントロール
    • private
      • 単一ユーザー向け、キャッシュを保存してはならない
    • max-age=0
      • 最長キャッシュ時間、0秒

※Bloggerの単一ユーザ向け機能を無効にする必要があります
 Navibar, quickeditを削除する(他にはない?)
 (管理ページ、プレビューページは、別ドメインのため、影響なし)

キャッシュなし

キャッシュを保存しない場合、Claudflareでは、Claudflareから常にオリジナルサーバーへページ取得します。そのため、通常のBloggerのアクセスとほぼ同等のパフォーマンスを発揮します。(特にClaudflareを経由しても遅延等は特に発生しません、高速化もしません)

キャッシュ有無の確認方法

CloudFlareのキャッシュ有無は、ヘッダーのcf-cache-statusで確認できます。

BYPASS: キャッシュしない
DYNAMIC:
MISS: キャッシュが見つからず、オリジンWebサーバーから提供されました
HIT: リソースはCloudflareのキャッシュで見つかりました

Understanding Cloudflare's CDN – Cloudflare Support

高速化

0.1~0.3秒程度高速化するようです。体感では特に認識できませんでした。

問題点

Claudflareが停止した場合

Claudflareのサーバーが停止すると、Bloggerのサーバーが生きていても、Webページを表示できなくなります。

コメント投稿

コメントを投稿した場合、コメントの反映が遅れます。(コメント投稿直後は、コメント投稿ページのURLとなるため、投稿コメントを確認できるが、元のURLで再度確認するとコメントがなくなる)

新規投稿ページがインデックスページに表示されない

新規に投稿したページの表示が遅れる。新規に投稿すると検索ページの1ページ目や2ページ目で重複や抜けが発生する可能性があります。(ページの削除も同様)

モバイルアクセス

モバイルからのアクセスでもURLのパラメータにm=1がつかなくなるパターンが発生します。Bloggerのサーバーにアクセスしなくなるため、モバイル用のリダイレクトも発生しなくなり。モバイルでページ分岐している場合は、要注意です。

統計が機能しなくなる

Bloggerのサーバーにアクセスしなくなるため、管理ページの統計の結果が使い物にならなくなります。Analytics等で代用可能です。1日のアクセス数などは、Analyticsより使いやすかったため、使えなくなって不便です。

おわりに

ページのキャッシュ有無関連で迷走しましたが、BloggerにClaudflareを無事設定できました。ページをキャッシュすることで通常のBloggerよりも応答速度が高速化することを確認しました。問題点もあるようなので試験運用してみて採用するか本決定するか再考する予定です。

コメント: 0

コメントを書く