WordPress since 2003 ♡ WooCommerce since 2011

Hosting Companies that use caching or custom plugins that may interfere with WooCommerce

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.

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.

Download GoDaddy system plugin - last updated: 11.11.2016

The plugin is loaded via require_once( dirname( __FILE__ ) . '/gd-config.php' ); in the wp-config.php file:

Screen Shot

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 to object-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:

Screen Shot

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

keep reading?

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.

    • A
      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.

  • 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.

    • A
      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?

Leave your comment