なぜあなたのWordPressサイトに阿里雲ESAが必要なのか?
"ページ読み込み中にくるくる回る"、"管理画面にログインできない"、"コメント欄がスパム広告だらけ"——これらの問題に直面しているなら、あなたのWordPressサイトに必要なのは単なる"高速化"ではなく、高速化+セキュリティ強化。
従来のCDNはサイトを"速くする"だけですが、DDoS攻撃、SQLインジェクション、CCトラフィックに対してはほとんど無力です。阿里云エッジセキュリティアクセラレーションESA(Edge Security Acceleration)は、CDNアクセラレーション、WAFファイアウォール、DDoS対策、自動SSL証明書を一つのプラットフォームに統合しました。簡単に言えば、あなたのサイトが世界3200以上のエッジノードで"近くのドアからお客様を迎え入れ"、悪意のあるトラフィックを門前で遮断します。
Naibaサイト構築ノートは以前(約3ヶ月間)Tencent Cloud EdgeOneの無料版を使用していましたが、訪問者から頻繁に522エラーの報告があり、安定性に課題がありました。検討の結果、私は阿里云ESAの有料プランに切り替えました。年間わずか百数十元で、切り替えたばかりで安定性はまだ検証中ですが、Naibaの阿里云製品に対する理解からすれば安定しているはずです。また、気軽にNaibaサイト構築ノートのサイト、自分で速度と安定性をテストしてみてください。
この記事では、WordPress サイトを ESA に接続する方法と、キャッシュルールをどのように設定すれば速度とセキュリティを両立できるかについて説明します。。
準備:必要なものは?
- ICP登録済みのドメイン(国内サイト構築に必須。未登録のドメインは中国本土以外のグローバル地域のみ高速化可能)。
- 稼働中の WordPress サーバー(例:Alibaba Cloud ECS)
ステップ1:阿里雲ESAコンソールにアクセス
ログインAlibaba Cloud 公式サイトで、コンソールから„ESA“または„エッジセキュリティアクセラレーション“を検索します。初回利用時はサービスの有効化を促されるので、案内に従って完了してください。有効化後、シンプルな管理画面が表示されます。慌てずに、Naiba の手順に従って進めてください。

Naiba は以下のプランを選択し、1TB のトラフィックプランを選びました。トラフィックが不足した場合、後で個別にトラフィックパックを購入して補充できます。購入時にこのプランがなければ、適切なものを選んでください。

ステップ2:WordPressサイトを追加

サービス有効化後、ESA 画面に入り、„サイト管理„→“サイト追加」をクリックし、ドメインを入力します(例:naibabiji.com)。ESA が自動的にそのドメインの DNS ステータスを検出します。次に、アクセラレーションリージョンとプランを選択します。
Alibaba Cloud で購入したドメインの場合は全自動処理されます。他のプラットフォームで購入したドメインの場合は、NS または CNAME 方式を選択して接続し、対応するドメインの DNS レコードを変更するだけです。全体的に簡単で、不明な点はオンラインカスタマーサービスに直接問い合わせてください。詳細なチュートリアルがあります。
ステップ3:キャッシュルールを設定
サイト追加後、ESA はデフォルトでスマートキャッシュを有効にしますが、WordPress の動的コンテンツ(コメント、カートなど)についてはルールを調整する必要があります。

ESA ベーシックプランは 10 件のキャッシュルールをサポートしており、Naiba が整理して 5 件を使用しています。以下は Naiba サイト構築ノートが現在使用しているキャッシュルールです。参考に追加してください。

规则1,绕过登录用户与后台管理
(lower(http.cookie) contains "wordpress_logged_in_" or lower(http.cookie) contains "wordpress_sec_" or lower(http.cookie) contains "wp-settings-" or lower(http.cookie) contains "comment_author_" or lower(http.cookie) contains "woocommerce_items_in_cart" or lower(http.cookie) contains "wp_woocommerce_session_" or starts_with(lower(http.request.uri.path), "/wp-admin/") or lower(http.request.uri.path) in {"/wp-login.php" "/wp-signup.php" "/ai-assistant"} or starts_with(lower(http.request.uri.path), "/wp-json/") or lower(http.request.uri.path) eq "/wp-admin/admin-ajax.php")
规则2,绕过动态查询字符串(预览/评论等)
( lower(http.request.uri.query) contains "preview=true" or lower(http.request.uri.query) contains "replytocom=" or lower(http.request.uri.query) contains "wp_hc=" or lower(http.request.uri.query) contains "s=" or lower(http.request.uri.query) contains "customize_changeset_uuid=" )
规则3,静态资源极致缓存(图片、字体等),浏览器缓存过期时间7天,边缘缓存过期时间1个月,开启响应过期缓存,符合缓存保持条件
(lower(http.request.uri.path.extension) in {"jpg" "jpeg" "png" "gif" "webp" "ico" "woff" "woff2" "ttf" "svg" "mp4" "zip" "pdf"})
规则4,前端代码缓存(CSS / JS),浏览器缓存过期时间1天,边缘缓存过期时间7天,开启响应过期缓存,符合缓存保持条件
(lower(http.request.uri.path.extension) in {"css" "js"})
规则5,未登录游客的前台页面(智能缓存),浏览器缓存过期时间不缓存,边缘缓存过期时间1小时,边缘状态码缓存过期时间200 30分钟,4xx 1分钟,开启响应过期缓存,符合缓存保持条件
(http.request.method in {"GET" "HEAD"} and not starts_with(lower(http.request.uri.path), "/wp-admin/") and not lower(http.request.uri.path) in {"/wp-login.php" "/wp-signup.php" "/ai-assistant"} and not lower(http.cookie) contains "wordpress_logged_in_" and not lower(http.cookie) contains "wordpress_sec_" and not lower(http.cookie) contains "wp-settings-" and not lower(http.cookie) contains "comment_author_" and not lower(http.cookie) contains "woocommerce_items_in_cart" and not lower(http.cookie) contains "wp_woocommerce_session_")注意:上記の各ルール名の後ろに、Naiba が具体的なキャッシュ有効期限ルールも記載しています。設定を忘れないでください。
ステップ4:完全自動SSL設定(最も手間のかからないステップ)
„SSL/TLS“モジュールの„エッジ証明書“に入り、„無料証明書の申請“をクリックします。ESA は無料で自動更新可能な Let„s Encrypt 証明書をサポートしています。“自動検証„を選択するだけで、システムが DNS レコードを通じて検証を完了し、手動操作は不要です。“確定„をクリックして 1〜3 分待つと、証明書が自動生成されデプロイされます。

