Stale Content / Cache Issues #
If you’ve changed a PetMatchPro setting, updated a shortcode, or uploaded a new plugin version but don’t see the changes on your site, caching is likely the cause.
I Changed a Setting But Nothing Happened #
Follow these steps in order until the change appears:
Step 1: Hard Refresh Your Browser #
- Windows: Press Ctrl+Shift+R
- Mac: Press Cmd+Shift+R
This forces your browser to reload the page without using its local cache.
Step 2: Try Incognito/Private Mode #
Open the page in a private or incognito browser window. If the change appears here but not in your regular browser, it’s a browser cache issue — clearing your browser cache will fix it.
Step 3: Clear WordPress Cache Plugin #
If you use a caching plugin (WP Super Cache, W3 Total Cache, WP Rocket, etc.):
- Go to the caching plugin’s settings.
- Click Purge All Cache or Clear Cache.
- Refresh your page.
Step 4: Clear LiteSpeed Cache #
If your host uses LiteSpeed:
- Go to LiteSpeed Cache > Toolbox in your WordPress admin.
- Click Purge All.
- Refresh your page.
Step 5: Clear OPcache #
OPcache stores compiled PHP files. After a plugin update or settings change, stale compiled files may persist.
- Check your hosting control panel for an OPcache or PHP cache option
- Contact your host and ask them to clear OPcache or restart PHP-FPM
Step 6: Clear CDN Cache #
If you use a CDN (Cloudflare, StackPath, etc.):
- Log into your CDN dashboard.
- Purge the cache for your site (or specifically for the affected page URLs).
- Wait 1–2 minutes for the purge to propagate.
- Refresh your page.
Animal Data Is Slightly Out of Date #
This is different from the steps above, which deal with WordPress, server, and browser caches. PetMatchPro also caches the animal data it fetches from your shelter system in its own database table, and a short delay before brand-new data appears is normal and by design.
As of version 8.16, the API cache works in two stages based on the Cache TTL you configure in General Options:
- Fresh window — for the length of the TTL, visitors are served the cached copy instantly.
- Stale-while-revalidate — for a short window after the TTL expires, visitors still get an instant (slightly older) copy while the next request quietly refreshes the data in the background. This keeps pages fast, so no single visitor has to wait on a live API call just because the cache expired — the trade-off is that a just-added or just-edited animal can take up to the TTL (plus that short stale window) to appear.
If you need fresh data immediately (for example after a large intake or a data correction):
- Clear the API cache in Tools > Cache Management. The next page load fetches fresh data and re-caches it.
- To check a single page without disturbing the cache, add
?pmp_nocache=1to the page URL — that request bypasses the cache entirely. - Lower your Cache TTL if your inventory changes very frequently, or raise it for slower-moving data. See Optimizing Performance with API Caching for recommended values.
Preventing Cache Issues #
Exclude Dynamic Pages #
PetMatchPro search pages with filters and detail pages display dynamic, per-request content. Consider excluding these pages from full-page caching:
- Add your search page URL to your caching plugin’s “Do Not Cache” list
- Add your detail page URL to the exclusion list
- Keep caching enabled for static pages (homepage, about, etc.)
Configure Cache Expiration #
If you prefer to keep PetMatchPro pages cached, set a short cache TTL (e.g., 5–15 minutes) so visitors see reasonably fresh animal data without excessive API calls.
After Plugin Updates #
When you upload a new version of PetMatchPro:
- Clear OPcache (Step 5 above)
- Clear your WordPress caching plugin cache (Step 3)
- Clear CDN cache if applicable (Step 6)
- Hard refresh in your browser (Step 1)
This ensures all layers of caching serve the updated files.
Next Steps #
- Performance & Caching — Optimize caching for PetMatchPro
- Animals Not Displaying — Full debug checklist