• Home
  • w3 total cache

Announcing W3 Total Cache Pro

Several weeks ago we silently launched version 0.9.3, a very exciting release for us. As we get closer to a final release of the popular web performance optimization (WPO) framework, we’re finally able start employing the best practices our colleagues like Joost de Valk and Pippin Williamson (among others) have championed for some time.

But before we get into that, let’s take a look at the highlights:

  • Fragment Caching Social layer, personalization and e-commerce etc are common elements of highly dynamic web sites. That means that caching entire pages to improve user experience and performance is not a solution. Fragment Caching bridges the gap between no caching at all and the “ideal,” full page caching. By extending the WordPress Transient API, W3TC allows developers to bring both horizontal and vertical scale to bear without doing anything differently.
  • Extension Framework As mentioned above, extensions / add-ons represent a great opportunity to both de-bloat projects that solve many problems or address many use cases. It also allows for innovation as 3rd parties can make contributions without having to be a core project developer to contribute or solve their problems while maintaining the control they need. We’re excited for you to try this first iteration of our extension framework, and documentation can be found (for now) inside the plugin’s FAQ.
  • Genesis Framework Extension Among the most popular theme clubs in the market and part of a highly valuable suite of publishing solutions is the Genesis Framework. Our work in the website optimization industry for the past 11+ years allows us to know great products and communities when we see them, and that is why we chose to work with CopyBlogger Media to enhance the performance of the framework.The extension is included in the W3TC default distribution and requires an active Genesis theme as well as W3TC Pro. The extension leverages the fragment cache in order to do its magic, a solid example of the power of the new extension framework. Once enabled, a given page request will be served 30-60% faster (and will be even faster as we move forward).

    Working with the Genesis team to get this extension into play has been fun, but we do expect to find some bugs along the way. Please let us know what you find so that we can promptly address. Meanwhile, we hope the value we’re offering helps you create engaging experiences for your readers / users. For Synthesis hosting customers, the upgrade is free and already running on your site(s).

For those interested in upgrading to the Pro version, simply use the upgrade button to obtain a license key valid for a single WordPress installation. To have a professional from the team tune your site for performance, simply make a purchase from the support tab of the plugin itself.

To learn more about how fragment caching helps “origin optimization” (optimizing your site for the cache miss and other use cases), check out the white paper we co-authored with our friends at CopyBlogger Media!

We have a lot more planned for the Pro version of W3TC, so please stay tuned or share your ideas with us as we move forward.

Security & W3 Total Cache 0.9.2.4

We take security quite seriously even though our focus is on making it trivial to allow any publisher to maximize the performance they can extract from their hosting environment and WordPress itself.  Most recently we took a look at the steps that GoDaddy was taking in the shared hosting segment of the market.

In versions of W3 Total Cache prior to 0.9.2.5 vulnerability exists (CVE-2012-6077, CVE-2012-6078, CVE-2012-6079) if the following two cases are true:

  1. Directory listing and download of w3tc/dbcache/ directories is possible
  2. W3 Total Cache has database caching enabled and is set to use disk

This issue was resolved, irrespective of whether or not #1 was true in release 0.9.2.5 which offset the next release than some of you may have been testing to 0.9.2.6.

For those of you who feel they were affected, here are some remediation steps:

  • Empty and disable database caching until you upgrade W3TC
  • Audit your administrator accounts and change their passwords, potentially add HTTP Basic Authentication to /wp-login.php and /wp-admin/ if possible
  • Update your database credentials, name (and table name offset if possible)
  • Ensure that you have nightly backups of your site, if you’re not sure contact your web host

The 0.9.2.6 release expected within less than a week further expands on the initial approach to securing caching files to disk while using database caching and ameliorates issues caused with the previous patch.

One might ask, why not completely remove disk caching for the database from the W3TC framework? The problem is that our goal is to make it possible for users to take control of their performance needs, that means that if they have an environment where they’ve tested to find that reading cache files from disk provided lower execution times than not caching at all, that option should be available.

After years of scaling web sites, one thing we know for sure is that as your site grows, the techniques you use to scale it change. W3TC is ready to grow with you. With more than 140 features and fixes in the next release, the future is bright.

How to configure W3 Total Cache to work with HTTPS and SSL

We’ve worked with a few sites recently that use HTTPS to secure certain parts of there site. Some of the pages are SSL protected due to the data captured (pages processing registration or financial information, for example).

When using a CDN in conjunction with HTTPS / SSL, customers often find that the CDN product they use lacks an HTTPS endpoint, or the one provided is different from the standard, non-HTTPS one.

One simple solution to this would be to force the loading of your CDN assets via HTTP like so:

How to configure W3 Total Cache to work with HTTPS and SSL

This leads to one other issue, however…

Why dont I see the Blue/Green Bar?

https When a page and all of its assets are served over HTTPS, modern web browsers provide a visual indicator—usually in green or blue. This is designed to provide visitors with the confidence to shop or register on your site.

When your HTTPS pages are served with “mixed content” (as it sounds, this is a situation in which HTTPS and HTTP assets are both being loaded on a single page, this indicator does not appear. This could happen for any number of reasons — all beyond the scope of this article — but there’s a simple solution for addressing this with only a few short lines of code.

Disabling CDN on HTTPS pages only

W3 Total Cache ships with documentation (Performance > FAQ) that provides instructions on disabling each of the caching types. Combined with a simple PHP function and WordPress hook, we’re able to conditionally disable the CDN for pages that utilize HTTPS.

Add the following code snippet to your theme’s functions.php file:

add_action('wp_head','nocdn_on_ssl_page');function nocdn_on_ssl_page() {if ($_SERVER['HTTPS'] == "on") {define('DONOTCDN', true);}}

This of course assumes that you have W3 Total Cache active and that the only assets being served over HTTP are originating from your CDN (otherwise, you might need something like this). When you reload a page being served over HTTPS, you should notice that the familiar green / blue indicator appears in your address bar.

Note: we’ve found that MaxCDN‘s SSL support and easy integration with W3 Total Cache provides a solid solution for many customers.

Security Alert for W3 Total Cache

On the heels of a post by Matt Mullenweg, I thought it best to also make a post here to put any confusion that may ensue to rest:

Suspicious activity in wordpress.org plugin was noticed and a few plugins were found to be compromised. Malicious code was added to these plugins creating backdoor access to the web server. You would only be affected if you downloaded an update of the plugin today.

Once we were notified of the issue, we made sure that the current stable release (0.9.2.2) was restored to normal in addition to releasing the current development version as (0.9.2.3) allowing users to get an upgrade notification in WordPress Admin.

Needless to say, if you haven’t already upgraded, we encourage you to do so straight away via the WordPress Admin’s plugins page, it just takes a minute. If you did not upgrade today, you site should be secure, however we encourage you to update so that your site can take advantage of the additional performance optimizations included with each release.

As many of you have learned from working with us, W3TC seeks to improve the search engine ranking, conversion rates and user experience of web sites for free. We welcome you to submit a bug submission form from the support tab of the plugin to help us identify issues in new features and old features as the performance framework is used in more and more cases.

As always, thanks for your understanding and participation.