Guia completo para remover vírus do WordPress. Saiba como detetar infeções, limpar ficheiros via SSH e proteger o seu site contra futuros ataques.
PT-PT

Como limpar um site WordPress hackeado? Guia completo de remoção de malware (2026)

5.00 /5 - (21 votes )
Última verificação: 1 de março de 2026
Experiência: 5+ anos de experiência
Índice

“O site a seguir contém programas prejudiciais.”

Esta frase, exibida num ecrã vermelho vivo (Google Safe Browsing) ou num e-mail do seu provedor de alojamento, é o pesadelo de qualquer proprietário de site. Uma infeção no WordPress não é apenas uma questão de reputação. Arrisca o roubo de dados de clientes, a perda de posições no Google (o chamado “Japanese Keyword Hack” ou redirecionamentos para sites de jogos de azar) e potencialmente o bloqueio da sua conta de alojamento.

Em 2026, os ataques ao WordPress são em grande parte automatizados. Os bots não o atacam pessoalmente – eles varrem a web à procura de plugins desatualizados, senhas fracas ou vulnerabilidades em temas.

Neste artigo, vou mostrar-lhe um processo técnico e profissional para limpar um site WordPress hackeado. Esqueça os “plugins de remoção de malware” que muitas vezes apenas mascaram o problema. Vou mostrar como fazê-lo manualmente, eficazmente e ao nível do servidor usando SSH e WP-CLI.

Passo 0: Não entre em pânico e faça backup (sim, do estado infetado!)

Antes de tocar em qualquer coisa, faça backup do seu estado atual. Porquê? Porque durante a limpeza, pode apagar acidentalmente um ficheiro crítico (por exemplo, um functions.php modificado que continha funcionalidades importantes, não apenas o vírus).

Se tiver acesso SSH:

## Arquivar todos os ficheiros
tar -czf backup-infected-files_$(date +%F).tar.gz .

## Exportar base de dados
wp db export backup-infected-db_$(date +%F).sql --allow-root

Passo 1: Diagnóstico inicial (o método “grep”)

Antes de começar a cortar, precisa de saber contra o que está a lutar. Malware no WordPress esconde-se frequentemente como código ofuscado usando funções como eval, base64_decode, ou gzinflate.

Aqui está uma lista de comandos grep úteis para verificar ficheiros à procura de strings suspeitas. Execute-os na diretoria raiz do seu site.

As assinaturas de malware mais comuns

  1. Procura da função eval (muito raramente usada legitimamente em código moderno):

    grep -rnwl './' -e 'eval('
  2. Procura de iframes ocultos e scripts injetados em ficheiros PHP:

    grep -rnwl './' -e '<script' --include=*.php
    grep -rnwl './' -e '<iframe' --include=*.php
  3. Procura de “backdoors” (nomes de variáveis comuns em malware):

    grep -rnwl './' -e 'bgeteam'
    grep -rnwl './' -e '3o'
    grep -rnwl './' -e '57h'
  4. Procura de strings codificadas (Base64 + Rot13):

    grep -rnwl './' -e 'base64_decode'
    grep -rnwl './' -e 'str_rot13'

Análise DOS resultados

Nem todos os resultados são vírus!

  • Plugins como Elementor ou Visual Composer podem ter base64_decode no seu código.
  • Preste atenção a ficheiros em locais estranhos, por exemplo, wp-content/uploads/2024/03/avatar.php. A pasta uploads não deve conter ficheiros PHP.

Para encontrar todos os ficheiros PHP na pasta uploads:

find ./wp-content/uploads -name "*.php"

Se encontrar algo aqui – 99% das vezes é malware (a menos que tenha um plugin muito específico).

Passo 2: A opção nuclear (sobrescrever ficheiros do core)

Remover manualmente um vírus dos ficheiros do core do WordPress (wp-admin, wp-includes) é um trabalho de Sísifo. O método mais rápido e fiável é substituir todos os ficheiros do sistema por originais limpos.

Este é um processo seguro se não tiver modificado manualmente os ficheiros do core (o que não deve fazer de qualquer forma!).

Usando WP-CLI:

## Descarregar versão fresca do WordPress (substituindo ficheiros)
wp core download --force --skip-content --allow-root

A flag --skip-content é crítica – garante que o WP-CLI não sobrescreve a sua pasta wp-content, onde residem as suas imagens, temas e plugins.

Se não tiver WP-CLI:

  1. Descarregue o pacote WordPress de wordpress.org.
  2. Descompacte-o localmente.
  3. Apague a pasta wp-content e o ficheiro wp-config-sample.php dele.
  4. Carregue o resto dos ficheiros via FTP, sobrescrevendo tudo no servidor.

Passo 3: Limpeza do wp-content

É aqui que normalmente reside o problema.

Plugins e temas

Se possível, apague e reinstale todos os plugins gratuitos. Os vírus anexam-se frequentemente a cada ficheiro .js ou .php no servidor.

## Reinstalar plugin do repositório (ex. Contact-form-7)
wp plugin install contact-form-7 --force --allow-root

