Caching plugins and services are designed to help ensure your site responds as quickly as possible. We understand that a fast store converts better than a slow store. We’ve worked with multiple caching solutions to write up guides on how to configure their plugin or services to work best with Easy Digital Downloads.
Easy Digital Downloads works with Cloudfalre’s services, however there are some settings and suggestions we have. You can view our extensive Cloudflare documentation to ensure your store works with this service.
WP Super Cache
WP Super Cache is one of the most popular caching plugins available. It is fully compatible with Easy Digital Downloads, though if you wish to use it, there are a couple of configuration options you must enable in order for it to work fully.
Once WP Super Cache is activated, go to Settings > WP Super Cache and then click on the Advanced tab. In the Miscellaneous section, there are two options that should be checked:
- Don’t cache pages for known users. (Recommended) – This is primarily for logged-in users.
- Don’t cache pages with GET parameters. (?x=y at the end of a url) – This will ensure that the checkout page and cart widgets work as expected.
- Since WP Super Cache v1.3.1 – Dynamic cached content – This must be enabled in the Advanced Settings section.
- Add /checkout/ to Rejected URIs option.
You can see a screenshot of the settings below:
Rejected URIs example:
WP Fastest Cache
In order to use WP Fastest Cache with Easy Digital Downloads, there are a quite a few settings to change. This is a basic list of the settings that need to be configured.
Logged-in Users: Enabled. This
New Post: Enabled
Updated Post: Enabled
If you are using the Free Downloads Extension, please enable the ‘Mobile’ checkbox, as this will prevent your mobile users from being shown the desktop version of the free downloads form.
Add rules to the Exclude section for:
Your checkout page. By default this is `checkout`
Purchase Confirmation page. By default these URLs contain the `purchase-confirmation` slug.
Note: If you have renamed the default checkout, purchase confirmation, or purchase history pages, you’ll need to use their page URLs here instead of the defaults.
In order for EDD’s cart to work you’ll need to exclude the `edd_items_in_cart` cookie.
To make sure that cart errors are not cached, exclude this cookie `edd_cart_messages`
Once a purchase is complete, make sure the purchase confirmation isn’t cached by excluding the `edd_purchase` cookie.
If your site uses fees in anyway, exclude the `edd_cart_fees` cookie.
In order to support cart recovery, exclude the `edd_resume_payment` cookie.
Make sure the cart itself isn’t cached by excluding the `edd_cart` cookie.
If you are using discounts, be sure to exclude the `cart_discounts` and `preset_discount` cookies.
A complete list can be found below:
edd_items_in_cart edd_cart_messages edd_purchase edd_cart_fees edd_resume_payment edd_cart cart_discounts preset_discount edd_cart_token edd_saved_cart
If you continue to have issues with WP Fastest Cache with these settings, please reach out to the WP Fastest Cache support team directly at https://www.wpfastestcache.com/contact-us/
If you are hosting your website with WP Engine you can add Custom Cache Exclusions using your administration panel.
WP Engine provides a documentation article https://wpengine.com/support/cache/#Custom_Cache_Exclusions on how to exclude items from cache.
In some cases when passing the “discount” parameter in the URL the discount code is not being added to the Checkout page once the customer reaches it. For that to work you need to add the “discount” argument as an exclusion following the steps listed in the article above.
It would need to be added in the format: arg: discount=
Following the same example you can add other arguments from being excluded from their caching.
For users hosting with Kinsta, it is possible that the Checkout page session data to be cached. The way to fix it is from your hosting account Tools panel by enabling “Remove Set-Cookie headers”.
There are no known conflicts between Spider Cache and Easy Digital Downloads. Spider Cache has undergone extensive testing with Easy Digital Downloads, conducted by the Spider Cache lead developer.
W3 Total Cache
In order to use W3 Total Cache with Easy Digital Downloads, there are a few settings you need to ensure are setup correctly. This is a basic list of the settings that need to be configured.
Page Cache: enabled with Disk: enhanced
Database cache: disabled
Object cache: disabled
Browser cache: enabled
CDN: enabled (this does not affect EDD)
This is not an exact list and there will definitely be variations, but this is the config that has been shown to work. If you find other options / variations that work or don’t work,
please contact us via support. We will update this doc as needed.