A fragment caching framework with customizable expiration triggers. Control what gets cached and what triggers will cycle out specific cache values.
Author: | Aaron Smith (profile at wordpress.org) |
WordPress version required: | 3.0.1 |
WordPress version tested: | 4.1.8 |
Plugin version: | 20150122 |
Added to WordPress repository: | 28-09-2015 |
Last updated: | 28-09-2015
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | |
Total downloads: | 799 |
Click to start download
|
See installation.
FAQ
There are a lot of WordPress caching plugins. Why this one?
The big problem with most cache engines is they cache too much and the cache values don’t regenerate when you make updates. This solves both problems, which is frankly pretty unique for WordPress cache engines.
What about W3 Total Cache?
This is probably the most popular cache plugin out there. It can be good, but in my experience it creates a lot of stale content that frustrates users when the website doesn’t get properly updated.
What about WordPress Transients?
Couple problems. WP puts the transients in the wp_options table which causes and is inflected with serious bloat (bloat = performance issues). WordPress function cache uses its own table to improve performance. Second issue is that transients just use a date to trigger cache deletion. This is not practical and too limiting. This is why this cache engine associates page ids and post types with the cache values, and deletes name/value pairs when posts are updated.
Why is my site slow?
It is either client side or server side. To determine if it is client side, view the source of a rendered slow page. Save it as say test.html and upload it. If that is faster, you have a server side problem. If not, client side. Another way to check is in Firefox and Chrome, the loading graphic spins counter clockwise for server load and clockwise for client load (rough abstraction). If it spins say more then a half cycle “6 hours” counter clock-wise, this plugin may help.
What slows down a wordpress page from the server side?
Much of what is on a wordpress template is innocent (including get_content()). Usually the culprits are components that use the wp_options and wp_posts table and components that incorporate looping. 95% of slow WP sites is due to slow databases. WordPress stuffs so much in the wp_options and wp_posts table and then multiplies these together which takes a ton of computing power. Key is to minimize the lookups you need to do to the database. This mostly means caching the functions that contain important query loops and custom field lookups.
How do I find what specific component on my template is slowing everything down?
You could do a series of AB testing, disabling core functions to isolate the culprit. I do highly suggest the plugin “Query Monitor” which can actually do a very good job of isolating what is slowing down a page.
How does this relate to Custom Post Types & Fields?
These tend to be the biggest resource hogs. If you use Advanced Custom Fields, this is especially bad because they multiply the wp_options table on itself (which becomes a serious issue for big sites). ACF also uses wildcard strings for their repeater fields which turns into a performance nightmare for queries. Custom Content Manager is much faster (20X by my benchmark for their get custom field function) and benefits from a built in cache unlike ACF. But CCTM doesn’t cache results across sessions. WordPress Function Cache does.
Can upgrading Apache/PHP/MySQL help with my slow website?
Yes, but usually not significantly. WordPress performance tends to degrade in an exponential fashion whereas these improvements just improve things in an incremental fashion. Same with hardware. The best updates you can do would be to switch tables to Innodb, make sure you are using the latest MySQL, optimize MySQL for large table queries, and install OPcache (for PHP 5.5). OPcache is AWESOME! But even with that you’ll still need a plugin like this one to handle sites with large databases.
ChangeLog
20150122
The very first version of the program!