À la connexion, WordPress dépose un cookie de test puis vérifie qu’il revient avec le formulaire. S’il ne le retrouve pas, il refuse d’ouvrir la session. Le navigateur est rarement le vrai coupable : le plus souvent, l’adresse du site ne correspond pas au domaine du cookie, un cache intercepte la page de connexion, ou du texte parasite part avant les en-têtes.
Pourquoi cette erreur apparaît
- Les adresses enregistrées dans WordPress diffèrent de celle utilisée (avec ou sans www, http ou https), si bien que le cookie est déposé pour un autre domaine.
- Une constante COOKIE_DOMAIN ou COOKIEPATH erronée subsiste dans wp-config.php, souvent après une migration.
- Un cache serveur ou un CDN conserve la page wp-login.php, ou retire les cookies de la réponse.
- Un fichier PHP envoie du texte avant les en-têtes (espace ou ligne vide avant <?php), ce qui produit la variante « retour inattendu ».
- Le navigateur ou une de ses extensions bloque réellement les cookies de ce site.
Comment corriger le problème
Tester avec un autre navigateur
Essayez une fenêtre de navigation privée ou un autre navigateur, puis supprimez les cookies de votre site dans le navigateur habituel. Si la connexion passe ailleurs, le blocage vient du navigateur ou d’une de ses extensions.
Utiliser la bonne adresse de connexion
Connectez-vous depuis l’adresse exacte du site, avec ou sans www et en https selon ce que l’hébergeur impose. Un favori qui pointe vers une ancienne variante de l’adresse suffit à provoquer l’erreur.
Inspecter wp-config.php et les adresses enregistrées
Cherchez dans wp-config.php une ligne COOKIE_DOMAIN, COOKIEPATH ou ADMIN_COOKIE_PATH : après une migration, elle désigne parfois l’ancien domaine. Contrôlez aussi les options siteurl et home, dans la table options ou avec WP-CLI.
wp option get siteurl
wp option get home
Exclure la connexion du cache
Dans l’extension de cache, chez l’hébergeur ou sur le CDN, vérifiez que wp-login.php et /wp-admin/ ne sont jamais mis en cache. Videz ensuite tous les caches avant de retenter la connexion.
Chasser la sortie inattendue
Pour la variante « retour inattendu », ouvrez wp-config.php et le fichier functions.php du thème : rien ne doit précéder <?php, pas même une ligne vide. Renommez ensuite le dossier des extensions pour voir si l’une d’elles écrit du texte trop tôt ; le journal de débogage signale alors « headers already sent ».
Gardez une copie de wp-config.php et de functions.php avant de les modifier : une erreur de syntaxe dans ces fichiers bloque tout le site.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur