Problem × WordPress
WordPress keeps logging you out
the session-expired loop
Why it happens
Cookie domain mismatch. WordPress sets an auth cookie for the exact domain it is served from. The classic trap: logging in at example.com and browsing at www.example.com, or after a site move where the siteurl still carries the old domain. Every navigation that crosses the mismatch looks logged out.
Auth cookie collision. Multiple WordPress installs on the same host sharing cookie domains (staging and production at neighbouring paths) overwrite each other’s cookies: logging into staging logs you out of production.
Server clock drift. Auth cookies carry issue timestamps; a host whose clock is minutes behind validates cookies as “not yet issued” and bounces you.
Overzealous security plugins. A login-hardening plugin with very short idle timeouts, or one revoking sessions on every plugin update.
Triage
Log in via ONE consistent address (decide www or non-www, bookmark it). Settings > General: both URLs must match reality, and your browser must agree (check the address bar after login). Still looping? Clear cookies for the domain completely, re-login. Multiple installs? Set a distinct cookie domain in each wp-config (COOKIE_DOMAIN or unique COOKIEHASH). Security plugin active? Check its session-timeout setting before assuming ghosts.
When to bring us in
If this started after a migration or hosting change, or the whole team is locked out daily, it is a config defect, not an annoyance: twenty minutes of emergency support fixes the domain/cookie setup properly and documents it.
Keep exploring