2026年5月20日
2026年5月20日
WordPressの「Cookieが使えません」エラーでログインできない場合の解決方法
はじめに
「Cookieが使えません。有効にするか確認してください。」というエラーは、WordPressがログイン認証に使うCookieを正しく設定できない場合に発生します。ブラウザのCookie設定ではなく、WordPressやサーバー側の設定が原因であることがほとんどです。
主な原因
1. COOKIE_DOMAIN の設定ミス(wwwあり・なしの不一致)
2. サイトURL変更後のCookieパスのズレ
3. ブラウザがサードパーティCookieをブロックしている
4. HTTPとHTTPSの混在
5. リバースプロキシ・CDNによるヘッダー書き換え
解決手順
ステップ1:ブラウザのCookieをクリアして再試行
Chrome: 設定 → プライバシー → Cookieとサイトデータ → すべてのCookieとサイトデータを削除
別のブラウザ(Firefox・Safari等)やシークレットモードでも試します。
ステップ2:wp-config.phpでCookieドメインを明示
// wp-config.php に追加(www なしの場合)
define('COOKIE_DOMAIN', 'example.com');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
重要: example.com と www.example.com は別のCookieドメインとして扱われます。サイトのURLと一致させてください。
ステップ3:HTTPS環境での設定
// HTTPSサイトでCookieをセキュアに
define('FORCE_SSL_ADMIN', true);
// wp-config.php の wp-settings.php include より上に追加
if (!isset($_COOKIE[LOGGED_IN_COOKIE])) {
define('COOKIE_DOMAIN', false); // 自動検出
}
ステップ4:WordPressのサイトURLとホームURLを確認
# URLを確認
wp option get siteurl
wp option get home
# 必要に応じて修正
wp option update siteurl 'https://example.com'
wp option update home 'https://example.com'
ステップ5:セキュリティキーを再生成
# 全セッションを強制ログアウト → 新しいCookieで再認証
wp config shuffle-salts
ステップ6:プラグイン・キャッシュの干渉
# キャッシュをクリア
wp cache flush
wp transient delete --expired
# プラグインを無効化して確認
wp plugin deactivate --all
phpMyAdminでの確認
-- wp_options の siteurl と home を確認
SELECT option_name, option_value
FROM wp_options
WHERE option_name IN ('siteurl', 'home', 'blogname');
注意事項
define('COOKIE_DOMAIN', false)を設定すると WordPressが自動でCookieドメインを判定します- CDN・リバースプロキシ環境では
$_SERVER['HTTP_HOST']が正しく渡されているか確認してください - ステージング環境では本番と異なるドメインのCookieが残ることがあります
まとめ
Cookieエラーの解決は COOKIE_DOMAIN と COOKIEPATH の定義 + ブラウザのCookieクリアで対応できます。URLの www あり・なしを必ず統一してください。