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高速化の最終ステップとして強くおすすめできます。


