
🔐 Como limpar e restaurar um site WordPress pirateado: um guia passo a passo
Acorda uma manhã e descobre que o seu site WordPress se transformou numa sucursal de casino online ou caiu silenciosamente numa penalização do Google. Parece-lhe familiar? Um ataque informático destrói mais do que apenas ficheiros no servidor: o tráfego cai a zero, as posições nos motores de busca despenham-se e o negócio para por dias, às vezes semanas.
O pior momento é quando o suporte de alojamento levanta as mãos: «Os backups também estão infetados, não podemos ajudar.» Uma história típica para milhares de proprietários de sites, especialmente aqueles em planos de alojamento partilhado baratos.
A boa notícia: mesmo um site completamente comprometido pode ser limpo e restaurado numa noite. Sem um exército de programadores ou contratos caros com empresas de segurança. Precisa de cabeça fria, da sequência certa de passos e de perceber onde o código malicioso se esconde.
💡 Visão geral rápida:
- Avalie a dimensão: tem acesso de administrador, o que diz o alojamento, que ficheiros estão afetados
- Contacte o seu fornecedor de alojamento e obtenha uma lista de ficheiros infetados
- Remova ou substitua os ficheiros comprometidos via cPanel, FTP ou WP-CLI
- Restaure uma versão limpa do site a partir de um backup ou reinstale o núcleo
- Altere TODAS as palavras-passe, as chaves de segurança no wp-config.php e feche o ponto de entrada
- Solicite a remoção das listas negras do Google e do alojamento
Passo 1: Avalie a dimensão e não entre em pânico

Primeiro, verifique se o painel de administração está acessível. Se o wp-admin o deixar entrar e conseguir iniciar sessão, a situação tem solução, muitas vezes numa hora. Se o acesso estiver bloqueado, terá de trabalhar através do painel de alojamento ou FTP, mas também não é uma sentença de morte.
Segundo: não apague o site inteiro em pânico. Em 90% dos casos, são ficheiros específicos que estão infetados, e não toda a instalação do WordPress. Vá ao Google Search Console, ao separador Segurança, onde encontrará os URLs que o Google sinalizou como maliciosos. Isto dá-lhe uma primeira noção da dimensão do problema.
Terceiro: contacte o seu alojamento imediatamente. Não diga «fomos pirateados, ajudem», mas especificamente: «Enviem-me uma lista de ficheiros modificados com registos de data e hora e logs de atividade suspeita das últimas 72 horas.» O alojamento tem logs do servidor, eles veem anomalias e podem fornecer uma lista exata dos ficheiros infetados.
Se o suporte estiver a arrastar os pés, escale a situação: telefone, publique nas redes sociais da empresa, abra outro ticket. A maioria dos alojamentos leva a sério as reclamações públicas, uma vez que o dano reputacional custa mais do que uma hora de tempo de um engenheiro.
Passo 2: Encontre e remova os ficheiros infetados

