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 WordPress hackeado

5.00 /5 - (21 votes )
Última verificação: 1 de maio de 2026
7min de leitura
Guia
Auditor de segurança

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

Está frase, exibida num ecrã vermelho vivo (Google Safe Browsing) ou num e-mail do seu provedor dé 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 dé azar) e potencialmenté o bloqueio da sua conta dé alojamento.

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

Nesté artigo, vou mostrar-lhé 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 é 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 duranté a limpeza, podé apagar acidentalmenté 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.
  • Presté 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 manualmenté 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 manualmenté 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 qué o WP-CLI não sobrescrevé a sua pasta wp-content, onde residem as suas imagens, temas e plugins.

Se não tiver WP-CLI:

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

#Passo 3: Limpeza do wp-content

É aqui que normalmente residé o problema.

#Plugins e temas

Se possível, apague e reinstale todos os plugins gratuitos. Os vírus anexam-se frequentementé 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.

Verifiqué o seu tema. Se usa um Tema Filho (Child Theme), reveja manualmenté 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: Verifiqué 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 útilizadores 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. Verifiqué 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(%';

Sé 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!

    Comparé 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, sé o User-Agent for Googlebot) para sites com malware, enquanto você (visitando diretamente) vê o site normal. Se não tiver a certeza, geré 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 tranqué as portas para qué 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 útilizadores. 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: Adicioné ao wp-config.php:

    define( 'DISALLOW_FILE_EDIT', true );

    Isto impede qué um hacker qué obtenha uma senha dé 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). Adicioné 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) (está é a principal fonte de infeções).
  3. Ter um backup externo (por exemplo, na nuvem).

Se sente qué 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.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Cluster relacionado

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

FAQ do artigo

Perguntas Frequentes

Respostas práticas para aplicar o tema na execução real.

SEO-ready GEO-ready AEO-ready 3 Q&A
Qual é o primeiro passo depois de descobrir malware no WordPress?
Faça backup do estado infetado e bloqueie mudanças desnecessárias. Isso ajuda a preservar provas e evita apagar algo crítico por engano.
É suficiente reinstalar plugins para remover malware?
Nem sempre. Também precisa de verificar o core, a pasta uploads, a base de dados e contas de útilizador falsas.
Quando devo mudar passwords e salt keys?
Logo após a limpeza. Assim termina sessões ativas e reduz o risco dé o invasor manter acesso.

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

Fale connosco

Artigos Relacionados

Trinta e um plugins encerrados depois de um comprador na Flippa ter colocado um backdoor no primeiro commit SVN. Como auditar a propriedade dos plugins, detetar comprometimentos e proteger os sítios contra ataques à cadeia de fornecimento.
security

Ataques à cadeia de fornecimento de plugins WordPress: guia de auditoria e hardening após o incidente do backdoor da Flippa

Trinta e um plugins encerrados depois de um comprador na Flippa ter colocado um backdoor no primeiro commit SVN. Como auditar a propriedade dos plugins, detetar comprometimentos e proteger os sítios contra ataques à cadeia de fornecimento.

Comparé os melhores plugins WordPress em 2026 para segurança, SEO, cache, cópias de segurança é otimização de imagens, com conselhos praticos sobré o que instalar é o que evitar.
wordpress

Melhores plugins WordPress 2026 – guia completo do stack essencial

Comparé os melhores plugins WordPress em 2026 para segurança, SEO, cache, cópias de segurança é otimização de imagens, com conselhos praticos sobré o que instalar é o que evitar.

Pare de dar acesso de "Administrador" a todos os útilizadores. Dominé as Funções (Roles) e Capacidades (Capabilities) do WordPress para criar plataformas seguras.
development

Funções e capacidades do WordPress: O guia completo (2026)

Pare de dar acesso de "Administrador" a todos os útilizadores. Dominé as Funções (Roles) e Capacidades (Capabilities) do WordPress para criar plataformas seguras.