You added shifts and the site still shows the old list. A shift filled up, but its page still offers spots. A volunteer submits the signup form and gets “Something went wrong — reload the page and try again.” All three have the same cause: a caching layer is showing visitors saved copies of your pages instead of fresh ones.
The fix: clear the cache, then exclude the signup pages
- Clear the cache once. Caching plugins add a “Clear cache” or “Purge” button to the admin toolbar or their settings screen; hosts with built-in caching have the same button in their dashboard. Your missing changes appear as soon as it clears.
- Stop it recurring: exclude the signup pages from the cache. The pages to exclude are the ones volunteers act on — whatever page holds your opportunities list or calendar (typically “Volunteer with us”), and the opportunity pages themselves, whose addresses start with
/opportunities/unless you changed the slug. - Add the exclusions wherever your cache is configured — see below for the common ones.
- WP Super Cache — Settings → WP Super Cache → Advanced → Rejected URL Strings: add each path, one per line (e.g.
/volunteer-with-us/and/opportunities/). - W3 Total Cache — Performance → Page Cache → Advanced → Never cache the following pages (e.g.
/volunteer-with-us/and/opportunities/*). - WP Rocket — Settings → WP Rocket → Advanced Rules → Never Cache URL(s) (e.g.
/volunteer-with-us/and/opportunities/(.*)). - LiteSpeed Cache — LiteSpeed Cache → Cache → Excludes → Do Not Cache URIs: add the paths.
- Host caching (WP Engine, Kinsta, SiteGround, Cloudways, …) — ask the host’s support to exclude your signup page and
/opportunities/*from page caching; most do it on request or expose the setting in their dashboard. - Cloudflare — nothing to do on a default setup, which does not cache pages. If you enabled “Cache Everything” or an APO HTML-caching rule, add a bypass rule for the same paths.
If you would rather keep those pages cached, set the cache lifetime to 12 hours or less instead. Excluding is the more robust choice — and the signup pages are the pages whose content changes most often anyway, so excluding them also keeps spots-remaining counts accurate.
What is happening behind the scenes
A page cache saves the finished HTML of a page and re-serves that copy to every visitor until it refreshes, so everything on the page — the shift list, the spots-remaining counts — is frozen at the moment it was saved. Signup forms add a sharper failure: the form carries a short-lived security token that expires after 12–24 hours, and a saved copy older than that hands every visitor a dead token. VolunteerPress defends itself by fetching a fresh token in the background when a visitor starts filling in the form, so signups survive most cached sites; the “Something went wrong” message appears when that defense is defeated — cache lifetimes beyond 12 hours, or caching rules that also intercept requests under /wp-json/, which no caching layer should ever touch. The signup is safely rejected rather than half-saved, but a volunteer who sees that message rarely tries again.