Redirecionamento infinito HTTPS no WordPress é uma falha de comunicação entre o servidor de origem e um serviço de proxy reverso (como Cloudflare), resultando no erro ERR_TOO_MANY_REDIRECTS. Para corrigir o loop de redirecionamento sem depender de plugins, siga estes passos:
- Acesse o painel do Cloudflare e altere o modo de criptografia SSL/TLS para "Completo" ou "Completo (Estrito)".
- Conecte-se ao seu servidor via FTP ou Gerenciador de Arquivos e localize o arquivo
wp-config.php. - Insira o código de reconhecimento do cabeçalho
HTTP_X_FORWARDED_PROTOno topo do arquivo. - Verifique se as constantes
WP_HOMEeWP_SITEURLutilizam o prefixo https:// no banco de dados. - Limpe o cache do Cloudflare (Purge Everything) e o cache do seu navegador.
Pré-requisitos
- Acesso administrativo ao painel da Cloudflare.
- Acesso aos arquivos do site via FTP, SFTP ou SSH (recomenda-se PHP 8.4+).
- Certificado SSL (mesmo que autoassinado) instalado no servidor de origem para modos "Completo".
- Backup atualizado do arquivo
wp-config.phpe do banco de dados MySQL 8.4+.
Diagnóstico do erro ERR_TOO_MANY_REDIRECTS no WordPress
O erro de redirecionamento infinito ocorre principalmente quando o WordPress não consegue identificar que a conexão entre o visitante e o Cloudflare já está protegida por SSL. No cenário de "SSL Flexível", o Cloudflare se comunica com o seu servidor na porta 80 (HTTP). O WordPress, configurado para forçar HTTPS, recebe a requisição em HTTP e envia um comando de redirecionamento de volta para o navegador. O navegador solicita a versão HTTPS ao Cloudflare, que por sua vez solicita novamente via HTTP ao servidor, criando um ciclo sem fim.
Para confirmar se este é o seu problema, você pode utilizar o terminal Linux com o comando curl para inspecionar os cabeçalhos de resposta. Se você ainda não sabe como redirecionar um site http para https de forma nativa, o diagnóstico via linha de comando é essencial para identificar onde o loop começa.
curl -I https://seudominio.com.br
Output esperado: Se houver um loop, você verá múltiplas respostas HTTP/1.1 301 Moved Permanently apontando repetidamente para a mesma URL HTTPS, indicando que o CMS está forçando um redirecionamento que o proxy não está processando corretamente como finalizado.
Edição do arquivo wp-config.php para reconhecimento de SSL
A solução técnica mais eficiente e performática é informar ao WordPress que ele deve considerar a conexão como segura sempre que o cabeçalho X-Forwarded-Proto for enviado pelo Cloudflare. Isso elimina a necessidade de plugins pesados que tentam forçar o SSL via PHP em tempo de execução, o que pode aumentar o TTFB do site.
Para realizar essa alteração, você pode usar o Filezilla como software FTP ou editar diretamente via terminal se estiver em um ambiente Nginx 1.28+. Localize o arquivo wp-config.php na raiz da sua instalação e adicione o seguinte bloco de código logo após a tag de abertura <?php:
/**
* Correção para Redirecionamento Infinito HTTPS atrás de Proxy Reverso (Cloudflare)
*/
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
Atenção: Este código deve ser inserido antes da linha require_once ABSPATH . 'wp-settings.php';. Ao definir $_SERVER['HTTPS'] = 'on', o WordPress entende que a requisição original foi feita via porta 443, interrompendo qualquer tentativa automática de redirecionamento 301 interno.
Ajuste de SSL Flexível vs Completo no Cloudflare
Outra causa comum do redirecionamento infinito é a configuração do modo de criptografia no painel da Cloudflare. O modo "Flexível" é frequentemente a origem do problema em servidores modernos. Para garantir a segurança máxima e evitar loops, o ideal é utilizar o modo Completo (Estrito). Este modo exige que o seu servidor de origem tenha um certificado SSL válido (pode ser o Let's Encrypt ou o Certificado de Origem da própria Cloudflare).
Ao ativar o modo Completo, o Cloudflare passará a se comunicar com o seu servidor na porta 443. Se o seu servidor Nginx ou Apache estiver configurado corretamente para responder em HTTPS, o WordPress receberá a requisição já criptografada, eliminando a discrepância de protocolos que gera o erro ERR_TOO_MANY_REDIRECTS. Certifique-se de que as regras de firewall no seu servidor permitem tráfego de entrada na porta 443 para os IPs da Cloudflare.
Verificação de URLs no banco de dados via phpMyAdmin
Se após as alterações no código o erro persistir, é provável que as URLs base do site no banco de dados ainda estejam apontando para http://. O WordPress armazena essas informações na tabela wp_options. Você deve garantir que tanto o siteurl quanto o home utilizem o protocolo seguro.
Acesse o seu banco de dados (MariaDB 11.8+ ou MySQL 8.4+) e execute a seguinte query para verificar os valores atuais:
SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');
Se os valores retornarem com http://, atualize-os imediatamente:
UPDATE wp_options SET option_value = 'https://seudominio.com.br' WHERE option_name IN ('siteurl', 'home');
Após a execução, limpe todos os caches de objeto (Redis/Memcached) e o cache de página para que as novas URLs sejam propagadas corretamente em todos os links internos do site.
Problemas comuns e como resolver
Sintoma: O site carrega, mas o CSS e as imagens estão quebrados
Causa: Isso é conhecido como "Mixed Content" (Conteúdo Misto). O HTML é carregado via HTTPS, mas os recursos estáticos ainda são chamados via HTTP.
Solução: No painel do Cloudflare, ative a opção "Automatic HTTPS Rewrites". No WordPress, certifique-se de que não há URLs "hardcoded" nos arquivos do tema apontando para HTTP.
Sintoma: Erro 521 Web Server is Down após mudar para SSL Completo
Causa: O Cloudflare tentou se conectar via porta 443, mas o seu servidor não tem um certificado SSL instalado ou a porta está fechada no firewall.
Solução: Instale um certificado Let's Encrypt no seu servidor ou gere um Certificado de Origem no Cloudflare e instale-o manualmente no Nginx/Apache.
Sintoma: O loop de redirecionamento ocorre apenas no wp-admin
Causa: A constante FORCE_SSL_ADMIN pode estar gerando conflito se o reconhecimento do proxy reverso não estiver funcionando.
Solução: Adicione define('FORCE_SSL_ADMIN', true); no wp-config.php logo abaixo do código de detecção do HTTP_X_FORWARDED_PROTO que inserimos anteriormente.
Perguntas frequentes sobre redirecionamento infinito HTTPS
Por que ocorre o erro de redirecionamento infinito com Cloudflare?
O erro geralmente acontece quando o Cloudflare está configurado no modo 'Flexível', enviando requisições via HTTP para o servidor de origem, enquanto o WordPress tenta forçar o HTTPS, criando um loop circular. A solução envolve sincronizar o modo de criptografia para 'Completo' ou informar ao WordPress que a conexão é segura via código.
Como corrigir o loop de redirecionamento sem acessar o painel do WordPress?
Você pode resolver o problema editando o arquivo wp-config.php via FTP ou Gerenciador de Arquivos. Adicione a instrução que reconhece o cabeçalho 'HTTP_X_FORWARDED_PROTO' enviado pelo Cloudflare, o que força o WordPress a entender que a conexão já está sob SSL.
Qual a diferença entre o SSL Flexível e o SSL Completo no Cloudflare?
O modo Flexível criptografa apenas o tráfego entre o visitante e o Cloudflare, enquanto a comunicação com o servidor de origem é feita via HTTP. O modo Completo exige que o servidor de origem também possua um certificado SSL, garantindo criptografia de ponta a ponta e evitando loops de redirecionamento comuns.
É necessário usar plugin para resolver o erro de HTTPS no Cloudflare?
Não, o uso de plugins para isso é desencorajado pois pode causar instabilidade se o plugin falhar. A correção via wp-config.php é mais leve, segura e definitiva, pois atua diretamente na camada de inicialização do CMS.
Conclusão
- Sempre prefira o modo SSL Completo ou Estrito no Cloudflare para garantir criptografia real de ponta a ponta.
- A edição manual do
wp-config.phpé a forma mais limpa de resolver conflitos de proxy reverso sem sobrecarregar o banco de dados. - Mantenha as URLs de
siteurlehomesempre atualizadas para HTTPS no banco de dados para evitar falhas de carregamento de assets.
Leia também
- Comparativo de cache no cPanel: acelerar WordPress sem quebrar SSL
- Entenda por que o WooCommerce fica lento e como corrigir
- Otimizar a Segurança do WordPress em Hospedagem Linux: Passos Práticos e Rápidos
Precisa de ajuda com Hospedagem?
Corrigir erros de infraestrutura exige um ambiente estável e suporte especializado. Nossos servidores são otimizados para WordPress com as versões mais recentes de PHP e Nginx.