This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



Automatically purge Cloudflare cache, including cache everything rules.


This plugin is not for normal users! Read the whole readme and FAQ before installing.

Cloudflare cache everything rules breaks most WordPress dynamic functionalities:

Sunny shows a few admin notices in WP admin dashboard promoting the author’s web development services every 2 weeks.They are dismissible via the X button on the right corner. See faq for more info.This is a free plugin, free as in free of charge and in freedom. You can always remove those notices without breaking other parts of Sunny.

The next major release of Sunny(v3.0.0) will require:

  • PHP 7.1
  • WordPress 4.9
  • Properly working WP Cron


  • Automatically purge Cloudflare cache everything rules’ caches
  • Use the latest Cloudflare API v4
  • Support custom post type
  • Hide admin bar from public-facing pages
  • WP REST API support
  • Extendable Laravel-like container


Go Sunny –> Debuggers, it shows:

  • All related urls to be purged for a given post
  • Show targeted urls which always be purged
  • Cache Status of a given URL

How does Sunny different from Cloudflare’s official plugin?

At the time of writing, Cloudflare’s official plugin doesn’t purge cache everything rules’ caches. Here comes Sunny! Sunny focus on purging caches when needed.


Things You Need to Know

  • You need PHP 7.0 or later
  • You need WordPress 4.7 or later
  • You need a Cloudflare account (free plan is okay)
  • This plugin was not built by Cloudflare, Inc

If you like the plugin, feel free to rate it or donate. Thanks a lot! πŸ™‚


To save time so that we can spend it on development, please read the plugin’s FAQ first. Before requesting support, and ensure that you have updated Sunny and WordPress to the latest released version and installed PHP 7 or later.

You can get support via GitHub issues(preferred) and WordPress support forum.

If you don’t provide these information, your support ticket will be ignored:

  • PHP version number (if you say latest, your ticket will be closed without replies)
  • WordPress version number
  • Sunny version number
  • What is the current behavior
  • What is the expected or desired behavior
  • Step to reproduce current behavior
  • Does it behave the same when Sunny is disabled
  • Does it behave the same when only Sunny is enabled
  • What have you tried to resolve the issue

For Developers

Sunny is open source and hosted on GitHub. Feel free to make pull requests.

You can also tweak Sunny to work for you by extending its Laravel-like container.


  • Cloudflare Settings
  • Admin Bar Settings
  • Purge when Post Updated
  • Debuggers – Cache Status for a Given URL
  • Debuggers – Related URLs for a Given Post
  • Debuggers – Additional URLs for Every Purge
  • Annoying Sunny v1 deprecated notice


How can I purge extra URLs?

Post related urls are filterable by Strategies and sunny_post_related_urls. See examples on Sunny Purge Extra URLs Example.

If you don’t understand the example code, hire me instead.

How can I tweak Sunny to work for my special needs?

Extend its Laravel-like container.

What version of PHP do I need?

PHP 7.0 or later.

What version of WordPress do I need?

WordPress 4.7 or later.

What to do when `Parse error: syntax error`?

If you encountered this error:

Parse error: syntax error, unexpected β€˜:’, expecting β€˜;’ or β€˜{β€˜ in wp-content/plugins/sunny/src/Sunny.php on line XX

You probably running on a old version of PHP. Upgrade your server to PHP 7.0 or later.

Unable to dismiss advertisements

Sunny shows a few admin notices in WP admin dashboard promoting the author’s web development services every 2 weeks.
They are dismissible via the X button on the right corner.

Why do they don’t go away?
Your caching settings are incorrect! Possible issues:

  • Database query caches not purged when updated
  • Object cache expire time too long
  • Cloudflare is caching wp-admin

Sunny works with database query caching and object caching. This plugin won’t fix improper server configuration.

But… other plugins don’t have this issue?

I doubt. Sunny saves/retrieves those notices via Options API which commonly used in plugins. Thus, other plugins should get outdated options as well. Hire a developer to check your site!

If you still not convinced, submit a pull request with failing test case via GitHub.

Should I install Sunny version 1 because of PHP 5 incompatibles?

No. Sunny version 1 uses Cloudflare API v1 which deprecated since 9th November, 2016. Either update your server or uninstall Sunny.

Don’t know how to update PHP?
Will you support older versions of PHP or WordPress?

Depends. I accept this kind of custom coding jobs. However, prepare for being rejected if the requirement doesn’t make sense.
Shoot me an email at or use this contact form.

Is this plugin written by Cloudflare, Inc.?

No. This plugin is a Typist Tech project.

Who make this plugin?

Tang Rufus, a freelance developer for hire. I make Typist Tech also.

Can I install Sunny, Sunny and Cloudflare’s official plugin at the same time?

Yes, all of them work together without problems.

  • Install WP Cloudflare Guard if you want to protect your site from bad IPs
  • Install Sunny if you want to purge Cloudflare’s cache automatically
  • Install the official plugin if you can’t see the real IP from visitors
Does this plugin available in my language?

English works out of the box.

Traditional Chinese language pack is available here.

You can add your own translation at

How to get support?

Read the whole readme and FAQ first!

How can I support this plugin?

If you like the plugin, feel free to:

Besides, Sunny is open source and hosted on GitHub. Feel free to make pull requests.

Last but not least, you can hire me. Shoot me an email at or use this contact form.

What if I want more?

Hire me! Shoot me an email at or use this contact form.


28 Disember 2018
I used to purge one by one or just purge all the cache from Cloudflare admin. Since I use this plugin, setting up Cloudflare it just something like set up and forget.
6 Oktober 2017 2 replies
I used to love this plugin until I discovered it was displaying ads (inside alerts) for the author’s web design services on dozens and dozens of my client’s websites that I look after. This looks very unprofessional. Will have to stop using this plugin now and remove it from all of my client’s sites.
Read all 25 reviews

Contributors & Developers

“Sunny” adalah perisian sumber terbuka. Orang-orang berikut telah menyumbang kepada pemalam ini.


“Sunny” telah diterjemahkan ke dalam 2 penempatan. Terima kasih kepada para penterjemah untuk terjemahan mereka.

Translate “Sunny” into your language.

Berminat dalam pembangunan?

Layari kod, periksa repositori SVN, atau langgani log pembangunan dengan RSS.


Full change log available at GitHub


  • Remove class I18n
  • Update dependencies
  • Update readme


  • Add required php version to README.txt
  • Apply code style patches and minor refactoring
  • Test on PHP nightly
  • Update dependencies


  • Extract targets service provider
  • Show post type name in purge initiated notices


  • Expose Container via WordPress action in Laravel style


  • Fix: Ensure admins have a chance to view PHP 5.x unsupported notice
  • Fix: Do not force sticky notice when WP_DEBUG is true


  • Purge adjacent posts urls
  • Debugger: Check whether a url is cached by Cloudflare
  • Add lots of tests


  • Better WP REST API support
  • Purge homepage (both dynamic and static)
  • Add Debugger: Show all urls to be purged for a given post
  • Add Debugger: Show targeted urls which always be purged
  • Fix: Missing post url when purging


  • Self deactivate if PHP version is older than 7.0.0


  • Update to Cloudflare API v4
  • Codebase rewrite