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.comwww.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_DOMAINCOOKIEPATH の定義 + ブラウザのCookieクリアで対応できます。URLの www あり・なしを必ず統一してください。

お気軽にご相談ください

お見積りへ お問い合わせへ