Automatic Platform Optimization (APO)

Speed up your WordPress site by up to 300% with Cloudflare’s Automatic Platform Optimization (APO) plugin. APO allows Cloudflare to serve your entire WordPress site from our edge network of over 250+ data centers worldwide ensuring fast & reliable performance for your visitors no matter where they are.

Optimizing your WordPress site with multiple plugins can be overwhelming. Take your WordPress site’s performance to the next level by switching to a single plugin for CDN, intelligent caching, and other key WordPress optimizations with Cloudflare (APO). Visit our announcement blog to learn more about APO.

What makes APO different from other caching plugins?

The key differentiating factor between Cloudflare APO and other traditional page caching and CDN solutions is its ability to directly cache static HTML at Cloudflare’s edge. Every other plugin and CDN will cache your static assets (images, javascript, CSS), but none help you cache the actual content on your site (the HTML) using a massive edge network like Cloudflare’s.

APO intelligently caches your HTML pages and will automatically purge content from the cache that you update, so users will always see the latest content without compromising the performance of pages that haven’t been recently updated

What you get with Cloudflare APO

APO is a $5 add-on with Cloudflare’s free plan and comes with an unlimited amount of subdomains. With APO you also get to leverage many of the other benefits of Cloudflare such as Free DNS, Free Automated SSL Certificates, Free DDoS Mitigation, and more. APO is free for all paid plan users so if you have Cloudflare Pro or Business already you can just turn it on. You can compare all our plans here.

Protect your WordPress site with Cloudflare’s Web Application Firewall (WAF)

Cloudflare’s WAF is available on all our paid plans and comes with built-in rulesets, specifically tailored to mitigate WordPress threats and vulnerabilities. These security rules are regularly updated by our team of experts. At the flip of a switch, you’ll have your WAF up and running without any difficult adjustments to your site. With over 26 million internet properties under our protection, you can sleep easy knowing Cloudflare has your back.


  • Cloudflare のユニバーサル SSL が有効になっているときにリダイレクトループを防止するヘッダーの書き換え

  • ダッシュボードに移動することなく、プラグイン自体から Cloudflare 設定を変更します。 キャッシュパージ、セキュリティレベル、Always Online、イメージ最適化の設定を変更できます

  • トータルビジター、保存された帯域幅、脅威などの分析を表示

  • HTTP2 / Server Push のサポート





Speed Up Your WordPress Site with Cloudflare APO

Getting Started

Setting up Cloudflare APO

If you’re currently utilizing Cloudflare’s free plan you can add APO to your plan for just $5/month. If you are on Cloudflare’s Pro Plan Cloudflare APO is already included in your subscription. We recommend you start with our APO developer documentation which includes all the information you need to get APO up and running.

How to check if APO is working
Using Uptrends you can verify if Cloudflare APO is working by checking to see if APO response headers are present. You can follow along in this video.

APO Support Resource can be found here

Get Started with Cloudflare SSL here

View our Cloudflare APO blog post here


プラグインを使用するには Cloudflare アカウントが必要ですか ?

はい、プラグインをインストールして有効にすると、初めてのユーザーはメールアドレス ( のアカウントにログインするために使うもの) とユーザー API トークンまたは API キーを入力するよう求められます。 これは、プラグインが提供するすべての機能をサポートするために必要です。

Cloudflare の WordPress プラグインで [既定の設定を適用する] をクリックすると、どのような設定が適用されますか?


What do I do if Cloudflare does not detect the WordPress plugin for use with APO (Automatic Platform Optimization)

APO works best when the WordPress plugin is used. We do not recommend using APO without the plugin installed. If you face issues with Cloudflare detecting the plugin then follow these steps:
1. Go to Cloudflare WordPress plugin
2. Disable APO in the card
3. Enable APO in the card (will set proper settings for APO feature)
4. Clear any server cache used via other plugins (WP Rocket being an example)
5. Verify that your origin starts serving response header “cf-edge-cache: cache,platform=wordpress”