Assim que receber a lista de ficheiros infetados do seu alojamento ou os descobrir através de um scanner, proceda metodicamente. A ordem é importante: se deixar passar uma backdoor, o hacker regressa em 24 horas.
Faça uma cópia completa do site. Transfira TODOS os ficheiros para o seu computador local via FTP ou SFTP. Mesmo os infetados, pois serão úteis para análise e como seguro se algo correr mal.
Reinstale o núcleo do WordPress. Apague completamente as pastas wp-admin e wp-includes e, em seguida, transfira um ZIP novo do wordpress.org e extraia-o sobre os ficheiros existentes. Substitua tudo exceto wp-content e wp-config.php. Isto garante que os ficheiros de sistema estão limpos.
Verifique o wp-content. Os plugins e temas são os principais alvos dos atacantes. Se um plugin estiver infetado, apague a sua pasta completamente e reinstale-o a partir do repositório oficial. Se um tema estiver infetado e estiver a usar um tema filho, muito provavelmente apenas o tema pai foi afetado, por isso reinstale-o.
Pesquise por assinaturas de código malicioso. Marcadores clássicos de shells PHP e backdoors: eval e base64_decode são os mais comuns. Procure também por gzinflate, str_rot13 e assert. Execute uma pesquisa grep em todos os ficheiros .php. Verifique ficheiros ocultos: .htaccess, php.ini e ficheiros .ico com código PHP no interior. Os hackers adoram disfarçar backdoors como ícones inofensivos.
Passo 3: Restaure o site a partir de uma cópia limpa
Se tiver um backup e este estiver limpo, está com sorte: a restauração demora 15 a 20 minutos. Vá ao seu plugin de backup ou painel de alojamento, selecione um ponto de restauro ANTERIOR à data do ataque e inicie o processo. Imediatamente após a restauração, execute um scanner de segurança: a backdoor pode ter sido plantada muito antes do ataque ativo.
Não tem backup? Reinstale o WordPress através do painel de administração: «Atualizações» → «Reinstalar». Isto atualiza o núcleo, mas deixa os plugins e temas intactos, e terá de os verificar manualmente conforme descrito no passo 2.
Após a restauração, certifique-se de que o site carrega e prossiga imediatamente para o passo 4. O atacante pode tentar regressar através de uma backdoor remanescente em questão de horas.
Passo 4: Altere todas as credenciais e chaves

Primeiro e mais urgente: gere novas chaves de segurança do WordPress. Insira-as no wp-config.php, substituindo as antigas. Isto termina imediatamente TODAS as sessões ativas, incluindo a do hacker, caso ainda esteja no painel de administração.
De seguida, altere tudo nesta lista, sem saltar nenhum item:
- Palavra-passe do administrador do WordPress e de todos os utilizadores com o perfil de «administrador»
- Palavra-passe da conta de alojamento: cPanel, ISPmanager ou painel personalizado
- Palavra-passe da base de dados MySQL e atualize-a no
wp-config.php - Palavra-passe de FTP ou SFTP
- Palavra-passe da conta de email associada à administração do site
- Chaves de API: Google Search Console, CDN, serviços de email, gateways de pagamento
Verifique a tabela wp_users na base de dados: existem utilizadores desconhecidos com privilégios de administrador? Se encontrar algum, elimine-o de imediato. Este é um vestígio clássico de ataque: o hacker cria uma conta oculta e regressa através dela depois da sua «limpeza».
Passo 5: Solicitar a remoção das listas negras
Após a limpeza, o site pode continuar a aparecer nas listas negras do Google Safe Browsing durante vários dias. Os navegadores mostrarão um ecrã de aviso vermelho, mesmo que o código malicioso já tenha sido removido. Aceda ao painel de segurança do Search Console, ao separador «Problemas de segurança» e clique em «Solicitar revisão». Normalmente, o Google remove o alerta no prazo de 24 a 72 horas.
Ao mesmo tempo, contacte o seu fornecedor de alojamento: podem ter adicionado o seu IP ou domínio a uma lista negra interna, o que impede o site de carregar, apesar de estar limpo. Explique que a limpeza foi concluída e solicite o levantamento do bloqueio.
Depois de todos os alertas serem removidos, verifique o site em modo de navegação anónima. Deverá carregar sem avisos de segurança. Guarde uma captura de ecrã, pois pode ser útil se o bloqueio regressar.
Passo 6: Fechar o ponto de entrada e reforçar a proteção

A limpeza é apenas metade da batalha. Se não fechar a brecha por onde entraram, o segundo ataque será dezenas de vezes mais rápido do que o primeiro. Agora que conhece o vetor de ataque exato, use esse conhecimento.
Instale uma firewall. O Wordfence oferece uma firewall de endpoint e um scanner de assinaturas, sendo a versão gratuita suficiente para a maioria dos sites. O Solid Security (anteriormente iThemes Security) acrescenta um conjunto de regras de proteção: alteração do prefixo da base de dados, desativação do editor de ficheiros no painel de administração e autenticação de dois fatores. Configuração mínima: uma firewall e um scanner.
Ligue uma WAF na cloud. A Cloudflare com regras para WordPress ou a Sucuri filtram o tráfego antes de este chegar ao servidor. Após um ataque, isto não é um luxo, mas uma necessidade: uma WAF na cloud bloqueia pedidos maliciosos ao nível do DNS e reduz a carga no seu site.
Configure a monitorização da integridade dos ficheiros. O Wordfence e o Solid Security podem alertá-lo para quaisquer alterações nos ficheiros PHP. Ficará a saber de um novo ataque no próprio minuto, e não uma semana depois, quando o Google sinalizar o site como malicioso.
Reveja a sua lista de plugins. Cada plugin desnecessário é um potencial ponto de entrada. Remova tudo o que não utiliza. Atualize os restantes para as versões mais recentes e ative as atualizações automáticas sempre que possível.
Como proteger o WordPress de ataques no futuro

