LifterLMS FAQs on Caching and Password Reset
Caching improves performance by storing static versions of your pages. This works well for most websites, but it can break key parts of a learning management system.
LifterLMS relies on dynamic, user-specific data. Each student sees their own progress, enrolments, and account details. If these pages are cached, users may see outdated or incorrect information, such as another student’s progress or an incomplete checkout state.
To prevent this, you must configure your caching system to exclude any pages that display or process personal student data. This ensures that critical LMS functionality remains accurate and reliable for every user.
Troubleshooting in LifterLMS
If you are having issues with:
- Your password reset screens
- New students are being shown an invalid username/password combination
- Students who are enrolled are being shown the sales page for a course/membership
You may be experiencing caching issues on your site.
You should always exclude these specific pages from any caching plugin or service:
- The Student Dashboard page.
- The Checkout or Purchase page.
These exclusions should apply to the main page and to any related URLs (e.g., subpages or query parameters used during checkout or account actions).
The example below uses Cloudflare, but the same approach applies to any caching tool or CDN. Identify the page URLs and set them to bypass caching.
Follow these steps to ensure Cloudflare doesn’t cache your dynamic student pages:
- Log in to your Cloudflare account and select your domain.
- Navigate to Caching > Cache Rules in the left-hand sidebar.
- Click the Create Cache Rule button.

- Enter a name in the “Rule name” field, such as “Exclude LifterLMS Dashboard.”
- Under the “When incoming requests match” section, click the “Field” dropdown and select “URI Path”.
- Click the “Operator” dropdown and select “starts with”.
- In the “Value” field, type the URL slug of your dashboard page. It should look like this: /dashboard
- Scroll down to the “Cache eligibility” section and select the Bypass cache option.
- Click the Deploy button at the bottom of the page.
This ensures that Cloudflare ignores the main dashboard page and any subpages, such as individual course views or edit profile screens. You should repeat these steps for your checkout page URL as well.
Troubleshooting Caching Issues
If a student reports that they can’t log in or their course progress is not updating, you may need to clear your various caches.
- Navigate to the settings of your WordPress caching plugin (such as WP Rocket or W3 Total Cache) and click the Clear Cache button.
- Log in to your hosting provider dashboard and look for a “Clear Server Cache” or “Flush Cache” button.
- Log in to Cloudflare and navigate to Caching > Configuration.
- Find the “Purge Cache” section and click the Purge Everything button.
- Ask the student to open your website in an “Incognito” or “Private” browser window to see if the problem is resolved.

By excluding your core LifterLMS pages from the cache, you ensure that students always see their own current progress and account information. For more detailed information on WordPress caching, you can refer to the Cloudflare WordPress documentation.
If you’re running any of these plugins:
- W3 Total Cache
- WP Rocket
- WP Fastest Cache
- SG Optimizer
- Jetpack
- (or any other caching plugin you’ve installed)
Or if you are using something like Cloudflare, WP Engine, or GoDaddy, the first step in determining whether you are experiencing a caching issue is to turn off the plugin or disable the caching settings in your site host.
If turning off the caching system fixes the issue, you can simply leave it off or remove the plugin.
However, if you have a caching plugin like WP Rocket or W3 Total Cache, you can disable caching for all logged-in users.
In WP Rocket, this can be done under Cache Settings > User Cache.
In W3 Total Cache, this can be done by going to Performance > Page Cache and selecting “Don’t cache pages for logged-in users.“
For Cloudflare, you may wish to refer to their documentation on customizing the cache.
If your password reset screen never displays a confirmation message after entering an email address, you’re likely encountering a caching issue and should add the page to your cache exclusions.
If newly created students are unable to log in or are shown an invalid username/password error, it’s likely that your server has database or object caching enabled. Disabling these caches should resolve the issue.
There may be a time when you’ve cleared your site’s cache or turned off your caching plugin, but your student is still experiencing the issue!
This is because web browsers are designed to download pages to each individual computer’s cache. As a result, users may need to clear their cache themselves.
A fast, easy way for users to do this is to force a refresh. This is done by pressing Ctrl+F5 on Windows or Command+R on Mac.
For other methods of clearing browser cache, see: Refresh your cache
If you are using WooCommerce on your WordPress site, we recommend that you also follow their cache exclusion instructions. In summary, you need to exclude the following from being cached:
- The WooCommerce Cart page.
- The WooCommerce My Account page.
- The WooCommerce Checkout page.
- The WooCommerce
_wc_session_session. - All of these WooCommerce cookies:
woocommerce_cart_hash,woocommerce_items_in_cart,wp_woocommerce_session_,woocommerce_recently_viewed,store_notice.
When you sell your LifterLMS courses and memberships using WooCommerce, the links attached to the enrollment buttons of your pricing tables just become the link of the current page being viewed, with the text ?add-to-cart= added to the end.
This text ?add-to-cart= added to the end of the URL is then followed by the post ID of the WooCommerce product linked to the course/membership being added to the cart. For example, if the post ID of the WooCommerce product is 100, then the text added at the end of the URL will be ?add-to-cart=100.
Visiting any URL with ?add-to-cart=100 attached to the end of the URL will add the WooCommerce product (with post ID of 100) to the WooCommerce cart.
This ?add-to-cart= must be excluded from caching as well, as instructed in this WooCommerce help document.
Watch this training webinar we hosted with the experts at WP Rocket to learn how to manage caching on your WordPress site.


