Cloudflare Workers で WordPress を高速化する方法【HTMLキャッシュ+エッジ実行で高速化】

Cloudflare Workers は、Cloudflare のエッジサーバー上で JavaScript を実行できるサービスです。
WordPress と組み合わせることで、

・HTMLキャッシュを細かく制御
・リダイレクトを高速化
・bot対策や最適化処理をサーバー側で実行
・LCP / INP を改善
・世界中で均一に高速配信

など、多くの高速化が可能になります。
この記事では、Workers を使って WordPress を高速化する具体的な方法を解説します。

1 Cloudflare Workers とは?(超要点)

Cloudflare Workers は、Cloudflare のエッジ(世界100以上)でコードを実行できるプラットフォームです。

  • サーバー不要
  • 世界中のエッジで実行(遅延がほぼゼロ)
  • リクエストの手前で高速処理できる
  • HTMLキャッシュの制御も可能

WordPress の弱点である「PHP実行の遅さ」を回避できるため、
WordPress高速化との相性が非常に良い のが特徴です。

2 Workers でできる高速化の例

  • HTMLのキャッシュをエッジで制御(APOに近い)
  • 特定パス / ログイン中ユーザーを除外してキャッシュ
  • 高速リダイレクト(301/302)
  • Botや不要アクセスのブロック → サーバー負荷をゼロに
  • ヘッダー付与でブラウザキャッシュを最適化
  • APIの応答最適化

WordPress を Workers で完全に置き換える必要はなく、「フロントだけ Workers」「リダイレクトだけ Workers」など、部分運用も可能です。

3 HTMLキャッシュを Workers で制御する方法

Cloudflare Workers の最も強力な使い方は、HTML をエッジにキャッシュすること です。

3.1 ★ HTMLキャッシュ対応 Workers コード(完全版)


// HTMLをエッジキャッシュする Cloudflare Workers サンプル
export default {
  async fetch(request, env) {
    const url = new URL(request.url);

    // 管理画面・ログイン中ユーザー・POSTリクエストはキャッシュしない
    if (
      url.pathname.startsWith("/wp-admin") ||
      url.pathname.startsWith("/wp-login") ||
      request.method !== "GET" ||
      request.headers.get("cookie")
    ) {
      return fetch(request);
    }

    const cache = caches.default;
    let response = await cache.match(request);

    // キャッシュHITなら返す
    if (response) {
      return response;
    }

    // オリジンから取得
    response = await fetch(request);

    // キャッシュ可能レスポンスのみ保存
    if (response.ok) {
      response = new Response(response.body, response);
      response.headers.append("Cache-Control", "public, max-age=3600");
      event.waitUntil(cache.put(request, response.clone()));
    }

    return response;
  }
};

この Workers を置くだけで、
Cloudflare APO に近い HTML キャッシュ効果 が得られます。

3.2 効果

  • TTFB(初期応答)が激減
  • LCP改善
  • PHPの負荷ゼロ
  • 海外配信が極端に速くなる

4 WordPress のリダイレクトを Workers で高速化

WordPress で functions.php によくあるリダイレクト処理は、
PHPの実行を待つため遅くなります。

Workersなら、エッジ(最寄りのサーバー)で即時リダイレクト可能。


export default {
  async fetch(request) {
    const url = new URL(request.url);

    if (url.pathname === "/old-page/") {
      return Response.redirect("https://example.com/new-page/", 301);
    }

    return fetch(request);
  }
};

これにより、リダイレクトの速度が100ms以上改善することもあります。

5 Bot / 不正アクセスの遮断(負荷をゼロに)

Workers を使うと、WordPress に到達する前に bot を遮断できます。


export default {
  async fetch(request) {
    const ua = request.headers.get("User-Agent");

    // 不正botの例
    if (ua && /curl|python|scrapy|bot/i.test(ua)) {
      return new Response("Access Denied", { status: 403 });
    }

    return fetch(request);
  }
};

3.2 効果

  • PHPが動かなくなる → サーバー負荷ゼロ
  • 攻撃をCloudflare側で吸収
  • セキュリティ強化

6 ブラウザキャッシュの制御(LCP改善)


response.headers.set("Cache-Control", "public, max-age=31536000");

Workers が HTML / CSS / JS / 画像すべてに
カスタムキャッシュヘッダを付与可能。

WordPress のテーマやプラグインに触れずに、
高速化できるのが最大の利点です。

7 Workers の料金(実質無料から使える)

プラン 価格 内容
Free 0円 毎日10万リクエスト・Worker作成可
Paid $5〜 リクエスト大量でも安心

ほとんどの WordPress サイトなら 無料プランで十分 です。

8 Workers を使うべき WordPress の例

  • 海外アクセスが多いブログ
  • 高速化に本気のビジネスサイト
  • 静的化に近い運用をしたいサイト
  • WooCommerce の高速化
  • APIを含むサイト

9 まとめ:Workers は WordPress高速化の「最強の武器」

Cloudflare Workers を使うと、WordPress の弱点である
PHP・MySQL を通る必要がほぼなくなり、
世界中で均一に高速表示 が可能になります。

特に効果が大きいのは:

  • LCP改善(HTMLのエッジキャッシュ)
  • リダイレクトの高速化
  • bot遮断による負荷削減
  • ブラウザキャッシュの最適化

無料プランから導入できるため、WordPress高速化の最終ステップとして強くおすすめできます。