Hardening WordPress: 15 ações essenciais para blindar seu site em 2026

Hardening WordPress: 15 ações essenciais para blindar seu site em 2026

A maior parte das invasões em WordPress não acontece por causa de falhas exóticas — acontece porque o site está com as configurações default. Login em /wp-admin/, XML-RPC ligado, versão do WordPress visível, força bruta sem bloqueio, arquivos sensíveis acessíveis. Cada uma dessas portas abertas é um convite. Quem aplica um hardening básico bloqueia 90% dos ataques automatizados que tentam invadir sites WordPress todos os dias.

Este guia traz as 15 ações de hardening mais eficazes em 2026, com o código pronto para colar, riscos de cada uma, e a ordem recomendada para aplicar.

O que é hardening (e por que importa)

Hardening é o conjunto de ajustes que reduz a superfície de ataque de um sistema. No WordPress, significa configurar arquivos, plugins e permissões para fechar portas que vêm abertas por padrão.

Não confunda hardening com firewall ou backup. Os três são camadas diferentes:

  • Hardening — fecha portas, dificulta exploração de vulnerabilidades conhecidas.
  • Firewall — bloqueia tentativas de ataque que conseguem chegar.
  • Backup — garante recuperação se as duas primeiras falharem.

Um site bem protegido tem as três camadas.

As 15 ações, em ordem de aplicação

1. Atualize WordPress, plugins e tema para a versão mais recente

Vulnerabilidades conhecidas são exploradas em massa por bots. Manter-se atualizado é o hardening mais barato e mais eficaz.

Como: ative atualizações automáticas para versões menores no wp-config.php:

define('WP_AUTO_UPDATE_CORE', 'minor');

Para plugins críticos, considere atualização manual com testes em staging antes de aplicar em produção.

2. Remova plugins e temas inativos

Cada plugin/tema desinstalado mas presente no servidor é vetor de ataque. Bots procuram exatamente essa pasta esquecida.

Como: Plugins > Instalados, desative E delete. Aparência > Temas, mantenha apenas o ativo + 1 fallback oficial (Twenty Twenty-Four por exemplo) e delete o resto.

3. Mude a URL de login

/wp-admin/ e /wp-login.php são os alvos mais óbvios. Mudá-los para algo como /gerenciar/ ou /entrar/ corta milhares de tentativas automatizadas por dia.

Como: instale WPS Hide Login (você já fez!). Configure URL alternativa e URL de redirecionamento para tentativas no /wp-admin/.

4. Limite tentativas de login

Mesmo com URL escondida, força bruta tenta. Limite tentativas evita.

Como: plugin Limit Login Attempts Reloaded. Configure:

  • 4 tentativas antes do lockout
  • Lockout de 20 minutos
  • Lockout maior (24h) após 4 lockouts
  • Ativar notificação por email

5. Ative 2FA (autenticação de dois fatores)

Mesmo que a senha vaze, o invasor não entra sem o código do app.

Como: Wordfence (gratuito) ou WP 2FA ativam 2FA via Google Authenticator/Authy. Para todos os admins, é obrigatório. Para editores, recomendado.

6. Force senhas fortes para todos os usuários

Senha “Senha123” continua sendo o que pesquisa de violação mostra como mais usada.

Como: plugin Password Policy Manager ou função no functions.php:

add_action('user_profile_update_errors', 'force_strong_password', 10, 3);
function force_strong_password($errors, $update, $user) {
    if (!empty($_POST['pass1'])) {
        $password = $_POST['pass1'];
        if (strlen($password) < 12 || !preg_match('/[A-Z]/', $password) || !preg_match('/[0-9]/', $password) || !preg_match('/[^A-Za-z0-9]/', $password)) {
            $errors->add('weak_password', 'Erro: Senha precisa ter pelo menos 12 caracteres, com maiúscula, número e símbolo.');
        }
    }
}

7. Desabilite XML-RPC se não usar

