「WordPressサイトで、KinstaとCloudflareどちらのCDNを選ぶべきでしょうか?」─これは、特にKinstaに新しく移行してくださったお客様からよく寄せられる質問です。結論からお伝えすると、どちらでも問題ありません。より具体的に説明すれば、当社のCDNとCloudflareが提供するCDNは大きく異なるため、サイトのニーズに基づいて選択した方がいいでしょう。

よく理解した上で決断していただけるよう、この記事ではそれぞれの長所と短所を詳しくご説明します。

CDNとは?

CDNとは、コンテンツデリバリネットワークの略です。コンテンツデリバリネットワークは、画像、CSS、JavaScriptなど、WordPressサイトの静的なコンテンツの複製をホスト、配信するために世界中に配置されたサーバー(POPともいう)のネットワークです。CDNによっては、ビデオストリームやMP3などの動的コンテンツをホストすることもできます。

Kinsta CDN

Kinsta CDN

CDNの主な目的は、WordPressサイトのアセットの配信を高速化することです。ここからは、その方法をいくつかをご紹介します。

ネットワーク遅延(レイテンシ)を短縮する

ネットワークレイテンシとは、ネットワーク上でのデータの送信にかかる時間およびその遅延のことです。言い換えると、データパケットがある地点から別の地点に移動する時間です。データの移動距離が長いほど、読み込み時間とレイテンシが長くなります。

アセットを訪問者のいる場所に近いサーバーの配信拠点(POP)にコピーすることにより、発生するレイテンシを大幅に削減できます。たとえば、ウェブサイトがアイオワ州(米国)のデータセンターでホストされており、訪問者がドイツからサイトにアクセスした場合、データは数千キロも移動する必要があります。CDNを使用している場合、アセットはドイツのフランクフルトにあるCDNサーバー(POP)などの非常に近い場所から自動的に配信されます。

TTFBを短縮する

TTFBとは「サーバー初期応答時間」(Time To First Byte)を意味します。簡単に言えば、TTFBはブラウザがサーバーからのデータの最初の1バイトを受け取るまでにかかる時間のことです。そのデータを受け取るまでに時間がかかるほど、ページを表示するのにかかる時間が長くなります。TTFBはDNSルックアップ後から計算されるものと誤解されがちですが、実際はネットワークにおけるTTFBの計算には、必ずネットワークレイテンシが含まれます。

CDNがTTFBを短縮する主な方法がキャッシュです。キャッシュとは、あるリクエストのリソースを保存し、後続のリクエストの際に再利用するプロセスのことです。基本的には、ページビューを生成するのに必要な作業量を減らします。WordPressのホスティングサービスがキャッシュを使用しているのと同様に、CDNもキャッシュを使用します。アセットがCDNのキャッシュから配信されると、サイト訪問者のアクセス時にすばやく読み込まれるようになります。

サイトのTTFBは、使用しているCDNの種類によって異なります。これについては、以下で詳しくご説明します。

ただし、TTFBの種類に進む前に、Kinstaのお客様がよく利用される2種類のコンテンツデリバリネットワークの違いについて理解しておきましょう。

  1. 従来のプル型CDN
  2. リバースプロキシ/WAFを利用したCDN

1. 従来のプル型CDN

Kinsta CDNは従来のプル型CDNです。

従来のプル型CDNは、すべてのコンテンツとメディアのコピーをキャッシュし、サブドメインまたは123.kinstacdn.comなどのランダムなURLを使用してアセットを配信します。ユーザーがWordPressサイトにアクセスすると、最初にクライアントからサーバーにリクエストが送信されますが、その後CDNにリクエストが送信され、すべてのアセットがそこから取得されます。

domain.com [request → WordPress host]
123.kinstacdn.com/image.png [request → CDN]
123.kinstacdn.com/style.css [request → CDN]
123.kinstacdn.com/scripts.js [request → CDN]

2. リバースプロキシ/WAFを利用したCDN

Cloudflareはリバースプロキシ/WAFを利用したCDNです。

リバースプロキシ / WAFを利用したCDNは従来のプル型CDNとは少し異なります。CDNとして振る舞うものの、受信した全てのリクエストを捉え、クライアントとサーバーの間で仲介サーバーの機能を果たします。これこそが、ネームサーバーを変更してDNSをそのサーバーに向けて設定する必要がある理由の一つです。従来のCDNとは異なり、サブドメインやランダムなURLは使用されません。

domain.com [request → reverse proxy/WAF CDN → WordPress host]
domain.com/image.png [request → reverse proxy/WAF CDN]
domain.com/style.css [request → reverse proxy/WAF CDN]
domain.com/scripts.js [request → reverse proxy/WAF CDN]

CDNスピードの正しいテスト方法

