Some hosting providers use fairly aggressive caching techniques that, unless accounted for, will cause issues with MemberMouse. This is a result of the nature of caching itself which takes a snapshot of pages and other resources the first time they're loaded and then on future requests pulls them from the cache instead of grabbing them from the server. This works great for static pages and resources but if a page has any sort of dynamic functionality, like a lot of your pages will when you're using MemberMouse, you'll end up delivering an incorrect experience to your customers.
In order to keep issues from happening you'll want to contact your hosting provider and ask them to add 'exceptions' to the 'page cache' on your site. Specifically, you should exclude:
- All of the MemberMouse Core Pages (i.e. login, checkout, my account, confirmation, member homepage, etc)
- Any URLs associated with the particular payment services you're integrating with which can be found on the MemberMouse Payment Settings page (i.e. IPN callback URLs, silent post URLs, etc)
- Any URLs contained in the MemberMouse plugin directory (i.e. /wp-content/plugins/membermouse/)
- Make sure the process order script is not cached. This is the name of the file located on your site "/processOrder.php". You can find the URL of the process order script by viewing the HTML source on your MemberMouse checkout page and looking at the action attribute of the <form> tag
- Any page where you use MemberMouse SmartTags
- Any page that should only be viewed by logged in members. e.g. if you have a /members/ section and aren't showing excerpts to non-members
Note that by default, your hosting provider may not serve cached pages for logged-in members. So you shouldn't have to add all member content to the exception list, just pages that might show dynamic content to logged-out users. In general, you don't want to add an exception unless you notice an issue on that page.
Here is an example request you can send to your hosting provider to have the exceptions added. Make sure that you swap out these URLs for your actual URLs.
I am using the MemberMouse membership plugin on my site ([insert
your URL here]).
In order to properly process checkouts and display dynamic content, can you please add the following URLs to the exception list for the page cache?
Here are the caching exceptions required for MemberMouse:
- No full-page caching for logged-in users
- No full-page caching on any of the following pages:
- No caching of HTTP 301/302 Redirects
- No caching of any kind, except client-side static resource, for URLs containing wp-content/plugins/membermouse
- Be certain to exclude https://www.yoursite.com/wp-content/plugins/membermouse/api/processOrder.php
- Be certain to exclude https://www.yoursite.com/wp-content/plugins/membermouse/x.php?service=stripe (Note: this will differ based on which payment method you have integrated with. If you are using PayPal, this would be https://www.yoursite.com/wp-content/plugins/membermouse/x.php?service=paypal)