You can read more about APO with WordPress here

Varnish が有効になっている場合、プラグインは機能しますか?

はい、Varnish を有効にしている場合、Cloudflare は動作し、サイトをさらに高速化するのに役立ちます。


Downloaded the plugin, installed it, retrieved global api from Cloudflare (located in your CF Profile - top right of screen profile > api tokens), then a few configuration choices and bam - working! Works very well and had decreased server load and page load times. If you are experiencing issues check you do not have any plugins installed which are conflicting with the CF APO plugin....disable all and re-enable one at a time to diagnose.
Salut CF people, After deep diving into this plugin on complex WP website with custom post types and non-standard URL endpoints, I finally managed it to work correctly. There was some inconsistent issue with stale cache, but upgrade to latest WordPress version magically fixed it, so I guess the stale content bug is somewhere 'in transition' between this plugin and WP core as well as possibly other things such as wp rocket/autoptimize or object cache. After all it works just fine with that stack at the moment. Version 4.11.0 (Cloudflare Pro plan), WP 6.0.2
Hi, On the CloudFlare > Speed tab > Automatic Platform Optimization for WordPress section; Written: Note: The WordPress plugin was not detected on I installed official plugin, but Cloudflare can not detected it. Maybe I should write new API. But there is no any API interface on panel of plugin. I deleted the plugin and after I reinstall again, but it not ask API. Probably remember old API, so no ask again. How can I logout account on Wordpress plugin? Automatic Platform Optimization not working.
The plugin normally works, but when it doesn't, good luck with getting support from Cloudflare. There are occasional issues with APO (not clearing the cache on post update, caching incorrectly, etc.) in new versions of the plugin. In fact, most new versions of the plugin have had pretty serious bugs (plugin-specific, nothing wrong with the Cloudflare CDN/WAF). Issues are never answered by anyone from Cloudflare. It's a shame because the Cloudflare tech is great, it generally works really well. But the Cloudflare WP Plugin is not up to the standards of the rest of the stack.
You need to understand how Cloudflare works, but when configured right, it works great. A few things to note: 1. APO does not play nice with Siteground. 2. It's annoying, but the Cloudflare plugin does not seem to invalidate the cache for all page changes. We are in the habit of manually clearing the cache after updates. A recommendation to the Cloudflare team if you read this: 1. Put an indicator in the top admin bar that shows the last time the cache was cleared for a page, or for the whole site. It is hard to tell if the CF plugin cleared a page. 2. I beg you, please put a button to clear the cache in the top menu bar. I feel rage whenever I go digging into the settings to purge the cache. If the plugin cleared the cache more often after updates, this wouldn't be an issue, but it doesn't, especially with the Oxygen framework.
Even with the plugin enabled, I needed to manually purge cache all the time. Recently it just stopped working completely (load icon from main content box loads forever on plugin settings page) and upon investigating an error-500 when using post.php, this error happened: [STDERR] PHP Fatal error: Uncaught Error: Call to undefined method Normalizer::isNormalized() in /var/www/html/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-idn/Idn.php:338 Stack trace: #0 /var/www/html/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-idn/Idn.php(163): Symfony\Polyfill\Intl\Idn\Idn::process() #1 /var/www/html/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-idn/bootstrap.php(140): Symfony\Polyfill\Intl\Idn\Idn::idn_to_ascii() #2 /var/www/html/wp-content/plugins/cloudflare/src/WordPress/WordPressClientAPI.php(18): idn_to_ascii() #3 /var/www/html/wp-content/plugins/cloudflare/src/WordPress/Hooks.php(148): CF\WordPress\WordPressClientAPI->getZoneTag() #4 /var/www/html/wp-content/plugins/cloudflare/src/WordPress/Hooks.php(442): CF\WordPress\Hooks->purgeCacheByRelevantURLs() #5 /var/www/html/wp-includes/class-wp-hook.php(307): CF\WordPress\Hooks->purgeCacheOnPostStatusChange() #6 /var/www/html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #7 /var/www/html/wp-includes/plugin.p in /var/www/html/wp-content/plugins/cloudflare/vendor/symfony/polyfill-intl-idn/Idn.php on line 338 No support options from Cloudflare and the community is telling me the issue is local on my machine (with no further leads) but I have nothing custom. It's a normal wordpress on debian with a dozen other plugins.


