# Como corrigir redirecionamento malicioso no WordPress

O redirecionamento malicioso no WordPress acontece quando um invasor injeta código que envia os visitantes para sites de spam, golpes ou malware. Ele costuma vir de um plugin/tema vulnerável ou nulled, e se esconde em arquivos PHP, no .htaccess, no banco de dados ou em JavaScript carregado de fora.

## O que é o redirecionamento malicioso no WordPress?

O redirecionamento malicioso no WordPress é um tipo de infecção em que código injetado força o navegador do visitante a sair do seu site e abrir outro endereço, normalmente de spam, phishing ou download de malware. O código pode estar em arquivos PHP do tema, no .htaccess, na tabela wp_options (campos siteurl/home), em wp_posts ou em um script externo. Muitas variantes só redirecionam em condições específicas (apenas no celular, apenas quando o visitante vem do Google) para escapar de quem testa direto no desktop.

## Como identificar

- Ao abrir o site, o navegador pula para outro endereço suspeito ("redireciona para outro site").
- O redirecionamento só acontece no celular, ou só quando o acesso vem de um resultado do Google.
- Aparecem domínios estranhos no campo "Endereço do WordPress (URL)" em Configurações > Geral.
- O console do navegador mostra um <script> carregando de um domínio desconhecido injetado no <head>.

**Antes de começar:** Trabalhe sempre sobre backup e nunca apague arquivos suspeitos sem antes salvar uma cópia para análise. Use uma janela anônima e teste pelo celular ao validar, porque muitos redirects só disparam em condições específicas para enganar quem revisa no desktop.

## Como prevenir

- Mantenha WordPress, plugins e temas atualizados e remova o que não usa
- Nunca use plugin ou tema nulled (pirata), principal porta de entrada de redirects
- Use um firewall/WAF e backup automático externo para detectar e reverter a infecção rápido

Erros relacionados

- [Como remover malware de um site WordPress](https://full.services/wp-fixer/remover-malware-wordpress/)
- [Como corrigir site WordPress na lista negra do Google](https://full.services/wp-fixer/corrigir-site-lista-negra-google-wordpress/)
- [Como limpar o Japanese Keyword Hack no WordPress](https://full.services/wp-fixer/corrigir-japanese-keyword-hack-wordpress/)

## Causa

- Plugin ou tema desatualizado com vulnerabilidade conhecida explorada para injetar o redirect.
- Plugin/tema nulled (pirata) que já vem com o código de redirecionamento embutido.
- Regra de redirecionamento injetada no .htaccess (RewriteRule apontando para domínio externo).
- Campos siteurl e home alterados na tabela wp_options para o domínio do invasor.
- JavaScript malicioso injetado no header do tema ou em wp_posts, carregado de um domínio externo.

## Como resolver

1. Faça backup do estado infectado: salve arquivos e banco antes de mexer, mesmo infectados, para análise e para não perder a evidência de por onde entrou.
2. Cheque siteurl e home no banco: no phpMyAdmin, abra a tabela wp_options e confira as linhas siteurl e home. Se apontarem para um domínio que não é o seu, corrija para a URL correta do site.
3. Inspecione o .htaccess: via FTP, abra o .htaccess da raiz e procure por RewriteRule ou RewriteCond apontando para domínios externos. Remova qualquer regra que você não reconheça e regenere o .htaccess padrão.
4. Cace PHP e JS injetados: procure código recém-modificado e funções ofuscadas típicas de redirect em arquivos e no header do tema:

```
find . -name '*.php' -mtime -15 -ls
grep -rEl "base64_decode|eval(|wp_redirect(.+http" wp-content/
```

5. Troque credenciais e feche a porta: troque senhas de admin, FTP e banco, regenere as SALT keys do wp-config.php, atualize WordPress/plugins/temas e remova qualquer plugin nulled para o redirect não voltar.

## Código

```bash
# Procura padroes classicos de redirect malicioso em arquivos PHP e no header do tema
grep -rn "base64_decode" wp-content/ | head -n 50
grep -rEn "wp_redirects*(s*['"]https?://" wp-content/themes/
grep -rn "document.location" wp-content/themes/ wp-content/uploads/

# Confere o .htaccess por regras de rewrite para dominios externos
grep -nE "RewriteRule|RewriteCond" .htaccess
```

## Perguntas frequentes

### O redirecionamento só acontece no celular. É hack mesmo?

Sim, é um padrão clássico. O código injetado checa o user-agent e só redireciona em dispositivos móveis para passar despercebido por quem administra o site pelo desktop. Teste sempre pelo celular ao validar a limpeza.

### Mudei siteurl e home e o redirect voltou. Por quê?

Porque a porta de entrada continua aberta. Se você corrige o sintoma no banco mas não atualiza o plugin vulnerável nem troca as senhas, o invasor reinjeta o redirect. É preciso limpar arquivos, banco E fechar a falha.

### Onde o código de redirecionamento costuma se esconder?

Nos campos siteurl/home da wp_options, em RewriteRule no .htaccess, no header.php ou functions.php do tema, em scripts ofuscados com base64_decode e, às vezes, em wp_posts. Verifique todos esses pontos, não apenas um.

### Um plugin de segurança remove o redirecionamento sozinho?

Ajuda a detectar e limpar parte do código, mas raramente fecha a vulnerabilidade que permitiu a injeção. Sem atualizar o plugin culpado e trocar credenciais, o site reinfecta mesmo após a varredura.

### Preciso trocar as security keys do wp-config.php?

Sim. Regenerar as SALT keys invalida todos os cookies de sessão ativos, derrubando qualquer sessão que o invasor tenha deixado aberta no painel. É um passo essencial para ele não voltar a injetar código.

### Como descubro por onde o invasor injetou o redirect?

Cruze a data dos arquivos modificados (find -mtime) com os logs de acesso do servidor. Quase sempre o rastro leva a um plugin/tema desatualizado, a um arquivo nulled ou a um login quebrado por força bruta.

**Fonte:** [WordPress.org — FAQ My Site Was Hacked](https://wordpress.org/documentation/article/faq-my-site-was-hacked/)
