View Categories

WordPress 明明登入了卻被當成未登入:快取、驗證碼與登入迴圈

1 分鐘閱讀

快速答案:「登入了又被要求登入」「按登入沒反應」「後台變 404」多半跟帳號密碼無關,是三類東西擋在中間:快取把未登入的頁面給了登入者、驗證碼(reCAPTCHA、Turnstile)或資安外掛擋住登入請求、登入網址與 cookie 的網域對不上。先用無痕視窗直接走 /wp-login.php 重測,再逐項排除。

為什麼會這樣 #

頁面快取外掛或 Cloudflare 把「未登入」版本的頁面存起來,登入者看到的就是那一份。於是出現「我是 VIP,點 VIP 專區卻跳到升級頁」「已登入卻還顯示登入按鈕」。多數快取外掛會排除登入者,但 Cloudflare 的快取規則、CDN 或主機層快取不一定。

網址與 cookie 也常出問題。網站網址設定是沒有 www,客人從 www 進來,登入 cookie 種在不同主機名,跳頁後就掉了;http 與 https 混用也一樣。驗證碼方面,登入或結帳頁加了 Turnstile、reCAPTCHA,金鑰綁的網域不含目前網址、或前端 JS 被其他外掛擋住,就會一直驗證失敗;有些客人被要求連過好幾輪圖片驗證,是分數門檻設太嚴。

資安外掛則有三種:改了登入網址(原本的 wp-login.php 變 404)、限制登入次數把辦公室 IP 鎖住、或啟用「限制同時工作階段」讓另一台裝置把你踢出去。LMS 與會員外掛也可能有自己的登入限制。最後是主題或外掛更新後,登入彈窗的 JS 壞掉,按了沒有任何反應。

怎麼處理 #

  1. 無痕視窗直接用 /wp-login.php 登入:成功,問題在快取或前端;失敗,看錯誤訊息是驗證碼、鎖定還是帳密。
  2. 快取:清全站快取;確認快取外掛「不快取登入使用者」有開;Cloudflare 若有整站 cache everything 的規則,要對帶登入 cookie 的請求 bypass。
  3. 設定 → 一般,WordPress 網址與網站網址要跟實際使用的一致(www 與否、https),並做 301 轉址。
  4. 驗證碼:到 Turnstile 或 reCAPTCHA 後台確認網域清單;先暫時關掉驗證試登入,能登就是它。
  5. 登入頁 404:看資安外掛有沒有改登入網址、.htaccess 有沒有被改;IP 被鎖從外掛後台解鎖。
  6. 登入按鈕沒反應:瀏覽器開發者工具看主控台錯誤,通常是最近更新的外掛或主題,先回退那個更新。
  7. 確定已登入但會員專區進不去,那是角色或方案沒對上,見會員角色那篇

我們實際遇過的情況 #

一個課程平台的客人「明明已登入,點加入會員卻跳到登入頁」,是該頁被 CDN 快取,排除後正常。一家電商裝了 Turnstile 之後,有客人結帳時無法登入;暫時關掉驗證確認是它,再重新設定金鑰的網域清單。

一家客戶的手機版登入按鈕點了沒反應,是主題與登入彈窗外掛的相容問題,主題更新後修好。一個形象站的後台突然 404,是資安外掛改了登入網址而沒人記得新網址。

什麼時候該找人 #

連管理員都進不了後台、或懷疑被鎖與被入侵(密碼突然不對、管理員信箱被改),不要一直重試,會把 IP 鎖得更久,從主機端處理比較快。快取與 CDN 的設定改錯會影響全站,交給維護的人處理。

常見問題 #

我是 VIP 卻一直看到升級頁,是角色錯了嗎? #

先清快取並用無痕視窗重看,頁面被 CDN 快取成未登入版本很常見;仍不對再查角色與方案。

後台登入頁突然變成 404? #

多半是資安外掛改了登入網址、或 .htaccess 被改;找出新網址或從主機端還原。

裝了 Turnstile 之後客人無法登入或結帳? #

先暫時關掉驗證確認是它,再到 Turnstile 後台檢查金鑰綁的網域清單。

網站正在出這個問題?網站救援當日受理;想有人每月幫你顧著:網站守護方案。先看體質:免費健檢