Cloudflare はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。


“Cloudflare” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。


4.11.0 – 2022-07-27

  • Restrict access to sensitive files using .htaccess configuration.
  • Added cloudflare_use_cache hook to determine when to cache.
  • Allow arrays with url keys to be passed into cache purge requests.
  • Handle getZoneSettings not returning a key and throwing an unset array key error.

4.10.1 – 2022-06-06

  • Fix logic for ignoring cache purge operations.

4.10.0 – 2022-06-03

  • Ignore feed URLs in cache purge operations unless a cache override is in place.

4.9.1 – 2022-05-04

  • Handle empty URL arrays for purging.
  • Swap publicly_queryable for is_post_type_viewable when determining if the post is public.
  • Update always_use_https check to work with the API lacking a “value” for the key.
  • purgeCacheByRelevantURLs now accepts either an array or single ID

4.8.3 – 2022-03-22

  • When a zone has “Always Use HTTPS” enabled, only send HTTPS based URLs. HTTP URLs will never be hit and never present in the cache.

4.8.2 – 2022-03-18

  • Retag 4.8.1 with correct version in user agent

4.8.1 – 2022-03-18

  • Loosen domain check for cache purge calls to allow subdomains

4.8.0 – 2022-03-15

  • Updated supported WordPress version to 5.9
  • Replace Guzzle with wp_remote_request for remote calls
  • Update cache purge logic to improve efficiency of what we send to the remote service

4.7.0 – 2021-10-28

  • Merge cloudflare-plugin-backend into Cloudflare-WordPress repository

4.6.0 – 2021-10-11

  • Make frontend use native await/async
  • Purge cache on mobile if APO Cache By Device Type

4.5.1 – 2021-06-03

  • Rewrite PHP 8 bootstrap files for symfony/polyfill to be PHP 7 compatible

4.5.0 – 2021-06-02

  • Document unintuitive transition_post_status WP hook behavior
  • Only purge public taxonomies while clearing any empty values from the list
  • Better handling of cases where wp_get_attachment_image_src is false and not a usable array
  • Support activation of IDN domains
  • Improve development experience by shipping a Docker Compose file with more tooling and documentation

4.4.0 – 2021-03-23

  • Purge posts when transitioning to or from the ‘published’ state
  • Remove conditional logic for subdomain, allow to activate APO feature on the subdomain
  • Further work to autocorrect APO settings

4.3.0 – 2021-03-19

  • Sanitise sensitive HTTP header logs
  • Stop sending cfCRSFToken to remote API
  • Add warnings for incorrectly configured Automatic Platform Optimization
  • Purge posts that go from public to private
  • Purge pagination for first 3 pages

4.2.2 – 2021-03-08

  • Fix warning for file_get_contents of composer.json

4.2.1 – 2021-03-05

  • Deprecate REST dashboard analytics

4.2.0 – 2021-03-02

  • Allow configuration of Cloudflare credentials via environment variables
  • Prevent purging of cache before comments have been moderated
  • Remove unnecessary symfony/yaml dependency

4.1.0 – 2021-02-11

  • Removed development dependencies from vendor directory
  • Update CLOUDFLARE_MIN_PHP_VERSION to match the plugin requirements

4.0.0 – 2021-02-09

  • Drop support for PHP 5.6, 7.0 and 7.1

3.8.10 – 2021-01-29

  • Add Jacob to maintainers list

3.8.9 – 2021-01-14

  • Revert Add pagination purging

3.8.8 – 2021-01-13

  • Add pagination purging

