This article was written during Vivio Swift's beta release.
Vivio Swift's Caching Engine is very aggressive by design, caching almost every page and asset that it has access to by default. The intention is that all pages that can potentially benefit from being cached, should. However, there are good reasons why some pages should NOT be cached - like when a user specifically needs a dynamic response from the server that's customized for them. Vivio Swift comes with built-in exclusions specifically to exemplify those kinds of valid exclusions. Things like logging in to the WP-ADMIN should not be cached for obvious reasons, so cookie-based exclusions are included by default with the initial Vivio Swift install.
Other exclusions, may not be so obvious or generic. For example, your specific site may need unique exclusions that only exist on your site. This is the most difficult aspect of managing caching in Vivio Swift, so Vivio Technologies has put a lot of time into this feature in order to make it extremely easy to use while remaining very powerful. The tools we built into the Exclusions area of Vivio Swift should provide you with an easy way to fine-tune your caching system to your site's unique needs.
The following will review some of the Exclusion tools you have available to you during the Vivio Swift (and Vivio Velocity Hosting Platform) Beta tests.
The Exclusion "Settings" page gives you an overview of the kinds of exclusions available and in use and gives you the ability to enable or disable certain kinds of exclusions.
Some exclusions listed on the "Settings" page are marked as "Required". These exclusions cannot be disabled because they are required to maintain core WordPress functionality, like access to the wp-admin area. The required exclusions are still listed though, in order to let you know that they are present and in-use. Some required exclusion types, like cookie-based exclusions, can be added to.
Cookie exclusions can be used to exclude visitors from seeing cached pages based on what cookies they have. This is useful for many different purposes, including not using cache on a site's checkout process, a site's members-only area, or digital download sections.
Cookie exclusions are processed as "contains" exclusions. So if you added a cookie exclusion for the word "q" any cookie who's name contained the letter "q" would trigger the cookie exclusion and that user not to be shown cache.
User Agent Exclusions
A "User Agent" is how a web client identifies itself to your server when asking for web pages. The Vivio Swift plugin agent is the only default (and required) exclusion that is included by default - because you want to cache the most recent data when Vivio Swift goes to cache your site's pages. Other user agents might include, for example, the Google bot, if you want Google to spider live data rather than cached data. In other cases, it might be nice to have search engine spiders like Google bot hitting static content (like your cached pages) rather than adding additional load to your servers when they index your site. Totally up to you whether you want to add them to this list or not.
This exclude also functions as a "contains" value. So partial word matches will be excluded from being served cached pages, and will be served with dynamic pages instead.
Exact Path Exclusions
Exact Path exclusions give you exact precision on what URL's to exclude from the caching process. Exact Path Exclusions are the ideal exclusions to create if you need to create an exclusion, beause they only affect a singular URL, rather than multiple URL's. Excluding multiple URL's could prevent you from gaining the speed and performance benefits on some URL's that work just fine being cached, but are excluded because they match an imprecise path exlcusion like "Paths Ending With" or "Paths Containing". If you are using a dynamic web service of any kind in your site, it is recommended that you add the exact path of that service to this list.
This exclude is disabled by default for performance reasons. No need to check for exact path mathes if you're not using them. However, if you add exclusions here, be sure to enable them!
Paths Ending With Exclusions
"Paths Ending With" exclusions allow you to exclude requests to URL's that end with certain values, like a file extension. This is one way to exclude certain kinds of files or groups of files - which can be useful in certain circumstances.
Like Exact Path exclusions, Paths Ending With exclusions are disabled by default, so if you add exclusions here, don't forget to enable it as well.
Paths Containing Exclusions
"Paths Containing" exclusions is a powerful way to exclude large portions of a site that you do not want cached. For example, if you don't want to cache all posts from 2009, you could add the term "2009" to your "Paths Containing" excludes and Vivio Swift will NOT cache any URL with 2009 in it. If your 2009 posts don't get much traffic, this can save you unnecessary disk space and processing time from caching those older years. "Paths Containing" excludes are also useful for excluding caching for certain portions of your site that need to be dynamic, like a shopping cart or checkout process. The examples in the screen shot below were added when working with WooCommerce.
Again, this kind of exclude is disabled by default, so if you add exludes here, don't forget to enable them!