XML-RPC é um endpoint legacy do WordPress usado por apps mobile antigos e Jetpack. É também alvo favorito de força bruta amplificada.

Como: se você não usa app mobile do WordPress nem Jetpack, bloqueie no .htaccess:


  Order Deny,Allow
  Deny from all

8. Esconda a versão do WordPress

Versão visível no código-fonte e em /readme.html ajuda bots a saber se vale a pena tentar exploits específicos.

Como: adicione no functions.php do tema (ou em plugin de snippets):

remove_action('wp_head', 'wp_generator');
add_filter('the_generator', '__return_empty_string');

E delete o /readme.html da raiz (ou bloqueie com .htaccess):

   Order Allow,Deny   Deny from all 

9. Proteja wp-config.php

Arquivo mais sensível do WordPress. Tem senha do banco. Tem que ser inacessível via web.

Como: mova o wp-config.php para o diretório acima da raiz pública (/public_html/). O WordPress procura automaticamente um diretório acima. Se não puder mover, bloqueie no .htaccess:


  Order Allow,Deny
  Deny from all

E desabilite edição via wp-admin:

define('DISALLOW_FILE_EDIT', true);

10. Desabilite execução PHP em /wp-content/uploads/

Pasta de uploads não deve executar PHP. Quando deveria. Mas backdoors entram exatamente aqui.

Como: crie ou edite /wp-content/uploads/.htaccess:


  Order Allow,Deny
  Deny from all

11. Adicione headers de segurança no .htaccess

Headers HTTP que o navegador respeita e bloqueiam várias classes de ataque.

Como: adicione no .htaccess:


  Header set X-Frame-Options "SAMEORIGIN"
  Header set X-Content-Type-Options "nosniff"
  Header set Referrer-Policy "strict-origin-when-cross-origin"
  Header set Permissions-Policy "geolocation=(), camera=(), microphone=()"
  Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Teste o resultado em https://securityheaders.com.

12. Force SSL administrativo

Painel admin sempre via HTTPS, mesmo se algum link cair em HTTP.

Como: no wp-config.php:

define('FORCE_SSL_ADMIN', true);

13. Renomeie o prefixo das tabelas

Padrão é wp_. Trocar para xy7_ ou similar dificulta SQL injection cega que assume o prefixo.

Como: somente em instalação nova. Em site existente, exige plugin específico ou trabalho manual com Find&Replace no banco. Pode quebrar muita coisa se feito errado.

14. Configure permissões corretas de arquivos

Permissão muito aberta deixa arquivo gravável por usuários indevidos. Muito restrita quebra funcionalidades.

Recomendação:

  • Pastas: 755
  • Arquivos: 644
  • wp-config.php: 600 ou 640

Como (via SSH):

find /caminho/do/site -type d -exec chmod 755 {} \;
find /caminho/do/site -type f -exec chmod 644 {} \;
chmod 600 /caminho/do/site/wp-config.php

15. Salts únicos e fortes no wp-config.php

Salts são usados pelo WordPress para criptografar sessões e cookies. Padrões fracos comprometem segurança.

Como: gere salts novos em https://api.wordpress.org/secret-key/1.1/salt/ e cole no wp-config.php, substituindo as 8 linhas existentes. Faça isso após qualquer incidente ou a cada 6 meses.

Hardenings adicionais (bônus para sites comerciais)

16. Bloqueio geográfico (geo-blocking)

Se você atende só Brasil, bloqueie acessos administrativos vindos de fora.

Como: Cloudflare (Free) → Security → WAF → Custom rules:

Field: Country
Operator: not equal
Value: Brazil
Then: Block
URL Path: contains "/wp-admin"

17. Auditar e desativar XML-RPC seletivamente

Em vez de bloquear tudo, desabilite apenas pingbacks (vetor amplificação):

add_filter('xmlrpc_methods', function($methods) {
    unset($methods['pingback.ping']);
    unset($methods['pingback.extensions.getPingbacks']);
    return $methods;
});

