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:
- Go to Settings → WP Rocket → Advanced Rules
- Locate “Never Cache URL(s)”
- Add the store page URL, for example:
/store/
- Save changes
- 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