WordPress redirecionando para outro site: causas e como resolver
Seu WordPress redireciona visitantes para outro site? Veja as causas mais comuns, como diagnosticar e o passo a passo para resolver sem ser reinfectado.
- guia
- malware
Seu site abre normal para você, mas clientes reclamam que são jogados para um site de golpe, cassino ou propaganda. Esse é um dos sinais mais comuns de WordPress hackeado. Aqui estão as causas mais comuns e como investigar cada uma.
Por que só alguns visitantes são redirecionados
O código malicioso costuma ser seletivo de propósito. Ele só redireciona quem chega pelo Google, quem usa o celular ou quem não está logado, justamente para o dono do site não perceber. Por isso, teste assim:
# Simula um visitante de celular vindo do Google e mostra os redirecionamentos
curl -sIL \
-A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" \
-e "https://www.google.com/" \
https://seudominio.com.br
Se a resposta mostrar um Location: para outro domínio, o redirecionamento acontece no servidor. Se a resposta for normal mas o navegador redireciona, o código está em JavaScript.
As causas mais comuns
1. JavaScript injetado em arquivos do tema
Uma linha de <script> adicionada em header.php, footer.php ou functions.php do tema. Abra esses arquivos e procure código que você não reconhece, principalmente trechos longos e ilegíveis (ofuscados) ou chamadas para domínios estranhos.
2. Código injetado no banco de dados
Scripts colocados no conteúdo de posts, widgets ou em opções do site. Com o WP-CLI:
# Opções com script embutido
wp db query "SELECT option_id, option_name FROM $(wp db prefix)options WHERE option_value LIKE '%<script%';"
# Posts e páginas com script embutido
wp db query "SELECT ID, post_title FROM $(wp db prefix)posts WHERE post_content LIKE '%<script%';"
Nem todo <script> é malicioso (rastreadores legítimos também aparecem). Analise cada resultado.
3. Regras no .htaccess
O arquivo .htaccess na raiz pode ter regras RewriteRule ou RewriteCond mandando visitantes para outro domínio. Um .htaccess padrão do WordPress (site único) é assim:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Qualquer coisa além disso (e além de regras que você mesmo configurou) merece atenção.
4. Endereço do site alterado
Confira se siteurl e home continuam corretos:
wp option get siteurl
wp option get home
5. Plugin malicioso ou pirata
Plugins “nulled” (versões piratas de plugins pagos) frequentemente trazem código malicioso. Plugins vulneráveis e desatualizados também podem ser usados para injetar redirecionamentos. Liste o que está instalado e remova o que você não usa ou não reconhece:
wp plugin list
ls -la wp-content/mu-plugins
A pasta mu-plugins carrega plugins automaticamente, sem aparecer na lista normal do painel, e é um esconderijo recorrente.
6. Backdoor reinfectando o site
Se você limpa e o redirecionamento volta em horas ou dias, existe um backdoor em algum lugar (um arquivo escondido, uma tarefa agendada no WordPress ou um usuário administrador). Veja o passo a passo completo de remoção de malware.
O que fazer, em ordem
- Faça um backup do estado atual (arquivos e banco).
- Troque as senhas do WordPress, da hospedagem, do FTP/SFTP e do banco de dados.
- Reinstale o núcleo do WordPress e os plugins a partir de fontes oficiais.
- Verifique
.htaccess,wp-config.php, tema e banco de dados como acima. - Descubra como o invasor entrou (plugin desatualizado, senha fraca, plugin pirata). Sem isso, a reinfecção é questão de tempo.
- Teste de novo, como visitante de celular vindo do Google.
Quando vale chamar um profissional
Se você não tem acesso por SSH, se o redirecionamento volta depois da limpeza, se há mais de um site na mesma hospedagem (a infecção costuma se espalhar entre eles) ou se é uma loja virtual, tentar sozinho costuma custar mais caro do que resolver direito uma vez.
Seu site está assim agora? Me manda o link no WhatsApp e eu confirmo o problema, o escopo e o valor antes de começar. Quer entender o processo antes? Veja como funciona a limpeza de malware.