ヒント:NS レコードを変更せずに CNAME 接続を採用した場合、手動でドメイン検証レコードを追加しないと申請は成功しません。
ステップ5:セキュリティ保護の基本を理解
デフォルトでは、ESA を有効にすると、一部のセキュリティ保護機能が自動的に有効になります:
- ESA デフォルトで有効DDoS基本保護、自動で10Gbps以下のDDoS攻撃と10万QPS以下のCC攻撃を防御可能で、追加設定は不要です。
- Web基本保護(WAF)もデフォルトで有効化され、ブロックモードになっています。新しく追加したドメインは自動的にSQLインジェクションやXSSなどの一般的なWeb攻撃から保護されます。
- SSL/TLS暗号化はデフォルトで有効化され、データ転送の安全性を確保します。

AIクローラー管理やBotsなど、サイトにこれらのクローラーが存在して速度を著しく低下させている場合は、手動で有効にすることができます。もちろん、WP Panel パネルを使用している場合は、これらの心配は不要です。パネルが自動的に同一IPからのアクセス速度を制限します。パネルのデフォルトのセキュリティ機能でブロックできない場合に、改めて有効にしても構いません。
ステップ6:WordPressにNginx FastCGIキャッシュを追加
ESAはCDN機能のみを有効にします。サーバー側でキャッシュ最適化を行わない場合、デフォルトのCDNオリジンリクエストがサーバーのパフォーマンスに影響を与える可能性があるため、WordPressサイト側でさらにキャッシュ層を追加することも非常に重要です。
最も簡単な方法は、WP Super Cacheなどの無料キャッシュプラグインを直接インストールすることです。
より効率的なのは、Nginx FastCGIキャッシュを直接有効にすることです。これはサーバーレベルでキャッシュを行うため、プラグインキャッシュよりも効率的です。

このように設定すると、CDNとNginx FastCGIキャッシュの両方がヒットしなかった場合のみオリジンリクエストが発生し、サーバーパフォーマンスへの影響を最小限に抑えられます。
設定方法はこちらをご参照ください:宝塔パネル Nginx FastCGIキャッシュ設定チュートリアル:WordPressサイト高速化完全ガイド – Naiba サイト構築ノート
よくある質問 FAQ
Q:ESA導入後、訪問者がフロントエンドの更新を確認できない、またはその他の問題が発生する原因は?
A:おそらくキャッシュ有効期限ルールを設定していないか、正しく設定できていない可能性があります。また、サーバーでNginx FastCGIキャッシュを有効にしているがキャッシュルールが設定されておらず、CDNが正しくキャッシュをバイパスしていないページを取得している可能性もあります。最も簡単なテスト方法は、まずサイトとサーバー側のキャッシュをクリアし、次にESAのキャッシュをクリアすることです。クリア後に正常に動作するようであれば、キャッシュルールの問題です。
Q:ESAはWordPressプラグイン(Woocommerceなど)のカート機能に影響しますか?
A:チュートリアルに従って正しくキャッシュルールを追加していれば、通常は発生しません。ただし、カスタムのショップ関連ページを使用している場合、ルール内のアドレスを同期して更新する必要があります。更新しないとキャッシュがバイパスされません。
Q:すでに別のCDNを使用していますが、ESAも同時に使用できますか?
A:サイト自体(https://blog.naibabiji.com のようなもの)は一度に1つのCDNしか使用できません。ただし、サイト内でアップロードされたデータ(例:wp-content/uploadsフォルダ内のリソース)は別のCDNを使用できます。CDNまたはキャッシュプラグイン内でCDNドメインを設定するだけです。少し複雑なので、初心者は設定しないことをお勧めします。
Q:ESA使用後に記事投稿に失敗し、/wp-json/全シリーズ 403エラーが表示される
A: これは、以前に別のCDNを使用していたサイトで、ESAに切り替えた後、ドメイン解決とCDNキャッシュの問題により、偶然アカウントのクッキーが破損したためです。ログアウトして再ログインすれば解決します。(Naibaはこの問題の調査に2時間以上かかりました。涙 T.T)
まとめとインタラクション
現在、Naiba サイト構築ノートのサイトの速度はいかがですか?522エラーは発生していませんか?
サイトのアクセス速度にお悩みでしたら、まずはESAを1ヶ月試してみてください。良ければそのまま使い、悪ければサイト自体の問題を確認してみてください。サイト自体が遅い場合、CDNを設定しても速度は向上しません。
