Como corrigir o erro «Cookies are blocked or not supported by your browser»

Solução rápida: Este erro significa que o WordPress não consegue definir um cookie de login. Abra o wp-config.php e remova (ou corrija) quaisquer constantes COOKIE_DOMAIN e COOKIEPATH. Se isso não resolver o problema, o método com o functions.php abaixo redefine diretamente o caminho do cookie.

Está a ver a mensagem "Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress" quando tenta fazer login? Este artigo apresenta as duas soluções mais fiáveis e explica o que experimentar quando nenhuma delas funciona.

Diagnostique primeiro — escolha a solução que corresponde à sua situação:

Sintoma Causa mais provável Comece por
O erro aparece apenas no seu site de staging Constante COOKIE_DOMAIN remanescente de uma migração Método 1 (correção no wp-config.php)
O erro aparece no modo privado/anónimo Cookies desativados para essa sessão do navegador Mude para uma janela normal do navegador
O erro apareceu depois de mudar para um novo hosting Cookies antigos do navegador entram em conflito com o novo servidor Limpe os cookies do navegador e tente novamente
O erro aparece também no site em produção Interferência de plugin de segurança ou cache Desative temporariamente os plugins; depois experimente o Método 1
Nenhuma das soluções abaixo o resolve Incompatibilidade de SSL ou política de cookies de terceiros Veja a secção "O que fazer se nenhuma solução funcionar"
Mensagem de erro: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress
Esta imagem mostra o erro: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.

Causas do erro: «Cookies are blocked or not supported by your browser»

Ao contrário do que a mensagem de erro indica, a causa raiz raramente é uma definição do navegador. A mensagem aparece porque o WordPress não consegue escrever o seu cookie de autenticação — na maioria das vezes porque uma constante no wp-config.php aponta para o domínio errado, ou porque um plugin está a interferir com a gestão de cookies.

Nos tickets de suporte da WP STAGING, o motivo mais comum é uma constante COOKIE_DOMAIN remanescente de uma migração anterior que já não corresponde ao domínio atual do site.

Por vezes, o erro desaparece simplesmente atualizando o navegador. Se não desaparecer, percorra as soluções abaixo.

Erro de login do WordPress causado por plugin de segurança ou cache

Os plugins de segurança ou cache podem interferir com a gestão de cookies e de login do WordPress, impedindo que o cookie de login seja gerado corretamente. Para isolar a causa, desative temporariamente o plugin de segurança ou cache renomeando a sua pasta via FTP ou através de um gestor de ficheiros: renomeie /wp-content/plugins/plugin-name para outra coisa e tente fazer login.

Se isto resolver o problema, reinstale o plugin e contacte os seus programadores sobre o conflito de cookies.

Erro «WordPress not supported cookies» depois de alterar o servidor ou fornecedor de hosting

Se migrar o seu site WordPress para outro servidor mantendo o mesmo domínio, os cookies armazenados no seu navegador podem entrar em conflito com a sessão do novo servidor. Elimine todos os cookies do navegador e tente fazer login novamente.

Porque é que os cookies falham com especial frequência em sites de staging

Os sites de staging alojados num subdiretório (por exemplo, oseusite.com/staging/) partilham o domínio principal com o site em produção. O WordPress define o seu cookie de autenticação usando as constantes COOKIE_DOMAIN e COOKIEPATH. Se qualquer uma destas constantes no wp-config.php ainda apontar para a raiz do site em produção ou para o domínio de um hosting anterior, o site de staging não consegue escrever o seu cookie de login.

Este é o cenário que os utilizadores da WP STAGING encontram com mais frequência: depois de enviar um site de staging de volta para produção, a antiga constante COOKIE_DOMAIN permanece no wp-config.php da cópia de staging. A solução no Método 1 abaixo corrige isto numa única linha.

Corrigir o erro «Cookies Blocked» editando o ficheiro wp-config.php

Esta é a solução mais fiável para ambientes de staging e configurações pós-migração. Abra o wp-config.php na pasta raiz do seu site — acessível via FTP (por exemplo, o FileZilla) ou através do gestor de ficheiros do seu hosting.

Procure qualquer linha que defina COOKIE_DOMAIN ou COOKIEPATH. Se encontrar uma, remova-a ou substitua-a pela linha abaixo. Cole-a logo acima do comentário que diz /* That's all, stop editing! Happy publishing. */:

