🗂

WordPressをBunnyCDNを利用し公開する

に公開

初めまして。黒猫ちゃんです。
本記事は、BunnyCDN 利用時に WordPress の管理画面や管理バーがキャッシュされてしまう問題への対処を、実運用目線で簡潔にまとめたものです。
※本記事にはアフィリエイトリンクが含まれています

1. なぜ WordPress で CDN を使うのか

WordPress は動的 CMS であり、キャッシュがないと TTFB/描画が遅延しがちです。CDN を併用して静的化・配信をエッジに寄せることで、表示速度の改善とオリジンサーバ負荷の削減を両立できます。

2. BunnyCDN とは

BunnyCDN は BunnyWay d.o.o. が提供する 低コスト・高可用性の CDNサービス です。サポートの応答が速く、私が運営する KuronekoServer でも採用しています。

3. Pull Zone の作成

今回の設定例ではレンタルサーバ上の WordPress を想定します。

  1. Pull Zone を作成
    Delivery->CDN->Add Pull Zone
  • Pull Zone Nameは自由です。管理しやすい名前をお勧めします。
  • Origin typeのOrigin URLにcoreserverの場合だとhttps://v20xx.coreserver.jpの各契約しているレンタルサーバーのアドレスを入れてください。
  • Host headerにはレンタルサーバーで登録しているドメインで表示したいドメインを入れてください。
    pull zoneの作成
  1. キャッシュ期間を設定
    Caching->Generalページ
    例: CDN 3 ヶ月, ブラウザ 1 ヶ月
    キャッシュ期間設定

4. WordPress 向けキャッシュ制御(BunnyCDN エッジルール)

通常閲覧者はページをキャッシュしたものを表示しつつ、管理者ページはキャッシュから除外し表示します。
Edge rulesに移動->Add Edge Ruleページ

Actions

  • Override Cache Time0
  • Override Browser Cache Time0

Cookie ベース(ログイン中ユーザー)

  • 条件: Request Header (Match any)
  • Header Name: Cookie
  • 値: *wordpress_logged_in*

パスベース(任意)

  • 条件: Request URL (Match any):
    */wp-admin/*, *.php, */preview/*(必要に応じて)

アクション: 上記条件にヒットした場合は 「Bypass cache(Do not cache)」 を適用。
画像の例:
設定1
設定2

これで、ログイン中のユーザーや管理系のアクセスは CDN キャッシュをBypassし、一般閲覧者にはキャッシュ済みページが返却されるようになります。

最後に

私は、KuronekoServerという団体を運営しており、様々なサービスを運用しています。
良かったらDiscord読み上げBOT等利用してみてほしいです。 👀
https://krnk.org/

Discussion