Seu site está redirecionando para páginas estranhas, o Google mostrou um aviso de malware ou você simplesmente perdeu o acesso ao painel. Primeiro: respire. A maioria dos sites WordPress hackeados pode ser recuperada sem recriar tudo do zero.
Este guia mostra exatamente o que fazer, na ordem correta, para limpar o site, restaurar o controle e evitar que a invasão se repita.
Antes de começar: se você mantém backups regulares, como explicamos no nosso guia sobre backup do WordPress na nuvem, o processo de recuperação será muito mais rápido.
Checklist rápido: os 5 primeiros passos
Se você precisa agir agora, execute estas etapas imediatamente e volte ao guia completo depois:
- Faça backup do estado atual (mesmo infectado) — você pode precisar das evidências.
- Troque a senha do admin do WordPress e de todos os usuários com perfil administrador.
- Escaneie o site com o Sucuri SiteCheck (gratuito, online).
- Verifique os usuários admin no painel e remova qualquer conta desconhecida.
- Entre no Google Search Console e veja se há alertas na seção “Problemas de segurança”.
Agora, vamos detalhar cada etapa.
Como confirmar que o WordPress foi hackeado
Nem toda invasão é óbvia. Alguns sinais comuns de que o site foi comprometido:
- Redirecionamentos para sites desconhecidos — ao acessar o site, o visitante é enviado para outra página.
- Aviso do navegador — Chrome, Firefox ou Edge mostram “Este site pode estar comprometido” ou “Conexão não segura”.
- Conteúdo alterado — textos, imagens ou links que você não adicionou aparecem nas páginas.
- Queda repentina de tráfego — o Google Analytics mostra queda abrupta, que pode indicar desindexação.
- Estranhos com perfil admin — novos usuários administradores aparecem no painel.
- Arquivos modificados recentemente — ao verificar via FTP ou gerenciador de arquivos, arquivos do core do WordPress foram alterados sem você ter feito atualização.
- E-mails de spam enviados pelo servidor — sua hospedagem notifica sobre envio de spam ou o IP foi listado em blacklist.
- Painel do WordPress inacessível — erro ao tentar logar ou redirecionamento ao carregar /wp-admin.
- Scripts maliciosos no código-fonte — ao visualizar o código-fonte da página (Ctrl+U no navegador), aparecem iframes, scripts ou links estranhos.
Se você identificou um ou mais desses sinais, provavelmente o site foi invadido. Vamos agir.
Primeiros passos: contenção imediata
Antes de tentar limpar qualquer coisa, contenha a situação:
1. Faça backup do estado atual
Pode parecer contraintuitivo, mas faça backup de tudo como está agora — arquivos e banco de dados. Você pode precisar desse backup para analisar o que aconteceu ou como evidência. Salve em um diretório separado, claramente marcado como “infectado”.
Se você tem backups anteriores à invasão, identifique-os. Eles serão úteis na etapa de restauração.
2. Coloque o site em modo manutenção (opcional)
Se o site está exibindo conteúdo malicioso publicamente, considere colocar em modo manutenção enquanto trabalha na limpeza. Isso protege os visitantes e evita que o Google indexe o conteúdo comprometido. Você pode usar um plugin de manutenção ou, se o acesso ao painel estiver bloqueado, criar um arquivo .maintenance na raiz do WordPress via FTP.
Nota: o WordPress remove automaticamente o arquivo .maintenance após 10 minutos. Se precisar prolongar o modo manutenção, recrie o arquivo ou use um plugin.
3. Notifique sua hospedagem
Entre em contato com o suporte da hospedagem. Muitas oferecem ferramentas de scanner próprias e podem ajudar com:
- Restauração de backup do servidor.
- Identificação de arquivos comprometidos.
- Bloqueio de IPs de ataque.
- Verificação de listas negras de IP.
Se a hospedagem oferece backup automático, pergunte qual é o backup mais recente anterior à invasão.
Escaneamento: encontrando o malware
Depois de conter a situação, é hora de identificar exatamente o que foi comprometido.
Sucuri SiteCheck (gratuito, online)
O Sucuri SiteCheck é uma ferramenta gratuita que escaneia o site remotamente. Basta digitar a URL e clicar em “Scan Website”. Ele verifica:
- Malware conhecido.
- Blacklists (Google, Norton, McAfee, etc.).
- Erros do site.
- Software desatualizado.
Limitação: o Sucuri SiteCheck faz uma análise superficial — ele verifica o que é visível externamente, não os arquivos do servidor. Para uma análise mais profunda, use um plugin de scanner instalado no WordPress.
Importante: não confunda o Sucuri SiteCheck (scanner gratuito online) com o serviço Sucuri (pago, que inclui firewall e remoção profissional de malware). O scanner gratuito é apenas uma primeira triagem.
Wordfence (plugin gratuito)
O Wordfence é um plugin de segurança para WordPress que inclui scanner de arquivos. Na versão gratuita:
- Instale e ative o plugin (se o painel estiver acessível).
- Vá em Wordfence → Scan.
- Clique em Start New Scan.
- Aguarde a conclusão — pode levar vários minutos dependendo do tamanho do site.
O Wordfence compara os arquivos do seu WordPress com a versão oficial do repositório e identifica:
- Arquivos do core modificados.
- Arquivos suspeitos que não fazem parte do WordPress, temas ou plugins.
- Alterações em temas e plugins.
- URLs e código malicioso conhecido.
Ferramentas da hospedagem
Verifique o painel da sua hospedagem. Muitas oferecem:
- Scanner de malware (ex.: Imunify360 da Hostinger, SiteLock da Hostgator).
- Visualizador de arquivos com ordenação por data de modificação — útil para encontrar arquivos alterados recentemente.
- Logs de acesso — permitem identificar de onde veio o ataque.
Atenção: alguns scanners de hospedagem (como SiteLock) podem gerar alertas exagerados como estratégia de venda. Use como referência, mas valide com ferramentas independentes como o Wordfence.
O que procurar manualmente
Mesmo com scanners automáticos, uma verificação manual complementa a análise. Acesse os arquivos do site via FTP ou Gerenciador de Arquivos da hospedagem e procure:
- Arquivos PHP na raiz que não fazem parte do core — o WordPress legítimo tem
wp-config.php,wp-login.php,wp-settings.php,index.php,xmlrpc.php,wp-cron.php,wp-comments-post.php,wp-activate.php,wp-blog-header.php,wp-links-opml.php,wp-load.php,wp-mail.php,wp-signup.php,wp-trackback.phpewp-links.php(entre outros). Qualquer arquivo PHP suspeito adicional merece investigação. - Arquivos com nomes aleatórios — como
x7k9.php,config.bak.php,wp-conf.php(note o nome quase igual ao original). - Código ofuscado — strings longas de caracteres aleatórios, funções
eval(),base64_decode()ougzinflate()em arquivos que não deveriam ter esse código. - Arquivos em diretórios de uploads — a pasta
wp-content/uploads/não deveria conter arquivos PHP. - Modificações recentes — ordene os arquivos por data de modificação e verifique os alterados nas últimas semanas.
Verificação do banco de dados
A invasão pode ter atingido o banco de dados, não apenas os arquivos. Verifique:
Usuários suspeitos
- Acesse o phpMyAdmin pelo painel da hospedagem.
- Abra o banco de dados do WordPress.
- Vá na tabela
wp_users(o prefixo pode ser diferente se você alterou durante a instalação). - Verifique se há usuários que você não reconhece. As capacidades de administrador ficam armazenadas em
wp_usermeta(chavewp_capabilities), não no campouser_level(obsoleto desde o WordPress 3.0).
Injeções de código em posts
- Na tabela
wp_posts, procure por conteúdo que contenha<script>,<iframe>ou URLs estranhas no campopost_content. - Uma busca SQL rápida:
SELECT * FROM wp_posts WHERE post_content LIKE '%<script%'(ajuste o prefixo da tabela se necessário).
Opções do site alteradas
- Na tabela
wp_options, verifique sesiteurlehomeestão corretos. - Verifique a opção
widget_texte sidebars — atacantes costumam injetar código em widgets de texto. - Procure por opções com nomes desconhecidos, especialmente na coluna
option_name.
Aviso: editar o banco de dados diretamente é arriscado. Se você não tem experiência, faça apenas a verificação e documente o que encontrou para um profissional tratar.
Verificação de usuários admin
Esta etapa é crítica e frequentemente esquecida:
- No painel do WordPress, vá em Usuários → Todos os usuários.
- Filtre por perfil Administrador.
- Remova ou rebaixe qualquer conta que você não reconhece.
- Se não conseguir remover pelo painel (o atacante pode ter protegido a conta), remova diretamente pelo banco de dados na tabela
wp_usersewp_usermeta.
Atacantes frequentemente criam contas admin disfarçadas com nomes como “wpadmin”, “support”, “system” ou variações de nomes comuns. Verifique todas.
Troca completa de senhas
A troca de senha do admin não é suficiente. Troque todas as senhas relacionadas ao site:
Senhas do WordPress
- Todos os administradores — peça a cada um que troque a senha ou faça pelo painel (Usuários → editar → nova senha).
- Autores e editores — se o site tem múltiplos usuários, troque ou solicite a troca.
Senhas de acesso ao servidor
- FTP/SFTP — altere a senha de FTP no painel da hospedagem.
- Painel da hospedagem (cPanel, Plesk, etc.) — altere a senha de acesso ao painel de controle.
- SSH — se você usa SSH, altere as chaves e senhas.
Senhas do banco de dados
- Altere a senha do usuário do MySQL no painel da hospedagem.
- Atualize o arquivo
wp-config.phpcom a nova senha (campoDB_PASSWORD).
Outras senhas
- E-mail do admin — se o atacante pode ter acesso ao e-mail, troque a senha do e-mail também.
- Chaves de API — se o site usa APIs (Google, redes sociais, gateways de pagamento), revogue e gere novas chaves.
- Salt keys do wp-config.php — gere novas em https://api.wordpress.org/secret-key/1.1/salt/ e substitua no
wp-config.php.
Dica: use senhas fortes
Gere senhas longas (16+ caracteres) com letras maiúsculas, minúsculas, números e símbolos. Use um gerenciador de senhas. Evite reutilizar senhas entre serviços.
Restauração a partir de backup
Se você tem um backup limpo anterior à invasão, a restauração costuma ser o caminho mais rápido e confiável:
Quando restaurar
- O backup é anterior à invasão (verifique as datas).
- Você tem certeza de que o backup está limpo.
- A invasão é extensa demais para limpeza manual (muitos arquivos e tabelas comprometidos).
Como restaurar
- Com plugin de backup: se você usou UpdraftPlus, BlogVault ou similar, acesse o painel (se acessível) e inicie a restauração. Se o painel estiver inacessível, muitos plugins permitem restauração via arquivo de backup no servidor — consulte a documentação do plugin.
- Pela hospedagem: muitas hospedagens oferecem restauração de backup pelo painel de controle (cPanel → Backup, Plesk → Backup Manager, etc.).
- Manualmente: substitua os arquivos do site pelos do backup via FTP e importe o backup do banco de dados via phpMyAdmin.
Após a restauração
- Aplique todas as atualizações do WordPress, temas e plugins imediatamente.
- Troque todas as senhas (sim, de novo — o backup pode ter senhas antigas).
- Verifique novamente os usuários admin.
- Escaneie o site restaurado para garantir que está limpo.
Importante: se você restaura um backup mas não corrige a vulnerabilidade que permitiu a invasão, o site será hackeado novamente. A restauração resolve o sintoma; a prevenção resolve a causa.
Revisão de segurança no Google Search Console
Se o Google identificou malware ou phishing no seu site, ele pode ter adicionado um aviso nos resultados de busca (“Este site pode estar comprometido”) ou removido o site do índice.
Como verificar
- Acesse o Google Search Console.
- Verifique a seção Problemas de segurança (anteriormente chamada “Segurança e ações manuais”).
- Se houver alertas, o Google listará o que encontrou (malware, engenharia social, conteúdo enganoso, etc.).
Como pedir revisão
Depois de limpar completamente o site:
- Na mesma seção de segurança do Search Console, clique em Solicitar análise (ou “Request Review”).
- Descreva o que você fez para resolver o problema (limpeza de malware, troca de senhas, atualização de plugins, etc.).
- Aguarde — a revisão pode levar de dias a semanas.
Se o site foi desindexado
Após a revisão aprovada, o Google reindexará o site, mas isso pode levar tempo. Para acelerar:
- Envie um sitemap atualizado pelo Search Console.
- Use “Inspecionar URL” → “Solicitar indexação” para páginas importantes.
- Certifique-se de que o
robots.txtnão está bloqueando o Google (às vezes atacantes modificam esse arquivo).
Prevenção: como evitar ser hackeado novamente
A recuperação só termina quando você implementa medidas para evitar a reincidência:
Mantenha tudo atualizado
- WordPress core: atualize assim que versões de segurança são lançadas.
- Plugins: atualize regularmente. Desative e remova plugins que não usa.
- Temas: atualize o tema ativo. Remova temas inativos (eles também podem ter vulnerabilidades).
Use senhas fortes e autenticação em dois fatores
- Senhas longas e únicas para todos os usuários admin.
- Ative autenticação em dois fatores (2FA) — plugins como Wordfence ou Two Factor Authentication facilitam a configuração.
Instale um plugin de segurança
- Wordfence — firewall e scanner na versão gratuita.
- Sucuri Security — auditoria, monitoramento de integridade e hardening.
Nota: o plugin Sucuri Security (gratuito) é diferente do serviço Sucuri (pago, com firewall e remoção de malware). O plugin gratuito oferece auditoria e monitoramento; o serviço pago inclui firewall e limpeza profissional.
Faça backups regulares
- Configure backups automáticos diários ou semanais.
- Armazene backups em local externo ao servidor (Google Drive, Amazon S3, Dropbox).
- Teste a restauração periodicamente — backup sem teste é aposta.
Use HTTPS
Se seu site ainda não usa HTTPS, habilite agora. HTTPS não impede invasões diretamente, mas protege a transmissão de dados (incluindo senhas) e é um sinal de credibilidade para visitantes e buscadores. Veja nosso guia sobre como configurar HTTPS no WordPress.
Escolha uma hospedagem com foco em segurança
Hospedagens de qualidade oferecem firewall de servidor, scanner de malware, backups automáticos e atualizações forçadas do PHP. Se sua hospedagem atual não oferece nenhum desses recursos, considere migrar. Veja nosso guia sobre como escolher hospedagem WordPress.
Limite tentativas de login
- Use um plugin de limite de login para bloquear força bruta.
- Altere a URL de login do padrão
/wp-adminpara uma URL personalizada (plugins como WPS Hide Login fazem isso). - Considere bloquear acesso ao
xmlrpc.phpse não usa funcionalidades que dependam dele (Jetpack, aplicativos móveis).
Monitore o site
- Configure alertas de downtime (UptimeRobot é gratuito).
- Acompanhe o Google Search Console regularmente.
- Verifique logs de acesso periodicamente para identificar padrões suspeitos.
Quando contratar um profissional
Nem toda invasão é simples de resolver. Considere contratar um profissional quando:
- O site é uma loja virtual com dados de pagamento (PCI DSS exige conformidade).
- Você não consegue identificar a origem da invasão após tentar o processo completo.
- O site foi hackeado mais de uma vez.
- O banco de dados está extensivamente comprometido.
- Você não tem backup limpo e a limpeza manual é complexa.
- O site precisa voltar ao ar urgentemente e você não tem tempo para aprender o processo.
Serviços profissionais de limpeza de malware (Sucuri, SiteLock, MalCare) cobram valores variados — verifique os preços atuais diretamente nos sites dos provedores. Algumas hospedagens oferecem o serviço como parte do suporte.
FAQ
Meu site foi hackeado e eu não tenho backup. O que fazer?
Ainda é possível recuperar. Siga o processo de escaneamento e limpeza manual descrito neste guia. Verifique se a hospedagem mantém backups próprios (muitas mantêm por 7 a 30 dias). Se não houver backup em nenhum lugar, a limpeza manual dos arquivos e do banco de dados é o único caminho.
O Google bloqueou meu site. Quanto tempo leva para voltar?
Após limpar completamente o site e solicitar revisão no Search Console, o Google pode levar de 3 a 30 dias para revisar e remover o aviso. Em casos urgentes, a revisão costuma ser mais rápida (3 a 7 dias). A reindexação completa pode levar mais tempo.
Posso simplesmente reinstalar o WordPress por cima?
Sim, reinstalar o core do WordPress (painel → Atualizações → “Reinstalar agora”) substitui os arquivos do core. Mas isso não limpa malware em temas, plugins, uploads ou no banco de dados. A reinstalação do core é uma etapa útil, mas não suficiente sozinha.
O Sucuri SiteCheck disse que meu site está limpo, mas ainda vejo problemas. Por quê?
O Sucuri SiteCheck faz uma análise superficial — ele verifica o que é visível externamente. Malware escondido em arquivos profundos ou no banco de dados pode não ser detectado. Use também o Wordfence ou o scanner da hospedagem para uma análise mais profunda.
Meu site redireciona para outro site. É malware?
Provavelmente sim. Redirecionamentos não autorizados são um dos tipos mais comuns de infecção. Verifique os arquivos .htaccess na raiz do WordPress e em diretórios pais. Atacantes frequentemente adicionam regras de redirecionamento nesse arquivo. Também verifique as configurações de URL nas opções do banco de dados (siteurl e home na tabela wp_options).
Como sei se o hacker deixou uma “porta dos fundos”?
Backdoors são arquivos ou código que permitem ao atacante reentrar mesmo após a limpeza. Procure:
- Arquivos PHP com funções
eval(),base64_decode(),assert()oupreg_replace()com modificador/e(em versões antigas de PHP; a partir do PHP 7.0, o modificador/efoi removido, mas backdoors podem tentar usá-lo). - Arquivos em diretórios inesperados (uploads, cache, tmp).
- Usuários admin desconhecidos no banco de dados.
- Cron jobs maliciosos (verifique
wp_optionspela chavecron). - Modificações no
wp-config.php.
O Wordfence detecta muitos backdoors conhecidos, mas backdoors customizados podem passar. Se o site for hackeado novamente após a limpeza, provavelmente há um backdoor não identificado.
A hospedagem bloqueou meu site. O que fazer?
Entre em contato com o suporte da hospedagem e peça detalhes sobre o bloqueio. Geralmente, a hospedagem bloqueia sites comprometidos para proteger o servidor. Depois de limpar o site (usando os arquivos de backup ou fazendo download via FTP para limpar localmente), solicite o desbloqueio. Algumas hospedagens permitem acesso ao painel mesmo com o site bloqueado para facilitar a limpeza.
Conclusão
Ser hackeado é assustador, mas a recuperação é possível — e a maioria dos sites WordPress consegue voltar ao normal sem recriar tudo do zero.
O mais importante é agir rápido e na ordem certa: conter, escanear, limpar, trocar senhas, restaurar (se necessário) e prevenir. Pular etapas — especialmente a troca de senhas ou a verificação de backdoors — quase garante que a invasão vai se repetir.
Depois de recuperar o site, invista em prevenção: atualizações regulares, senhas fortes, backups automáticos e um plugin de segurança. São minutos de configuração que podem evitar dias de crise.
Para aprofundar sua proteção, veja também nosso guia sobre hospedagem WordPress e como configurar HTTPS no WordPress.



