Sunny

Description

Automatically purge Cloudflare cache, including cache everything rules.

Warning!!!

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

Features

  • 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

Debuggers

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.

Compatibility

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! πŸ™‚

Support

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.

Screenshots

  • 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

FAQ

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 info@typist.tech 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 translate.wordpress.org.

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 info@typist.tech or use this contact form.

What if I want more?

Hire me! Shoot me an email at info@typist.tech or use this contact form.

Reviews

Great plugin, HORRIBLE NAG SCREEN

I’m sorry it’s come to this but I couldn’t take it any longer. After 6 months of disabling the nag screen at the top of the dashboard every time I log in (it begs you to review the plugin on WP repository), I couldn’t help but oblige to write this well-deserved review. The plugin works fantastically but is incredibly annoying. I can’t use it for clients because of the nag screens and can’t stand using it for myself much longer.

Cut the crap out or at least give us the option to pay you $1 to stop asking us to leave a review.

Inserts advertising for competing web services

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.

Helpful plugin

Saves time login into Cloudflare when you are making changes to your blog as it purges all the time.

Good and stable

Good and stable, don’t notice any problem at all until now. Thanks very much for the plugin. It’s really good.

Read all 22 reviews

Contributors & Developers

“Sunny” is open source software. The following people have contributed to this plugin.

Contributors

“Sunny” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Sunny” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

Full change log available at GitHub

2.5.0

  • Remove class I18n
  • Update dependencies
  • Update readme

2.4.1

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

2.4.0

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

2.3.0

  • Expose Container via WordPress action in Laravel style

2.2.1

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

2.2.0

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

2.1.0

  • 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

2.0.1

  • Self deactivate if PHP version is older than 7.0.0

2.0.0

  • Update to Cloudflare API v4
  • Codebase rewrite