Kinsta CDN、Cloudflare CDN両方の長所と短所に迫る前に、CDNのスピードテストを正しく行うためのポイントをいくつかご紹介します。テストを間違った方法で行ったことで、実際のパフォーマンスを把握できていない方がたくさんいらっしゃいます。

キャッシュを考慮し複数回テストを行う

前述のとおり、CDNが高速なのはキャッシュからコンテンツを配信するためです。ただし、サイトにCDNを追加したばかりの場合や、キャッシュをクリアした場合は、初回の速度テストではコンテンツがまだキャッシュされていない可能性があります。また、キャッシュが期限切れになっていることもあります。

事実として、多くの人がスピードテストを1回しか実行しません。コンテンツがCDNにキャッシュされていない状態では、CDNがサイトの速度を低下させていると勘違いしてしまう可能性があります。KinstaのCDN速度に関するベンチマークテストでは、CDNが読み込み時間を最大50%短縮できることが判明しました。結果は、テストする場所によって異なりますが、いずれにしても速度が向上するはずです。

CDNがまだコンテンツをキャッシュから配信していないパターンは簡単に確認できます。すべてのスピードテストツールで、HTTPヘッダー(応答ヘッダーとも)が表示されます。これには、各リクエストに関する重要な情報が含まれています。以下の例では、Pingdomを使用しています。

WordPressサイトの、CDNから読み込まれるはずのアセットの一つを確認します。例えば、画像やCSS / JSファイルなど。Kinsta CDNをご利用の場合はx-cacheというヘッダーをお探しください。コンテンツがキャッシュから配信されていない場合には、ヘッダーがMISSを返します。

HTTPヘッダーの「MISS」

HTTPヘッダーの「MISS」

CDNを正しくテストするには、すべてのコンテンツがキャッシュから読み込まれている状態でなければなりません。その場合、x-cache値はHITを返します。この状態になるまでに、スピードテストを複数回実行することも、時には不可欠です。Kinstaスタッフの経験では、概ね2~3回が目安です。Pingdomなど、一部のツールでは、各テストの間に時間を空ける必要があります(通常は数分)。したがって、スピードテストを実行し、時間を置いてから再び実行…という流れになるでしょう。

HTTPヘッダーの「HIT」

HTTPヘッダーの「HIT」

Cloudflareをご利用の場合は、HTTPヘッダーはcf-cache-statusです。上記の手順がCloudflareにも適用されます。HITが表示されるまで、スピードテストを数回実行します。この状態になってはじめて、Cloudflareがアセットをキャッシュから配信していることが確認できます。

HTTPヘッダー「cf-cache-status」

HTTPヘッダー「cf-cache-status」

テストを実施する場所も非常に重要

スピードテストの際に選択するロケーションも大きな影響を与えます。これは、テスト結果がWordPressサイトのホストされているデータセンターと関係しているからです。具体的には、TTFB、ネットワークレイテンシなどが関連してきます。

そのため、ご利用のデータセンターに近いロケーションと遠いロケーションの両方を選択し、ウェブサイトをテストしてみましょう。また、まずはCDNを使用せずにテストを行い、その後CDNを使用して実行します。そうすることで、CDNのWordPressサイトへの影響を把握できます。

Which is better for your WordPress site, the Kinsta CDN or Cloudflare? 🤔Let's find out.Click to Tweet

Kinsta CDNの長所と短所

次に、Kinsta CDNの長所と短所についてご説明します。Kinsta CDNは、KinstaのすべてのWordPressホスティングプランでご利用いただけます。

Kinsta CDNの長所

Cloudflare CDNよりもKinsta CDNをお勧めする主な理由の一つは、TTFBが非常に低く、サーバーへのリクエストに影響を与えないためです。前述のとおり、Cloudflareはリバースプロキシ/ WAFを利用したCDNであり、サイトとレンタルサーバーの間に位置します。そのため、オーバーヘッドが発生し、TTFBが伸びます。キャッシュルールで回避できますが、決して簡単とは言えません。(以下で詳しく説明します)

Kinsta CDNはHTTP/2を特徴とし、IPv6対応であり、世界35か所の配信拠点によりアセットを高速化します。Cloudflareはより多くの配信拠点を持ちますが、TTFBが非常に低く使いやすいKinsta CDNは最も速く簡単なCDNをご希望のお客様に最適です。Kinsta CDNはたった2つのステップで有効にできます。ネームサーバーを変更したり、新たにアカウントを登録したり、プラグインをインストールしたりする必要はありません

ステップ1

Kinsta CDNを有効にするには、管理ダッシュボードであるMyKinstaにログインします。該当のウェブサイトをクリックし、Kinsta CDNのタブへと移動します。

Kinsta CDN

Kinsta CDN

 

ステップ2