PHP
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );

Guarde o ficheiro, limpe os cookies do navegador e recarregue a página de login.

O que esta linha faz: Ao usar $_SERVER['HTTP_HOST'], a constante COOKIE_DOMAIN passa a resolver para o domínio em que o site está a ser executado de momento, em vez de um valor fixo de um hosting ou migração anterior. Isto elimina a incompatibilidade entre o cookie armazenado e o domínio atual.

Corrigir o erro «Cookies are blocked or not Supported» editando o ficheiro functions.php

Se a correção no wp-config.php não resolveu o problema, esta alternativa redefine o caminho do cookie ao nível do WordPress. Pelos nossos testes, esta abordagem resolve os casos em que o SITECOOKIEPATH e o COOKIEPATH divergiram — uma origem menos comum, mas persistente, do erro.

Passo 1: Abra e edite o ficheiro functions.php

Aceda ao functions.php do seu tema através do gestor de ficheiros do cPanel ou por FTP. O ficheiro está em wp-content/themes/your-theme-name/functions.php.

Passo 2: Adicione código ao ficheiro functions.php

Copie o código abaixo e cole-o no final do functions.php:

PHP
if ( SITECOOKIEPATH != COOKIEPATH ) {
    setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
}

Passo 3: Guarde o ficheiro

Guarde o ficheiro e volte a carregá-lo para o seu servidor, se o editou localmente. O erro já não deverá aparecer quando fizer login.

O que fazer se nenhuma solução funcionar

Se ambos os métodos acima não tiverem qualquer efeito, a causa é provavelmente uma das seguintes:

O navegador bloqueia todos os cookies globalmente. Abra as definições de privacidade do seu navegador e confirme que os cookies estão ativados. No Chrome: Definições → Privacidade e segurança → Cookies e outros dados de sites → «Permitir todos os cookies». No Firefox: Definições → Privacidade e segurança → Personalizado → desmarque «Cookies». No Safari: Preferências → Privacidade → desmarque «Bloquear todos os cookies».

Restrições de cookies de terceiros nos navegadores modernos. O Chrome, o Firefox e o Safari restringem os cookies de terceiros por predefinição. Se o ponto de login do seu WordPress for servido a partir de um subdomínio diferente do site principal — algo comum em configurações de staging — o navegador pode bloquear o cookie. A correção de COOKIE_DOMAIN no Método 1 resolve isto na maioria das instalações de staging em subdiretório.

Incompatibilidade do domínio do cookie em staging num subdiretório. Se o seu site de staging estiver em oseusite.com/staging/ e COOKIE_DOMAIN estiver definido como oseusite.com sem o caminho do subdiretório, o WordPress não consegue corresponder o cookie. Adicione define('COOKIEPATH', '/staging/'); ao wp-config.php, juntamente com a correção de COOKIE_DOMAIN.

Configuração incorreta de SSL/HTTPS. Se o seu site tiver um certificado SSL mas o WordPress ainda estiver configurado para usar http:// em siteurl ou home (em wp_options), o requisito de cookie seguro do navegador pode rejeitar o cookie de autenticação. Confirme que ambos os valores em wp-admin → Definições → Gerais usam https://.

Verificar a correção: o que deve ver depois de limpar os cookies e fazer login

Depois de aplicar qualquer um dos métodos:

  1. Limpe todos os cookies do domínio do seu site no navegador.
  2. Abra um novo separador do navegador e navegue até à página de login do seu WordPress.
  3. Introduza as suas credenciais. Se a correção tiver funcionado, chegará ao painel sem ver o erro de cookies.
  4. Teste também numa janela anónima ou privada — isto exclui qualquer estado de cookie em cache da sua sessão principal.

Se o erro voltar a aparecer apenas no modo privado, é provável que uma extensão do navegador (como um bloqueador de anúncios ou uma ferramenta de privacidade) esteja a intercetar o cookie. Experimente desativar as extensões uma a uma para identificar o conflito.


Procura o plugin de backup, migração e staging mais confiável para WordPress? Experimente o WP STAGING.

Artigos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre o autor: René Hermenau é o fundador do WP STAGING. Ele trabalha com backups do WordPress, ambientes de staging, migrações, gestão de bases de dados e fluxos de implantação seguros.