=== Plugin Name === Contributors: WP Widget Cache Donate link: http://www.mashget.com Tags: widget, sidebar, cache, caching, performance, google, wp-cache, wp-super-cache Requires at least: 2.5 Tested up to: 2.6.2 Stable tag: 0.21 Cache the output of your blog widgets. Usually it will significantly reduce the SQL queries to your database and speed up your site. == Description == A **high-performance** caching plugin for WordPress, and a **plus** for WP-Cache or WP Super Cache! [ChangeLog](http://www.mashget.com/2008/09/05/wp-widget-cache-changelog/) **Why we need this WP Widget Cache?** WP Widget Cache can cache the output of your blog widgets. Usually it will significantly reduce the SQL queries to your database and speed up your site. I think you’ve heard of [WP-Cache](http://wordpress.org/extend/plugins/wp-cache/) or [WP Super Cache](http://wordpress.org/extend/plugins/wp-super-cache/), they are both top plugins for WordPress, which make your site much faster and responsive. Here is how cache works: "caching WordPress pages and storing them in a static file for serving future requests directly from the file rather than loading and compiling the whole PHP code and the building the page from the database". If your site get a very high traffic, or your blog are hosted on a shared server, or Google crawl your site frequently, you do need cache. If you use widgets, you do need WP Widget Cache. **Why WP-Cache or WP Super Cache is not enough?** WP-Cache or WP Super Cache cache ‘pages’, and WP Widget Cache cache ‘widgets’ or your sidebar, that’s the difference. Let me explain this more clearly: If some of your page is very popular, and people keep visit this page, then the page cache will be very helpful. But what if the user click some link and visit another page of your blog, or **Google is crawling your site**? Cache another whole page? Actually that’s not necessary for most time. As we all know, WordPress share the same widgets, they’re all the same, maybe on all the pages of your site. For example, the Categories widget, this maybe never change, the Archives widget, maybe changes once a month. So it’s really really not that necessary to query the database again, especially when you use a lot of widgets. WP Widget Cache is not to replace the WP-Cache or WP Super Cache, it’s a plus for them, as it reducing the cost for caching a new page. you can set the cache time for each widget individually, seconds to years, whatever you like. For Categories widget, days maybe fine, for Recent Comments widget, seconds maybe fine. **How effective it is?** That depends on how many and what widgets you use, for [www.mashget.com](http://www.mashget.com), the queries for home page reduce from from 69 to 19, that's means **70%** improvement. **Notice** There're some widgets that **should not be cached**!! For more information, please visit the [Other Notes](http://wordpress.org/extend/plugins/wp-widget-cache/other_notes/). ***Thanks*** *I want to say thanks to Alan Trewartha (the author of [Widget Logic](http://wordpress.org/extend/plugins/widget-logic/) plugin) and Dragan Bosnjak (the author of Cache Class), their codes are very helpful for me to finish this plugin.* == Installation == 1. Upload the plugin folder to the `/wp-content/plugins/` directory 1. Activate the plugin through the 'Plugins' menu in WordPress 1. make sure the subfolder 'cache' is writable 1. Configure the plugin through Admin -> Design -> Widgets(see the Screenshots) == Frequently Asked Questions == = Work with WP-Cache or WP Super Cache? = Yep, WP Widget Cache is a plus for them, as it reducing the cost for caching a new page = Want to be sure it really reduce your server usage? = View the source of your site page, there maybe some code like this at the foot: If not, please put these codes in your footer template: After using the WP Widget Cache, I think you'll find the number of 'queries' reducing a lot. Of course, that will depend on how many and what widgets you use. For this site, www.mashget.com , the number reduce from 69 to 19, that's means **70%**, really a big improvement. == Screenshots == 1. The WP Widget Cache Options 2. Clear the Cache 3. WP Widget Cache Settings == Notice == There're some widgets that should not be cached!! Some widgets are **dynamic**, that means they show different content in different conditions, for example, for different pages, for login / unlogin users. If you use such dynamic widgets, don't worry, just left the cache expire time(see the screenshots) field **empty** or **0**, which will prevent the WP Widget Cache to do anything. Here's a list of such widgets to be finished, if you know something new, just visit [here](http://www.mashget.com/2008/09/01/wp-widget-cache-for-wordpress/), and leave a comment. * [Widget Logic](http://wordpress.org/extend/plugins/widget-logic/) * [MiniMeta Widget](http://wordpress.org/extend/plugins/minimeta-widget/)