次に「Kinsta CDNを有効にする」をクリックします。数分後、CDNが自動的に機能し始め、アセットが世界各地の配信拠点のキャッシュから配信されます。手順はたったこれだけです。

Kinsta CDNを有効にする

Kinsta CDNを有効にする

Kinsta CDNの短所

Kinsta CDNの最大の欠点は、リバースプロキシ/WAFを利用していないことです。これは、リバースプロキシ/ WAFが悪質なボットや悪意のあるトラフィックを必ず特定できるとは限らないためです。悪意のあるトラフィックは通常、アセットではなくサイトに直接アクセスします。したがって、Kinsta CDNを使用しても、サイトへの不正なトラフィックを減らすことにはつながりません。つまり、サイトへの訪問数は、Cloudflareなどのリバースプロキシ/ WAF採用のソリューションを使用した場合よりも高くなります。

Kinstaでは、主要なクローラーボットによる訪問数はカウントされず、分析データからもこれを除外するよう全力を尽くしております。ただし、ボットはユーザーエージェントになりすますことが多く、その場合、アクセスログで正当なアクセスとみなされる可能性もあります。Kinstaにおける訪問数カウント方法の詳細もあわせてご確認ください。

当社の各ホスティングプランには、十分なCDN帯域幅が含まれています。大半のお客様はこの上限を超えることがなく、CDNは基本的に無料です。ただし、プランのCDN帯域幅を超えてしまうと、0.10ドル/1GBの料金が発生します。非常に安価ではありますが、サイトのトラフィックの量と使用しているメディアの種類やサイズによっては無料にはならない場合があるため、これを欠点と見なす方もいるかもしれません。

Cloudflareの長所と短所

次に、Cloudflare CDNの長所と短所についてご説明します。

Cloudflare CDNの長所

Cloudflareは、サイトへの不正なトラフィックを非常に効果的にブロックします。同社は長年この側面に力を入れてきたため、何十年もの開発の成果であるフィルターやルールが利用できます。Kinstaホスティングプランでカウントされる訪問数を抑えたい場合は、Cloudflareを使用すれば間違いなく効果があるでしょう。なお、無料のCloudflareプランにはウェブアプリケーションファイアウォール(WAF)が含まれていませんので、ご注意ください。ただし、それでも一部の不正なトラフィックからの保護は期待できます。

カウントされる訪問数を可能な限り抑えたい場合は、WAFを含む月額20ドルのCloudflare Proプランを利用することをお勧めします。これにより、訪問数のカウントはさらに減少するでしょう。Cloudflareは、ボット、スクレイパー、クローラーのターゲットになりやすい、高トラフィックで人気のあるサイトに最適です。詳細はCloudflareのプラン一覧をご覧ください。

Cloudflareは高速であり、CDNプロバイダーの中でも最も多くのサーバー配信拠点(POP)を持ちます。そのネットワークを構成するPOPは165ヵ所以上です。

Cloudflare CDNの短所

次にCloudflare CDNの短所についてです。1つ目の短所は、ネームサーバーからCloudflareへの紐付け設定を行う必要があること。対するKinsta CDNでは、サイトがすでに当社でホストされている場合はDNSを変更する必要はありません。

Cloudflareを使用した場合の最もよく発生する問題は、デフォルトでTTFBが長くなることです。前述のとおり、Cloudflareは、全てのリクエストを捉え、クライアントとサーバーの間で仲介サーバーの機能を果たすリバースプロキシ/WAFです。この機能は、初期HTTPリクエストとアセットに影響を与えます。その結果、オーバーヘッドが発生します。一例として、以下の画像では、CloudflareでのTTFBが141.1ミリ秒であることがわかります。

Cloudflareでの高TTFB

Cloudflareでの高TTFB

TTFBはサイト全体のスピードに関係するものであるため非常に重要です。ここで、Kinsta CDNを使用しているサイトを見ると、初期リクエストのTTFBはわずか33.1ミリ秒です。前述のとおりCDNが処理するのはアセットのみであるため、この初期リクエストはKinstaサーバーから直接配信されます。

一方、WordPressサイトを保護するCloudflareの素晴らしい対策の数々を考えれば、TTFBが長いことはそれほど問題ではないという見方も当然あるでしょう。

Kinsta のTTFB

Kinsta のTTFB

CloudflareではTTFBは長くなりますが、キャッシュルールでTTFBを短縮することができます。これにより、WordPressサイトが完全にCDNのキャッシュから配信されるようになります。基本的には、Kinstaでも提供しているフルページキャッシュを模倣したものです。

これの欠点として、キャッシュルールの設定は複雑になり得ます。また、キャッシュすべき内容とキャッシュすべきでない内容を正確に理解しておく必要があります。コメント、WordPressの管理ツールバー、ECサイトの決済画面などは、キャッシュルールで適切に設定しなければなりません。