A prevenção custa centenas de vezes menos do que a recuperação. Eis o que precisa de fazer agora mesmo, mesmo que o seu site ainda não tenha sido pirateado.
Mude para alojamento gerido
Quatro dólares por mês por um plano partilhado é um preço tentador. Mas quando o seu site vive no mesmo servidor com centenas de outros, um ataque a um dos seus vizinhos quase de certeza que o atinge a si. A contaminação entre sites em alojamento partilhado não é teoria: de acordo com a Sucuri, cerca de um terço dos sites WordPress infetados estão alojados em plataformas partilhadas.
O alojamento WordPress gerido (WP Engine, Kinsta, Cloudways) oferece um ambiente isolado, backups diários automáticos e uma equipa de segurança disponível 24 horas por dia. Sim, é várias vezes mais caro do que um plano partilhado. Mas uma semana de inatividade após um ataque custa mais do que um ano de subscrição de um bom alojamento.
Ao escolher um alojamento, verifique três coisas: se o seu ambiente está isolado dos vizinhos, se existem backups diários automáticos e com que rapidez o suporte responde a incidentes de segurança. As respostas a estas perguntas são o melhor indicador para saber se sobreviverá ao próximo ataque sem perdas.
Mantenha o core, temas e plugins atualizados

A grande maioria dos ataques bem-sucedidos ao WordPress ocorre através de vulnerabilidades conhecidas em plugins e temas, precisamente aquelas que os programadores já corrigiram com patches. Os atacantes fazem um scan automático da internet à procura de sites com versões não corrigidas, muitas vezes nas 48 horas seguintes à publicação de uma CVE.
As atualizações automáticas do core do WordPress estão ativas por defeito desde a versão 5.5. Para plugins e temas do repositório oficial WordPress.org, ative as atualizações automáticas de forma seletiva, pois isto é seguro. Os plugins premium dos seus próprios sites devem ser atualizados manualmente, mas pelo menos uma vez por semana.
E sim, faça um backup antes de cada atualização importante. Sempre.
Configure backups

