A number of hosting companies use caching methods or custom plugins that are preconfigured on their servers to improve performance.
If you run into trouble with your WooCommerce installation but fail to reproduce this locally or on a proven test system, chances are high that a server configuration you never ordered or heard off is causing this. Now please keep in mind that caching can but does not have to interfere with WooCommerce.
However if you have issues where one process is suppose to trigger an event and fails so, for example a membership expires but access is not restricted, or a purchase is fulfilled but no membership is created, chances are high you are being duped by caching.
Contents
Here is a list of hosting companies that use caching methods per default.
GoDaddy
GoDaddy uses their gd-system-plugin
which includes extensive modifications. It is located in wp-content/mu-plugins
.
Take a look.
The plugin is loaded via require_once( dirname( __FILE__ ) . '/gd-config.php' );
in the wp-config.php
file:
The screenshot shows a wp-config.php
file I viewed from a GoDaddy installation. As you can see it also sets WordPress Upgrade Constants. Additionally GoDaddy includes a gd-config.php
file that defines a handful of parameters (such as staging site = yes / no), embeds New Relic and adds a function for mobile clients.
Furthermore GoDaddy also uses Redis Object Cache. This is managed by a file called object-cache.php
in your wp-content
folder. You can simply rename the file to object-cache.php.bk
to disable this.
WPEngine
WPEngine has custom plugins per default active which do not work outside the WPEngine environment. They also modify the wp-config.php
file extensively. To my knowledge the following are WPEngine custom plugins:
wp-content/object-cache.php
– this enables object caching. Makes debugging on live sites more difficult and moreover is often not enabled on staging sites created with WPEngine. This means that live and staging sites on WPEngine can behave very differently. Caching is your enemy when troubleshooting, so get rid of it prior to getting to work (rename it toobject-cache.php.bk
). Further information on this on their help page.wp-content/mu-plugins/mu-plugin.php
wp-content/mu-plugins/wpengine-common
loads a whole set of goodies. Here is a copy of them:
Download wpengine common files - last updated: 14.02.2017
It is noteworthy to mention that WPEngine only applies their caching to live sites. Any site created via their staging lacks these. So a live and staging on WPEngine can behave very differently.
WPEngine has a help article that lists these items as part of a tutorial that explains how to deploy a WPEngine site on an external system.
They also keep a list of disallowed plugins and provide explanations and alternatives for each listed item.
WPEngine also allows for easy access to log files. Both Web Server access logs and PHP Error logs can easily be viewed by going to WPEngine -> General Settings and then scrolling down to “Web Server & PHP Error Log”.
Flywheel
Flywheel modifies the wp-config.php
– take a look at a sample file.
Download Flywheel wp-config sample file - last updated: 15.08.2016
Their servers use Varnish Cache which is briefly explained on their technology stack page. Furthermore their Nginx web server serves static pages, which means that your site on flywheel has full page caching active.
Flywheels cache can be purged from the “Advanced” tab in your Flywheel Dashboard. The dashboard offers a number of helpful features, among them a development mode, which disables the cache completely and the possibility to setup a staging site.
Like WPEngine they keep a list of disallowed plugins.
Hostgator
I have only had one occurrence with Hostgator so far and did not record and information. Take this with a ???.
Additionally these caching services and plugins can interfere with WooCommerce.
Cloudflare
WordFence
when deactivating WordFence make sure this setting is set:
to get rid of its caching. The settings are located here /wp-admin/admin.php?page=WordfenceSecOpt
However if you are seeing this, than you are on an older version of WordFence. WordFence announced in fall 2016, that they are removing all of their caching functionality entirely.
Take this with a grain of salt
This is not an official or proven list in any way. It reflects what I have come across personally and only serves as a possible hint for when you are troubleshooting your WooCommerce shop. Always confirm whether or not caching is active on your machine by contacting the respective technical support.In general every caching method can impair WooCommerce performance. Why? Because your shop relies on real time calculations which are dynamical operations. The nature of caching is to replace all dynamic operations with static files, so things load faster.
Know what you are doing and carefully review and always test your configurations with and without caching.
Image credits: Header image doodle by Anna Werner for wp4e.de
4 comments
baldwin jackson
Well have you tested out on … WooCommerce hosting? I was curious because they are one of the leading WooCommerce hosting provider.
Con Schneider
Hi Baldwin,
No, I do not make specific tests or create general reviews yet. Therefore I have removed the link and branding from your reply.
Luke Cavanagh
Cloudflare works fine with WooCommerce, if you setup the correct page rule and then use the Bypass Cache on Cookie rule.
WP Engine uses Varnish for caching.
Con Schneider
Thanks for the input, Luke. Is there a resource for Cloudflare that I can link to maybe? Anything you would add for WPEngine?