Cloudflare BusinessまたはEnterpriseプランを使用していない限り、Cookieが検出されたときにキャッシュをバイパスすることもできません。Kinstaでは、woocommerce_items_in_cartCookieまたはedd_items_in_cartCookieが検出されると、キャッシュが自動的にバイパスされ、スムーズな決済プロセスを維持できるサーバーレベルのルールを導入しています。フルページキャッシュのキャッシュルールを適用したい場合もご自分で設定する必要があります。

無料のCloudflareプランでは、3種類のキャッシュルールしか利用できません。

以上のことを踏まえて、ルールを適切に設定すればCloudflareは非常に高速になります。Cloudflareでフルページキャッシュを設定すると、TTFBは20ミリ秒未満になりました。

フルページキャッシュルールを使用した場合のCloudflareのTTFB

フルページキャッシュのルールを使用した場合のCloudflareのTTFB

フルページキャッシュのキャッシュルールを設定する際には、次の記事のご確認をお勧めします。

自信がない場合は、WordPressの開発者を雇うことをお勧めします。

WordPressサイトにCloudflareを使用している場合、スピードテストツールで「Serve static content from a cookieless domain」(日本語での意味:クッキーレスドメインから静的コンテンツを配信してください)」という警告メッセージが表示されることもあります。

Cloudflareのネットワークを介して配信されているリソースのCookieを無効にすることはできません。Cloudflareは独自のセキュリティCookieをヘッダーで使用しています。これは非常に小さく、パフォーマンスへの影響はごくわずかです。とは言え、Cloudflareをご利用の場合には、この警告を回避する方法はありません。Kinsta CDNを使用する場合、上記の警告メッセージは表示されません。

Cloudflareを使用する場合には、公式WordPressプラグインをインストールするのがいいかもしれません。これにより、新しいコンテンツを公開するときにキャッシュが自動的にクリアされるように設定できます。インストールしない場合は、Cloudflareのダッシュボードからキャッシュを手動でクリアするか、期限切れになるまで待つしかありません。Kinstaでは新しい投稿が公開されると、キャッシュは自動的にクリアされます。

また、一部の地域では、無料のCloudflare CDNプランが遅くなることも留意すべきでしょう。

どちらのCDNを使用すべきか

ここまでKinsta CDNとCloudflare CDNについて詳しくご紹介してきました。ご自分のサイトにはどちらがより適切かイメージが付いたのではないでしょうか。繰り返しますが、どちらを選んでも問題はありません。コンフリクトが起きてしまう可能性があるため、KinstaとCloudflareを同時に利用するのだけはおやめください。要点を改めてまとめます。

Kinsta CDN

  • TTFBが非常に短く、高速です。パフォーマンスを重視する場合、Kinsta CDNの使用をお勧めします。
  • 使いやすく、数秒で設定できます。ネームサーバーを変更したり、キャッシュルールを設定したりする必要はありません。
  • 通常は無料です。プランの帯域幅を超えても、非常に安価です。
  • 悪質なボットや悪意のあるトラフィックの特定に関しては劣勢です。

Cloudflare CDN

  • 不正なトラフィックをブロックするのに最適なソリューションです。これにより、Kinstaのホスティングプランをご利用のサイトでカウントされる訪問数を減らすことができます。完全なWAFを含むCloudflare Proプランをお勧めします。
  • Cloudflare CDNはリバースプロキシ/ WAFであるため、オーバーヘッドによりTTFBが長くなります。
  • TTFBを減らすことは可能ですが、キャッシュルールの設定が必要です。サイトの複雑さによりますが、ルールの設定が面倒な場合があり、さらに高額なCloudflareプランが必要になることもあります。
  • 一部の地域では、無料のCloudflareプランは遅くなります。
  • 新しいコンテンツを公開する際の自動キャッシュ削除など、適切な機能を利用したい場合は、WordPressプラグインが必要です。
  • DNSをCloudflareと紐付けるためにネームサーバーを変更する必要があります。

補足事項などございましたら、コメント欄に是非ご意見をお寄せください。


時間とコストを節約し、サイトパフォーマンスを最大化します。

  • 24時間年中無休でお問い合わせいただけるWordPressホスティングの専門家からの即座なサポート。
  • Cloudflare Enterpriseとの統合。
  • 世界各地に設置された28カ所のデータセンターでグローバルなオーディエンスに対応。
  • アプリケーションのパフォーマンス監視機能を使った最適化。

長期契約は必要ではありません。サーバー移行のサポート、30日間の返金保証など、さまざまなサービスを提供しております。お客様に最適なプランをご提案いたしますので、お気軽にお問い合わせください。または、当社のプランをご確認ください。