3.8.7 – 2020-12-07

  • Purge taxonomy feed URLs
  • Fix changing APO settings (cf, wordpress, plugin) when running on subdomain
  • Fix setting hostname override

3.8.6 – 2020-11-19

  • Add subdomain support for APO card

3.8.5 – 2020-10-15

  • Added automatic purge cache on new comment

3.8.4 – 2020-10-13

  • Added composer’s type=wordpress-plugin for Bedrock users
  • Fixed typo in readme.txt
  • Fix modify header exception thrown during wp-cron
  1. Cloudflare Plugin= 3.8.3 – 2020-10-05 =
  • Fixed setting all APO values properly for correct dashboard rendering

3.8.2 – 2020-10-02

  • re-relase broken version, no changes

3.8.1 – 2020-10-02

  • Fixed typo in config.js(on) that resulted in warning #292
  • Check for array indicies are set before using #278

3.8.0 – 2020-10-01

  • Added APO support
  • Renamed Automatic Cache Management card to Auto Purge Content On Update

3.7.0 – 2020-09-25

  • Bump cloudflare-plugin-backend v2.3.0 and cloudflare-plugin-frontend v3.1.0 #283

3.6.0 – 2020-09-17

  • Bump cloudflare-plugin-backend #276

3.5.1 – 2020-07-02


  • Fixed Cache Purges failing #266

3.5.0 – 2020-06-26


  • Disable HTTP/2 Push on wp-admin pages #214
  • Fix PHP 7.4 notice #256


  • Purge attachment URLs #208
  • Purge URLs on page/post update #206
  • Turn on IPv6 by default #229
  • Add constants for better control HTTP/2 Server Push #213
  • Allow custom actions for purge url and purge everything actions #212

3.4.1 – 2019-08-29


  • Updated list of contributors.
  • Updated tested WordPress version to latest (5.2.2).

3.4.0 – 2019-08-29


  • Added support for API Token authentication.

3.3.2 – 2017-12-12


  • cf-ip-rewrite のバグ


  • cloudflare_purge_by_urlという新しいフィルターを追加しました。ユーザーは自動的に消去されたURLをより詳細に制御できます。

3.3.1 – 2017-6-29


  • $ _GETを使用することで潜在的なバグ。

3.3.0 – 2017-6-29


  • 新しいスプラッシュ画面を追加しました
  • カスタム構成を可能にするuserConfig.jsファイルを追加しました。
  • 自動キャッシュパージのデバッグモードでログを追加しました。
  • 特大のサーバープッシュHTTPヘッダーのログを追加しました。


  • 自動キャッシュパージは、URLではなくすべてで自動最適化をパージするようになりました。
  • IP の範囲を更新


  • バグは、大文字が動作していないドメインです。
  • 自動キャッシュパージがフロントページをパージできなかったバグ。
  • IWP での作業に関連するバグ。
  • PHPがipv6-disableフラグでコンパイルされた場合、サイトをクラッシュさせるバグです。

3.2.1 – 2017-3-14


  • 20以上のゾーンを持つアカウントが正しく表示されないバグ。

3.2.0 – 2017-3-1


  • Cookie機能によるキャッシュをバイパスします。
  • HTTP / 2 Server Push機能(デフォルトでは無効)。


  • プラグインのサイズを小さくしました。
  • 自動キャッシュ管理機能には、分類をパージすることが含まれます。
  • 自動キャッシュ管理機能は、HTTPとHTTPSの両方を使用するサイトをサポートします。


  • プラグインから消える管理バー
  • スピナーが永久にロードされていたバグ。
  • バックエンドのエラーがフロントエンドに表示されていない場所のバグ。
  • IE11が正しく動作しなかった問題

3.1.1 – 2016-11-17


  • 自動キャッシュパージの後ろにある管理バーを移動しました。