Sem um backup recente, a recuperação após um ataque transforma-se numa triagem manual de dezenas de milhares de ficheiros. Com um backup, são cinco cliques e meia hora de espera.
O Jetpack VaultPress Backup faz backups incrementais em tempo real com armazenamento na cloud da Automattic. O BlogVault é especializado em WordPress e pode restaurar um site mesmo que o painel de administração esteja em baixo. O BackWPup é uma opção gratuita com agendamento e envio para Dropbox, S3 ou Google Drive.
O padrão de excelência: um backup na cloud mais um backup local que descarrega para o seu computador uma vez por semana. O backup na cloud salva-o se o alojamento falhar, e o local salva-o se a conta na cloud também for comprometida.
Ative a autenticação de dois fatores
Uma palavra-passe como admin123 ou qwerty é um convite aberto. Os ataques de força bruta ao wp-login.php ocorrem 24 horas por dia e as palavras-passe simples são quebradas em segundos. Gere palavras-passe com pelo menos 20 caracteres através de um gestor de palavras-passe (Bitwarden ou 1Password) e nunca use a mesma palavra-passe em vários sites.
A autenticação de dois fatores através do Wordfence Login Security ou do Two Factor fecha quase completamente o vetor de força bruta: mesmo conhecendo a palavra-passe, um atacante não consegue entrar sem o código TOTP do seu telemóvel.
E altere o URL de login padrão de /wp-admin e /wp-login.php para um personalizado. Isto não é uma solução milagrosa, mas elimina a grande maioria dos bots automatizados que martelam os endpoints padrão sem olhar para mais nada.
⁉️🤔 Perguntas frequentes
Posso restaurar um site sem um backup?
Sim, mas o processo é mais longo e complexo. Reinstale o núcleo do WordPress através do painel de administração, verifique manualmente cada plugin e tema à procura de código malicioso usando assinaturas como
eval,base64_decodeegzinflatenos ficheiros.php. Altere todas as palavras-passe e chaves de segurança. O conteúdo geralmente não é afetado: está na base de dados, que os hackers raramente tocam. Uma limpeza completa sem backup demora 2 a 4 horas, dependendo do tamanho do site.
Como sei se o meu site foi pirateado?
Sinais: a Google Search Console mostra um aviso de segurança, o navegador bloqueia o site com um ecrã vermelho, o tráfego caiu abruptamente, apareceram páginas estranhas nos resultados de pesquisa, o painel de administração não aceita a palavra-passe correta ou o alojamento enviou uma notificação sobre atividade suspeita. Verificação rápida: execute o scanner gratuito Sucuri SiteCheck, que mostra infeções conhecidas num minuto.
O que devo fazer se o alojamento não ajudar?
Mude de alojamento. Se o fornecedor não forneceu uma lista de ficheiros infetados e os registos do servidor no prazo de 24 horas após o incidente, a equipa de segurança deles ou não existe ou está sobrecarregada. Para um site empresarial, isto não é um parceiro. Enquanto recupera, compre um plano de alojamento gerido mínimo, mova uma cópia limpa do site para lá e feche a conta antiga.
O botão "Reinstalar" no painel de administração é suficiente?
Não. O botão "Reinstalar" na secção "Atualizações" apenas substitui os ficheiros do núcleo do WordPress. Não toca em plugins infetados, temas, backdoors ocultas em
wp-contentou entradas maliciosas no.htaccess. Precisa do ciclo completo: análise, substituição de ficheiros infetados, reposição de palavras-passe e chaves e verificação da base de dados à procura de administradores ocultos.
Vale a pena pagar por uma limpeza profissional?
Se o site gera receita e o tempo de inatividade custa mais do que umas centenas de euros por dia, sim, contrate um especialista. A Sucuri oferece limpeza única de sites, há freelancers no Codeable e agências especializadas em WordPress. Para um blogue pequeno ou landing page, o guia acima é suficiente: a limpeza ocupará uma tarde e o dinheiro poupado pode ser investido num alojamento adequado.
Quanto tempo demorará para o site recuperar as posições nos motores de busca?
Após a Google Search Console remover o bloqueio, o site é reindexado em poucos dias. As posições não regressam imediatamente: os algoritmos precisam de tempo para verificar se as páginas estão limpas. Normalmente, a recuperação total demora 2 a 4 semanas. O essencial é fechar a brecha por onde entraram, caso contrário, um segundo ataque anulará todo o progresso.
Site restaurado: o que fazer para que o ataque não se repita
Um ataque informático é um alerta que mostra onde a sua proteção falhou. Encare-o como uma auditoria de segurança gratuita: agora sabe o vetor de ataque exato e pode fechá-lo permanentemente.
Uma lista de verificação rápida para o futuro:
- Mova o site para um alojamento gerido com ambiente isolado
- Configure backups diários: um na cloud, um local
- Instale uma firewall e um scanner, ative as atualizações automáticas para plugins do repositório
- Ative a autenticação de dois fatores para todos os administradores
- Remova plugins e temas não utilizados
O mais perigoso após um ataque é esperar que «não volte a acontecer». Um segundo ataque pela mesma brecha acontece com muito mais frequência do que o primeiro: a backdoor já está instalada e o atacante conhece o endereço do site. Percorra toda a lista de verificação até ao fim, feche o ponto de entrada e durma descansado.



