2020-07-13
個人で無料利用できるCDN(特にCloudflare)に関するメモ
Top > 日記 > 2020年 > 07月13日 > 個人で無料利用できるCDN(特にCloudflare)に関するメモ
CDNとは
CDNとはContent Delivery Networkの略称で、自分のサイトを公開しているサーバーとは別の高速なサーバーにキャッシュを分散しておいておいてウェブ配信を高速化・効率化する用途などで使われます。
サイトの高速化と効率化
CDNのサーバーは世界中に効率よく配置されておりコンテンツの配信速度を高速化できるほか、画像やスクリプトファイルなどを自分のサーバーが直接配信しなくてもCDNのキャッシュから配信することで負荷を分散させることができるなど、大規模な業務用サイトでは必須のテクノロジーの1つです。GoogleなどのIT大手が活用しているほか、akamaiやCloudflareなどCDNで有名な企業もあります。
サーバーからの最初の1バイトがブラウザに到着するまでの時間(TTFB)はサイトの訪問者を増やすのにも重要で、CDNはこのTTFB短縮にも有効です。
AMPキャッシュもCDNの一種
サイト高速化に活用している人が少なくないAMPキャッシュもGoogleにキャッシュを預けるという意味でCDNの一種と言えます。AMPではURLがgoogleになってしまうのがデメリットの1つですが、CloudflareなどのCDNを使えばAMP real URLという技術で自分のオリジナルのURLのままでAMPを使うことも可能になります(現在はAndroidのChromeのみが対応)。
Cloudflareのデフォルトのキャッシュ動作
IPV6対応、HTTP/2対応
SSL証明書がLet's encriptだとどうしても安物のイメージがつきまといますが(安物も何も、そもそも無料です)、CloudflareのCDNを使うとSSL証明書の発行元がCloudflareになるのでLet's encryptよりは少しブランド力が感じられてお得感があります。
またCloudflareでSSL化するとIPV6やHTTP/2にも対応できます。自分の使っているレンタルサーバーがIPV4だったりHTTP/2が使えないApache 2.2でもCDNを使うという手段があります。
さらにはCDNは設定次第でHTTP/2よりさらに進んだHTTP/3なども利用できるようですが、こちらはまだ対応ブラウザが少なかったり必ずしもHTTP/2よりHTTP/3が速いわけではなさそうな状況であることから、もう少し様子見かもしれません。
.jsなどのスクリプトファイル
画像などのコンテンツの配信に活用してもよいのですが、.jsなどのスクリプトファイルをCDNで配信することでキャッシュを共有できるようになるなどの利点もあります。.jsがキャッシュされることで読み込みが高速化され、Pagespeed insightのスコア向上にも役立ちます。.jsに強みのあるCDNといえばjsdelivr(https://www.jsdelivr.com/)などが有名で、無料で使えるのに速度が有料CDNを上回ることも好評を集めているようです。
SEOへの影響
CDNはコンテンツのランキングにダメージを与えたりSEOに有害なのか?という問題はしばしば議論されています。
サーバーのIPアドレス変更自体がクロール頻度に悪影響を与える可能性があると言われているようなので、Cloudflareと元サーバーでDNS設定をコロコロ変えたりしないほうが良さそうです。
また、同じIPアドレスを共有しているサイトとの関係はSEOランキングに影響すると言われており、たとえば被リンクが同じcloudflareのCDNを使っているサイトからが大部分を占めている場合やスパムサイトが同じCDNを使っている場合などは、SEOに有害な結果をもたらす可能性がないとは言えません。
一方で、サイトの高速化やHTTPS化(SSL化)とHTTP/2対応などはSEOにとってプラスに作用するため、CDNが一概にランキングにダメージを与えるとかSEOに有害であるとも言えないのが現状です。スピード狂のGoogleにインデックスしてもらうためにはサイトを高速化しておくに越したことはなく、CDNがSEOに有害と決めてしまうのは得策でないように思います。
個人ウェブサイトで無料で利用できるCDN
業務用の高機能なCDNは利用価格も非常に高価ですが、機能は限定的ながら個人が無料プランで使えるCDNもあります。Cloudflareはその代表的なCDNの1つで、大企業のプロユースから個人のWordPressまでをカバーします。Cloudflareのサーバーがダウンしたときに世界中のインターネットが混乱に陥ったことからも、個人のウェブサイトだけでなく企業の業務用途でもあちこちで使われていることがわかります。
javascriptなどのスクリプトファイルをホスティングすることを得意としたjsdelivr(https://www.jsdelivr.com/)も無料で使えるCDNです。これらをうまく利用することでよりユーザーフレンドリーなサイトの運営ができそうです。
Pukiwikiベースのこのサイトも試しにCloudflareを利用してみました。設定は非常に簡単で、独自ドメインとレンタルサーバーで運用しているウェブサイトを持っている方であればCloudflareへの移行には30分もかかりません。このサイトのCloudflareの設定は別のページにまとめて記載します。
Tag: CDN Cloudflare Web高速化