3.1.0 – 2016-11-17


  • 投稿が公開、編集、削除されたときに自動的にキャッシュを削除する機能が追加されました。 (brandomeniconiとmike503のおかげで)
  • WordPress MUドメインマッピングプラグインを使用できるようになりました。(brandomeniconiに感謝します)


  • UIをcloudflare.comダッシュボードのように変更しました。
  • プラグインの説明を変更しました。
  • HTMLキャッシングを使用しているユーザーのキャッシュ問題を回避するために、WordPress Admin BarとPost Linksを編集することはできません。


  • ベンダーのフォルダーが動作しないバグを修正しました。
  • 静的ファイルがキャッシュされ、プラグインの更新に関する問題を引き起こしたバグを修正しました。
  • PHP Compatibility Checkerプラグインで問題が発生した、依存関係が修正されました。

3.0.6 – 2016-10-6


  • 開発モードを切り替える機能が追加されました。


  • アクティブなゾーンのドロップダウンが正常に動作しないバグを修正しました。


  • プラグインのサイズを下げるためにリソースを圧縮します。
  • Cloudflare ロゴを更新。

3.0.5 – 2016-09-28


  • リファクタリングされたフレキシブルSSL修正が設定ページのフックを読み込まないというバグを修正しました。

3.0.4 – 2016-09-27


  • ユーザーが自動HTTPSリライトを切り替える機能(デフォルトで有効になっていて、混在したコンテンツのほとんどのエラーを解決します)。


  • 低PHPバージョンのどこで構文エラーが発生するのかを修正しました。
  • 柔軟なSSLを使用している一部のユーザーがwp-adminにログインできない場所での問題を修正しました。
  • アクティブなゾーンセレクタがゾーンリスト全体にページを作成していないバグを修正しました。
  • 画像の最適化の設定が正しく表示されないという問題を修正しました。
  • ユニークビジターデータが正確に表示されないアナリティクスのバグを修正しました。


  • プラグインサイズを小さくするために圧縮されたアセット。
  • フックローディングロジックをリファクタリングして、よりシンプルで読みやすいようにしました。

3.0.3 – 2016-09-21


  • 一部のドメインが誤ってドメインセレクタドロップダウンに伝播される問題を修正しました。
  • Webアプリケーションファイアウォールが誤ってRFI攻撃ルールをトリガしていた問題を修正しました。
  • Pro以上のCloudflareプランでイメージの最適化が有効になっていない問題を修正しました。

3.0.2 – 2016-09-16


  • 一部のWebサイトで520および502のエラーが発生したHTTP / 2 Server Pushが無効になっています。

3.0.1 – 2016-09-16


  • クラウドフレアが520のエラーを引き起こしたヘッダーの上限を超えた固定HTTP / 2サーバープッシュ。
  • HTTP / 2 Server Pushの警告メッセージが修正されました。

3.0.0 – 2016-09-15


  • WordPress特有の推奨設定のワンクリックアプリケーションを追加
  • Cloudflareキャッシュを削除する機能の追加
  • WordPressのキャッシュ管理と統合され、サイト外観の更新時にCloudflareキャッシュを自動的にクリアします。
  • クラウドフレア設定を変更する機能を追加(常にオンラインモード、攻撃中、イメージ最適化、セキュリティレベル、Webアプリケーションファイアウォール)
  • キャッシュされたリクエスト、使用された帯域幅、ユニークビジター、ブロックされた脅威を示すアナリティクスを追加
  • CloudflareのユニバーサルSSLが有効になっているときにリダイレクトループが発生しないようにヘッダーの書き換えを追加
  • HTTP/2 サーバープッシュサポートの追加
  • PHP 5.3以降のサポートを追加


  • 削除されたHTTPSプロトコル書き換え
  • スパムコメントの投稿を削除しました
  • 開発モードのオン/オフを切り替える機能が削除されました


  • 更新されたユーザーインターフェイス
  • WordPressオプションAPI に依存しているため、2.8+ではなくWordPress 3.4+をサポート開始