WooCommerce products not displaying due to caching issues (and how to fix it)

When a WooCommerce store suddenly stops displaying products—especially on a key shop or store page—it can feel like a critical failure. In this case, the issue was recurring and directly impacting the ability to sell products.

The root cause turned out to be a caching conflict. Once cache was cleared and the page was excluded from caching, the store functionality immediately returned to normal.

If you’re experiencing a similar issue, this guide walks through how to diagnose and fix it.

Issue background

A WooCommerce store page was intermittently failing to display any products. Instead of showing available items, the page would load without product listings.

Key symptoms included:

  • Products not appearing on the shop/store page
  • Issue recurring over time
  • No obvious frontend errors
  • Urgency due to lost sales functionality

This type of issue is especially common on dynamic pages that rely on:

  • Cookies (e.g., location-based logic)
  • JavaScript rendering
  • User session data

Diagnosis

Initial investigation did not reveal any obvious plugin or theme errors. There were no clear PHP errors or fatal issues tied to WooCommerce itself.

However, one important clue stood out:

  • Clearing the cache immediately restored product visibility

This pointed to a caching conflict—specifically:

  • Cached versions of the store page were being served instead of dynamically generated content
  • JavaScript or cookie-based logic (such as location detection) was being disrupted by caching

This is a known issue with performance plugins like:

  • WP Rocket
  • Server-level caching (such as WP Cloud infrastructure)
  • CDN caching layers (e.g., Cloudflare)

Dynamic WooCommerce pages (shop, cart, checkout) should generally not be aggressively cached.

Resolution steps

1. Clear all layers of cache

Start by clearing all caching systems in place:

  • WordPress caching plugin (e.g., WP Rocket)
  • Server cache (via hosting dashboard)
  • CDN cache (if applicable)

This confirms whether caching is the root cause.

2. Identify dynamic pages that should not be cached

Common WooCommerce pages to exclude:

  • Shop / Store page
  • Cart page
  • Checkout page
  • My Account page

Any page using:

  • Session data
  • Cookies
  • Dynamic product queries

3. Exclude the affected page from caching (WP Rocket example)

If using WP Rocket, follow these steps:

  1. Go to Settings → WP Rocket → Advanced Rules
  2. Locate “Never Cache URL(s)”
  3. Add the store page URL, for example:
/store/
  1. Save changes
  2. Clear cache again

4. Exclude from server-level caching (if applicable)

If your host uses server-side caching (such as WP Cloud infrastructure):

  • Add a cache exclusion rule for the same URL
  • This ensures the page is always dynamically generated

5. Test functionality after exclusion

After excluding the page:

  • Reload the store page in an incognito window
  • Verify products consistently display
  • Test across devices (desktop/mobile)

Final outcome

Once caching was cleared and the store page was excluded from caching:

  • Products displayed immediately and consistently
  • No further errors were observed
  • The issue was resolved without modifying WooCommerce or theme files

Excluding the page ensures:

  • The server always delivers a fresh, dynamic version
  • JavaScript and cookie-based logic function correctly
  • Recurring cache-related breakages are prevented

Because the store page had a relatively small number of products, the performance impact of disabling caching was negligible.

Key Takeaway

If your WooCommerce products are not displaying:

  • Don’t assume it’s a plugin or data issue right away
  • Check caching first

Caching is one of the most common causes of:

  • Missing products
  • Broken layouts
  • Inconsistent frontend behavior

If you’re running into similar WooCommerce or caching issues and want expert help diagnosing and resolving them, reach out to our team here:
Contact Freshy