Para plugins pagos, deve descarregar pacotes limpos do fornecedor e substituir ficheiros via FTP.

Verifique o seu tema. Se usa um Tema Filho (Child Theme), reveja manualmente o functions.php e header.php. Estes são locais favoritos para código malicioso.

Pasta uploads

Como mencionado anteriormente, a pasta de média (wp-content/uploads) deve conter apenas imagens, PDFs e documentos. Limpeza radical (apaga todos os scripts PHP de uploads):

find ./wp-content/uploads -name "*.php" -delete

Aviso: Verifique a lista antecipadamente (sem -delete) para garantir que não está a apagar algo legítimo.

Passo 4: Base de dados (japanese keyword hack e spam)

As infeções muitas vezes não terminam nos ficheiros. Os vírus injetam links de spam no conteúdo dos posts ou criam falsos administradores.

Faça login na base de dados (phpMyAdmin ou wp db cli) e verifique:

  1. Falsos Administradores:

    SELECT * FROM wp_users;

    Procure utilizadores que não reconhece, muitas vezes com domínios .ru, .cn ou strings aleatórias. Apague-os imediatamente.

  2. SPAM no Conteúdo: Vírus do tipo “Japanese Keyword Hack” injetam milhares de páginas com caracteres chineses/japoneses a publicitar falsificações. Verifique a tabela wp_posts:

    SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
    SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%eval(%';

Se o seu site tiver subitamente 50.000 novas páginas no índice do Google, precisa de limpar estas entradas da base de dados e, em seguida, enviar um sitemap para a Google Search Console para acelerar a remoção do lixo do índice.

Passo 5: Ficheiros de configuração (wp-config.php e .htaccess)

O malware modifica frequentemente estes dois ficheiros-chave.

  1. wp-config.php: Abra-o e verifique se há linhas estranhas. Muitas vezes são adicionadas referências a ficheiros temporários:

    include '\tmp\sess_dsf43...'; // SUSPEITO!

    Compare o seu ficheiro com o wp-config-sample.php. Deve conter apenas credenciais da base de dados e definições de constantes.

  2. .htaccess: Os vírus adicionam frequentemente regras aqui que redirecionam o tráfego dos motores de busca (por exemplo, se o User-Agent for Googlebot) para sites com malware, enquanto você (visitando diretamente) vê o site normal. Se não tiver a certeza, gere o ficheiro .htaccess padrão do WordPress:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

Passo 6: Pós-limpeza - Reforço de segurança (hardening)

Limpou o site? Ótimo. Agora tranque as portas para que o ladrão não volte.

  1. Mudar Palavras-passe:

    • Para todas as contas de Administrador.
    • Para a base de dados.
    • Para FTP/SFTP.
  2. Mudar Chaves de Sal (Salt Keys): Isto força o logout de todos os utilizadores. Edite o wp-config.php e substitua a secção de chaves por novas geradas aqui: https://api.wordpress.org/secret-key/1.1/salt/ Ou use WP-CLI:

    wp config shuffle-salts
  3. Desativar Edição de Ficheiros no Dashboard: Adicione ao wp-config.php:

    define( 'DISALLOW_FILE_EDIT', true );

    Isto impede que um hacker que obtenha uma senha de administrador possa editar ficheiros de temas/plugins diretamente do painel.

  4. Desativar XML-RPC: Se não usa a app móvel do WordPress ou o Jetpack, o XML-RPC é apenas um buraco de segurança (usado para ataques DDoS e Brute Force). Adicione ao .htaccess:

    <Files xmlrpc.php>
    order deny,allow
    deny from all
    </Files>

Resumo

Lutar contra malware é uma corrida armamentista. A melhor proteção, no entanto, não é um “plugin de segurança mágico”, mas sim higiene digital:

  1. Atualizações instantâneas do WordPress e plugins.
  2. Não instalar plugins e temas “nulled” (pirateados) (esta é a principal fonte de infeções).
  3. Ter um backup externo (por exemplo, na nuvem).

Se sente que o aspeto técnico o sobrecarrega, é melhor contratar profissionais. Uma limpeza mal executada pode deixar uma porta dos fundos (backdoor) aberta, através da qual o hacker voltará em poucos dias, e perderá mais dinheiro e confiança aos olhos do Google.

O que é Como limpar um site WordPress hackeado? Guia completo de remoção de malware (2026)?
Como limpar um site WordPress hackeado? Guia completo de remoção de malware (2026) é relevante quando pretende um WordPress mais estável, melhor desempenho e menos falhas em produção.
Como implementar Como limpar um site WordPress hackeado? Guia completo de remoção de malware (2026)?
Comece com uma auditoria de base, defina âmbito e restrições, e implemente alterações em passos pequenos e testáveis.
Porque é que Como limpar um site WordPress hackeado? Guia completo de remoção de malware (2026) é importante?
Os maiores ganhos vêm, normalmente, da qualidade técnica, de uma estrutura de conteúdo clara e de verificação regular.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados