What actually goes wrong
Three failure modes, specific to this kind of site. Everything below is aimed at them.
Caching stops where members start
Most cache plugins simply bypass logged-in users, so the people paying you get the slowest version of the site.
Course and community pages hammer the database
Progress tracking, access checks, and activity feeds mean hundreds of queries per page — every page, every member.
Idle dashboards drain the server
The WordPress heartbeat polls constantly from every open tab. A few hundred members with the dashboard open is a constant background load.
How xSpeed Cache handles logged-in speed
Cache the public side fully, accelerate the member side properly, and control exactly where the line sits.
Redis / Memcached object cache
The workhorse for logged-in pages: repeated queries for access checks, course progress, and member data come from memory instead of the database.
Object cache setupCookie & URL cache exclusions
Draw a precise line between the cached public site and dynamic member areas — by login cookie, URL pattern, or both.
Exclusion rulesPer-post cache rules
Override caching per page: sales pages fully cached, the member dashboard never, a semi-private page with a custom TTL.
Per-post rulesREST API cache
LMS and community plugins lean on the REST API for feeds and progress data. Caching those responses removes a hidden source of load.
REST cache guideHeartbeat control
Slow or stop WordPress’s background polling where it isn’t needed — hundreds of idle member tabs stop taxing the server.
Heartbeat guideCustom cache rules
Full rule-level control for the odd cases every membership site has — bypass by user agent, query string, or your own logic.
Custom rules6 ways people put xSpeed to work
Each one shows when it applies and what to set up — or what to ask your AI for. Filter by role in the sidebar, or use the chips below.
Fix the 8pm course-area crawl
Every evening, every member hits the same lessons at once — and every page runs the same access checks against the database.
WHEN
Member pages degrade at predictable peak hours while the public site stays fine.
SETUP
Connect Redis or Memcached; repeated access and progress queries come from memory, and peak hour stops stacking up.
Keep the sales side instant
The pages that sell the course deserve full static speed — being a membership site is no excuse.
WHEN
Landing, pricing, and curriculum pages are public.
SETUP
Full-page cache for everything outside the login; cookie-based exclusions draw the exact line where members begin.
Stop the feed from hammering the API
Activity feeds and progress widgets poll the REST API constantly — invisible load that scales with logged-in users.
WHEN
Server load is high even when page views look modest.
SETUP
REST API cache serves those repeated plugin requests from cache instead of rebuilding them per poll.
Quiet a thousand idle tabs
Members leave the dashboard open all day; WordPress’s heartbeat polls from every tab, forever.
WHEN
Concurrent logged-in sessions are high relative to actual activity.
SETUP
Heartbeat control slows or stops background polling where it is not needed — idle tabs stop taxing the server.
Cache the odd pages correctly
Every membership site has them: the semi-private page, the affiliate link with a query string, the page that must never cache.
WHEN
The default rules almost fit, but not quite.
SETUP
Per-post cache rules and custom rules override behavior page by page — fully cached, never cached, or a custom TTL.
Prove no member ever sees another’s page
One cached “My Account” page served to the wrong person is a trust catastrophe.
WHEN
Before launch, and any time caching config changes.
SETUP
Cookie-based exclusions keep personalised pages out of the page cache by design; the object cache stores query results, never rendered personal pages.
No scenarios under that role yet — pick “All” to see every one.
The exact prompts to use
Connect via xSpeed MCP or the Hub, then paste any of these into Claude or ChatGPT.
The logged-in speed fix
My members say the site is slow after login. Using xSpeed, connect and test the Redis or Memcached object cache, enable REST API caching, and set heartbeat control to a sane interval. Show me the queries-per-page before and after.
Draw the caching line
Using xSpeed, fully cache my public pages, exclude everything behind login by cookie, and set per-post rules so the sales and curriculum pages are cached but the member dashboard never is. List the exclusion rules you applied so I can review them.
The peak-hours check
Using xSpeed, check my current cache hit rate and object cache status, and tell me whether the site is ready for 500 members online at once — and if not, exactly what to change.
Or just ask your AI
Every xSpeed Cache install speaks MCP. Connect Claude or ChatGPT once — directly or through xSpeed Hub — and everything on this page becomes something you ask for instead of something you configure.
you › Members say the course area crawls at peak hours. Public site is fine.
xspeed · get_object_cache_status → not connected
xspeed · object cache → Redis connected
xspeed · rest api cache on · heartbeat 60s
xspeed · test_object_cache → queries 128 → 3
Done — member pages pull from memory now; peak hours won’t stack up.
See the story for your business
Each one is a real scenario — the moment speed bites, the fix, and the exact prompt to hand your AI.
Online course creators
Launch day fills the classroom. Keep the lights on.
Read the storyCommunities & forums
A busy community is the goal — and the load.
Read the storyRecruitment & staffing
Filtered job searches are the query that hurts the most.
Read the storyJob boards & directories
A directory is a search engine wearing a theme.
Read the storyFrequently asked questions
Keep reading
← Previous playbook
Elementor & page builders
Remove unused CSS, inline the critical styles, delay the scripts — same design, a fraction of the weight, zero broken sliders.
Next playbook →
AI & agents
Every install speaks MCP. Connect Claude or ChatGPT, say "make it fast", and watch real settings change until the score says 100.