What Web Hosting Works Best with MemberPress?

Choosing the right hosting is crucial for the overall performance of your site. There are multiple factors related to your site performance, including the quality of code, theme, plugins used, caching, etc. At the same time, even a perfectly optimized site could perform poorly if the hosting service you chose is not right.

This document will give you an overview of popular hosting solutions and how they have proven to work with MemberPress. Also, the document will explain the most common issues known, and provide tested solutions.

Picking The Right Web Host For MemberPress

When it comes to MemberPress, firstly you would need to check that your chosen hosting matches the MemberPress minimal technical requirements.

Also, it's important to mention that MemberPress, like every plugin on your site, requires a portion of your server resources (CPU, memory, etc.). Thus, please make sure that your hosting plan comes with enough resources.

Most importantly, aggressive caching just doesn't mesh well with the dynamic needs of membership sites. Most often when it comes to hosting providers and server-side caching, issues come from object caching and Varnish cache. These should be disabled for MemberPress to work properly. In addition, MemberPress-related URIs should be excluded from any server-side caching.

In the list below, you will find the list of Recommended, Not Recommended, and Not Supported web hosts. The Recommended web hosts are the ones that have a proven record of working well with MemberPress, and where any required settings are easily applied.

Under Not Recommended web hosts, you will find hosting services that still work with MemberPress and can be used. On the other hand, these hosts require a bit more technical knowledge to apply the mentioned settings. Here, we found that most web hosts are willing to help you apply the required settings. Thus it's advisable to contact the hosting support if you need help setting things up.

Finally, there are some hosts who are unwilling to work with customers to make the adjustments and these should be avoided. Also, some hosting services are created in a way that is not compatible with MemberPress. You will find these web hosts listed under the Not Supported group.

20i WordPress Hosting

Their managed WordPress hosting comes with the StackCache plugin that you'll have to adjust, as shown in this image, to ensure proper MemberPress functionality:

If you've used some other pages than the default "thank-you", "account", "login", and "register", you'll have to adjust for that.

Their hosting panel has settings for deferring JavaScript, so if you encounter some functional issues with your website, you might need to switch that option off, if enabled, or at least exclude jQuery from deferring.

Bluehost Managed WordPress Hosting

We haven't heard of many issues with Bluehost Managed WordPress hosting aside from the Varnish caching feature they have enabled by default. So be sure to turn off Varnish caching if you use MemberPress with Bluehost's Managed WordPress hosting.

Bluehost Shared Hosting

Though there shouldn't be any issues with Bluehost's shared hosting, we've received some recent reports of Bluehost forcing server-level Varnish caching on sites using too many resources, which can cause unexpected issues with MemberPress.

Therefore, if your site is growing and traffic is picking up, we recommend moving off of shared hosting.

For both types of hosting, please check whether you have the Must-Use plugin section in your Dashboard Plugins section, and if you do, make sure that the Endurance Page cache plugin is disabled.

DigitalOcean Hosting

Generally, DigitalOcean works well with WordPress and MemberPress. Make sure that you set up the Breeze caching plugin based on our recommendations. If you plan to protect static files like PDFs, you'll need to have them add some code to your Nginx host file to allow this to work properly with MemberPress' file protection Rules (Custom URI Rules). To learn how to do this, please see the Nginx section on this page. Or, as an alternative, you can use our Downloads add-on, which is included free with MemberPress.

Kinsta Managed WordPress Hosting

Though we don't have any direct experience with Kinsta, their support has reached out to us to let us know that they've seen many MemberPress customers using their Managed WordPress Hosting without any issues.

It's important to note that they use strictly an Nginx based web-server, which means you will not be able to use our Apache .htaccess rewrite Rules that are typically available to Apache-based web-servers. This is not a problem if you don't plan to use our Custom URI Rules to protect any locally hosted static files like PDFs, ZIPs etc. All other content protection Rules will work just fine with Nginx. As an alternative, you can use our free Downloads add-on to manage and protect files instead.