18. Logar todas as ações de admin

Plugin Activity Log (WP Activity Log) registra cada ação. Em caso de incidente, você tem rastro.

19. Restringir REST API

WP REST API é poderoso mas expõe dados. Restringe acesso a usuários autenticados:

add_filter('rest_authentication_errors', function ($result) {
    if (true === $result || is_wp_error($result)) {
        return $result;
    }
    if (!is_user_logged_in()) {
        return new WP_Error('rest_not_logged_in', 'Você precisa estar autenticado.', array('status' => 401));
    }
    return $result;
});

(Atenção: pode quebrar plugins que dependem da REST API pública. Teste.)

20. Backup regular off-site

Já cobrimos no post sobre backup, mas vale repetir: sem backup off-site, hardening é só metade do trabalho.

Como testar se o hardening funcionou

Após aplicar, valide com ferramentas externas:

  1. WPScan (https://wpscan.com) — varre vulnerabilidades conhecidas
  2. Security Headers (https://securityheaders.com) — deve dar A ou A+
  3. SSL Labs (https://www.ssllabs.com/ssltest/) — deve dar A
  4. Mozilla Observatory (https://observatory.mozilla.org) — alvo: pontuação B+ ou superior

Ordem recomendada de aplicação (1 a 2 dias)

Dia 1 (rápido — 2 horas):

  • Atualizar tudo
  • Remover plugins/temas inativos
  • Instalar Wordfence + Limit Login Attempts
  • Ativar 2FA
  • Mudar URL de login

Dia 2 (técnico — 4 a 6 horas):

  • Editar wp-config.php (DISALLOW_FILE_EDIT, FORCE_SSL_ADMIN, salts novos)
  • Editar .htaccess (headers de segurança, bloqueio xmlrpc, bloqueio readme)
  • Bloquear PHP em uploads
  • Esconder versão WP
  • Testar tudo (login, frontend, formulários)

Como o Site Seguro aplica hardening

Cada plano do Site Seguro inclui hardening completo configurado pelo time técnico — não é só “rodar plugin”, é cada wp-config.php revisado, .htaccess ajustado para o ambiente, plugins selecionados e configurados, salts renovados, permissões auditadas. Para sites complexos, fazemos auditoria adicional de plugins customizados.

Quer hardening profissional? Fale com a gente.

Perguntas frequentes

Hardening atrapalha a performance do site?

Não. Hardening é configuração — não adiciona carga. Em alguns casos (esconder versão, bloquear xmlrpc), até melhora porque corta requisições inúteis.

Hardening sozinho dispensa firewall?

Não. Hardening reduz a superfície; firewall bloqueia o que ainda passa. As duas camadas se complementam.

Posso aplicar hardening em qualquer plano de hospedagem?

A maioria sim. Hospedagens muito restritas (compartilhadas baratas) podem não permitir editar .htaccess ou wp-config.php. Nesses casos, vale considerar migração.

Aplicar tudo de uma vez pode quebrar o site?

Sim, especialmente itens 9, 10, 13, 14. Aplique gradualmente e teste após cada item. Tenha backup recente antes de começar.

O hardening protege contra ataques DDoS?

Não diretamente. DDoS é mitigado por Cloudflare ou CDN com WAF. Hardening é proteção contra exploração de vulnerabilidades.

Conclusão

Hardening é o passo de menor custo e maior retorno em segurança WordPress. 15 ações executadas em 1 a 2 dias cortam a vasta maioria dos ataques automatizados. Comece pelos itens 1-5 hoje (mesmo se você não é técnico) e expanda para 6-15 com calma — sempre com backup antes.

Quer que o Site Seguro execute esse hardening pra você? — atendimento das 7h às 22h.


Leia também:

  • Plugins de segurança WordPress: 7 melhores em 2026
  • SSL no WordPress: como instalar HTTPS gratuito
  • Monitoramento 24/7 de site: o que é, como funciona

Fale conosco