Kinsta also uses various forms of caching, so we make the following recommendations for our MemberPress users on their awesome platform:

  • Disable their HHVM option (this will prevent object caching from being enabled, which can have some unexpected results). Update: It looks like HHVM is no longer available with Kinsta. Object caching can still be enabled if you purchase their Redis add-on, which we do not recommend.
  • Do not use any caching plugins like W3TC, WP Rocket, WP Super Cache, or WPFC etc. These are not necessary, given the other caching options that are provided for free with your Kinsta hosting plan.
  • Go to your WordPress Dashboard >
    • /register* (This may be different if you've set a different Memberships slug in your MemberPress options)
    • /login* (Don't cache the login page)
    • /account* (Don't cache the account page)
    • /mepr* (Don't cache the IPN, Webhook, and other Notification and API endpoints)
    • /thank-you* (Don't cache the Thank You page)
    • /unauthorized* (Don't cache pages related to built-in redirect in case of unauthorized access)

      You can find detailed instructions here.

SiteGround WordPress / Shared Hosting

SiteGround has also been a very good host for MemberPress users. But as with WP Engine and other caching hosts, we recommend disabling their SG Optimizer that comes pre-installed with every shared hosting plan. At the very least, ensure that register, thank you, mepr, account, unauthorized, and login pages are not cached.

Also, you'll need to disable the Memcached at the bottom of the same page.

IMPORTANT NOTICE: It appears that Siteground, on its shared hosting plans, caches every page even if you don't have the SG Optimizer plugin installed and activated. In order to ensure the proper functionality of MemberPress, please install and activate SG Optimizer and adjust it as outlined in the link below.

Detailed instructions are located here.

WP Engine WordPress Hosting

WP Engine has been a very good host for MemberPress, and we have no problem recommending them. However, there are a few things you should do if you plan to use WP Engine and MemberPress.

  1. Contact their support and ask for your /register, /login, /mepr, /account, /thank-you, and /unauthorized pages to NOT be cached
  2. Disable their Object Caching as it can cause some unexpected issues.
  3. If you plan to protect static files like PDFs, you'll need to use our Downloads add-on, which is included free with MemberPress.
  4. If you experience any issues with Cron jobs, you can enable WP Engine Alternate Cron - a service on the server that checks for "due now" crons every minute. To enable Alternate Cron, simply reach out to WP Engine Support. Additionally, alternate cron can be used to mimic a server cron because WP Engine does not support true linux, or server side, crons. Alternate cron runs at a consistent minute interval and can be used instead to run other processes that require a schedule.

Cloudways Hosting

Cloudways often comes with the Breeze caching plugin pre-installed. In order to adjust it, please check the Breeze section of our How to Set Up Popular Caching Plugins with MemberPress page.

Some Cloudways hosting plans come with Varnish cache enabled. If you encounter it, you'll have to adjust it according to this page of their online documentation: https://support.cloudways.com/en/articles/5496342-how-to-use-varnish-at-cloudways#h_4f3846fd10.

According to this paragraph from the above page:

If you use an incomplete destination URL such as (/booking/) and if such path has more succeeding links such as booking/list or booking/items, all such items will not be cached by Varnish.

You'll need to exclude these URLs (based on default MemberPress settings): /thank-you/, /account/, /login/, /register/, /mepr/ and /unathorized/.

Dreamhost / DreamPress Hosting

The standard shared Dreamhost package appears to have an issue with the mod_security, where Stripe webhook will fail with the "500 Internal Server Error" and "Invalid encoding: ISO-8859-1"

If this happens to you. you'll need to contact their support and ask them to adjust mod_security.

DreamPress hosting package uses server-level Varnish caching, which can cause unexpected issues with MemberPress. This most often shows up as issues with PayPal sending IPN notifications to your site. If you have verified that the IPN settings are correct in both MemberPress and PayPal, but PayPal IPN keeps retrying to send and eventually fails, contact DreamPress to resolve the issue.

If you encounter the issue where the Stripe webhook fails to work properly and transactions end up in Pending status or missing completely, please ask their support to check the error log file. If they find the " 418 I'm a teapot" error code (please don't laugh) 😀 you'll have to ask them to adjust their mod_security and create rule exceptions for the tags in the "418" error message they see on their end. That should solve the issue.

GoDaddy Shared or Business Hosting

GoDaddy's Shared and Business Hosting plans are not subject to the aggressive caching used in their Managed WordPress plans. Thus, it's possible to exclude MemberPress URIs from the server cashing in this case. As a result, both Shared and Business Hosting options should work fine with MemberPress.

GridPane Hosting

This hosting uses Nginx, and you'll need to add this piece of code to either a website-specific config or a server-level config to exclude default MemberPress-generated pages:

if ($request_uri ~* "(/thank-you.*|/account.*|/login.*|/register.*|/mepr.*/|/unauthorized.*)") {
      set $skip_cache 1;	 
      set $skip_reason "${skip_reason}-request_uri";
}

For details, please refer to https://gridpane.com/kb/exclude-a-page-from-server-caching/ or contact their support for assistance.

Imperva Incapsula Hosting

Coming soon!

Liquid Web Managed WordPress Hosting

Liquid Web's Managed WordPress Hosting uses a built-in Varnish cache that is automatically enabled on all their Managed WordPress websites when they are created. However, it interferes with the proper operation of MemberPress.

Luckily, Varnish caching can be easily disabled from the Managed WordPress Portal. Disabling it is a quick process that takes just a few clicks. Here you can find an instruction on how to do that: https://www.liquidweb.com/kb/organizing-your-sites-in-managed-wordpress-portal/

Namecheap EasyWP Managed WordPress Hosting

Namecheap's Managed WordPress Hosting uses object caching and EasyWP caching plugin that can't be disabled. Due to the dynamic nature of membership plugins like MemberPress, you'll have to contact their support and ask them to exclude pages from MemberPress -> Settings -> Pages tab. Due to the NO_AUTO_VALUE_ON_ZERO being set in the SQL_MODE in the database, please ensure that you use the latest version of all MemberPress add-ons.

However, Namecheap's shared hosting runs well with MemberPress without the need for any adjustments.

One.com Hosting

Some of One.com hosting plans come with Varnish enabled. If your website is on such a plan and you have issues with MemberPress, you'll need to disable Varnish completely since you can't exclude individual URLs/URIs from it.

This is how it should be done:

First, disable the Performance Cache plugin if you have it enabled.

Then add this to the .htaccess file located at the root of your WordPress installation:

Header add "Cache-Control" "no-cache"

That should permanently disable the Varnish cache. If you don't feel comfortable doing it on your own, please contact their hosting support and ask for assistance.

Pantheon Hosting

Pantheon hosting comes with a built-in cache. Based on this page from their online documentation - https://pantheon.io/docs/cache-control you should create a must-use plugin and install it in order to exclude specific MemberPress pages from caching.

This is based on MemberPress default pages in the MemberPress -> Settings -> Pages tab:

/* 
  * Set $regex_path_patterns accordingly.
  * 
  * We don't set this variable for you, so you must define it 
  * yourself per your specific use case before the following conditional.
  *
  * For example, to exclude pages in the /news/ and /about/ path from cache, set:
  * $regex_path_patterns = array(
  *     '#^/news/?#',  
  *     '#^/about/?#',  
  *   );  
  */

$regex_path_patterns = array(
    '#^/thank-you/?#',
    '#^/account/?#',
    '#^/login/?#',
    '#^/register/?#',
    '#^/mepr/?#',
    '#^/unauthorized/?#',
 );

// Loop through the patterns.
foreach ($regex_path_patterns as $regex_path_pattern) {
  if (preg_match($regex_path_pattern, $_SERVER['REQUEST_URI'])) {
      add_action( 'send_headers', 'add_header_nocache', 15 );
      
      // No need to continue the loop once there's a match.    break;  
  }
}
function add_header_nocache() {
      header( 'Cache-Control: no-cache, must-revalidate, max-age=0' );
}

If you don't feel comfortable doing that yourself, please get in touch with their support and ask for assistance.

PixelInternet Hosting

This hosting comes with the Edge Caching For Speed enabled in all of its plans. In order to ensure proper functionality of MemberPress, you'll need to contact their support and ask them to exclude "thank-you", "account", "login", "register", "mepr", and "unauthorized" URLs/URIs from that cache. If you've changed defaults to your own pages for the first four, you'll have to adjust for that.

Pressable Hosting

Pressable hosting comes with the built-in Batcache. In order to exclude MemberPress pages from caching, you'll need to add these lines to the end of the wp-config.php file:

if ($_SERVER['REQUEST_URI'] == '/thank-you/' && $batcache) {
    $batcache->max_age = 0;
}	
if ($_SERVER['REQUEST_URI'] == '/account/' && $batcache) {
    $batcache->max_age = 0;
}	
if ($_SERVER['REQUEST_URI'] == '/login/' && $batcache) {
    $batcache->max_age = 0;
}
if ($_SERVER['REQUEST_URI'] == '/register/' && $batcache) {
    $batcache->max_age = 0;
}
if ($_SERVER['REQUEST_URI'] == '/mepr/' && $batcache) {
    $batcache->max_age = 0;
}
if ($_SERVER['REQUEST_URI'] == '/unauthorized/' && $batcache) {
    $batcache->max_age = 0;
}

This applies to the defaults offered by MemberPress. If you've changed those to something else, you'll need to adjust the code accordingly.

RunCloud

This is not an actual hosting company but more of an interface that can be used by several cloud hosting providers like DigitalCloud, AWS, Google Cloud, Vultr and maybe some other providers. It contains something called RunCloud Hub that comes with built-in caching and an interface to control it. More about it here - https://blog.runcloud.io/runcloud-hub/.

In order to adjust caching for MemberPress, please go to your WordPress Dashboard > Settings > RunCache. Once there, go to the Rules section and add these URLs to the Exclude URL Path text box:

/thank-you.*/account.*/register.*/mepr.*/unauthorized.*

The /login.* should be there as one of the default values. Please don't delete any of the defaults already there.

Once done, please save the changes and select the Clear All Cache option from the RunCloud Hub menu in the Admin bar. If you have changed the defaults offered by MemberPress in the Pages tab, you'll have to adjust URLs to reflect those used in your case.

Strato Shared Hosting

If you experience an issue where Stripe transactions are not getting through on Shared Hosting plans, please contact their support and ask to deactivate two functions that are active by default in the hosting profile:

  • ServerSide Security (ServerSide AntiVirus, ServerSide AntiSpam)
  • PHP Boost

Another reason that causes both Stripe and Paypal transactions to fail is the setting in the Strato Dashboard that stops "Guestbook Spam":

You need to disable that if payments are not reaching MemberPress. More about that in this article (in the German language) - Strato und Paypal: IPN kommt nicht an - webdecker - Webseiten PHP Contao Programmierung Berlin.

WPX WordPress Hosting

WPX has its own WPX Cloud CDN, and in order to secure proper MemberPress functionality, the default MemberPress pages will need to be excluded from caching. You can do that yourself by adding this piece of code to the .htaccess file.

However, if you're not comfortable changing the file yourself, you can get in contact with WPX Support and ask them to do it for you.

Please note that if you've used some other pages than those set up by default, you'll need to change the above code to reflect that. The same applies to any additional "Thank You" or registration pages realized using MemberPress shortcodes. Those would need to be excluded as well.

Not Supported Hosts

GoDaddy Managed WordPress Hosting

GoDaddy's Managed WordPress Hosting uses an aggressive form of caching, which, due to the dynamic nature of membership plugins like MemberPress, can cause unexpected behaviors.

We cannot recommend nor do we support GoDaddy's Managed WP Hosting, as we've seen continued issues with it, and GoDaddy has so far not allowed anything to be excluded from their over-aggressive caching. 

If you must use GoDaddy, we recommend moving onto one of their Shared or Business (which may be a better option for higher traffic sites) hosting plans that do not use aggressive caching.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.