Segurança para WordPress não se resolve com um único plugin. Um site seguro depende de software atualizado, acessos bem configurados, infraestrutura adequada e um plano de recuperação que tenha sido testado.
Este guia organiza as práticas que eu verificaria primeiro em um site real. O objetivo não é prometer risco zero. Segurança é um processo contínuo de redução de risco, monitoramento e resposta a incidentes.
Por que a segurança para WordPress exige manutenção?
O WordPress recebe atualizações frequentes e possui uma equipe de segurança dedicada. Entretanto, um site também inclui hospedagem, PHP, banco de dados, temas, plugins, contas administrativas e dispositivos usados pela equipe.
Uma vulnerabilidade em um plugin desatualizado, uma senha reutilizada ou um backup que nunca foi testado pode comprometer todo o projeto. Por isso, a proteção deve trabalhar em camadas.
1. Mantenha WordPress, plugins, temas e servidor atualizados
Atualizações corrigem vulnerabilidades e problemas de compatibilidade. A documentação oficial considera essa a ação mais importante para a segurança de um site WordPress.
Crie uma rotina:
- mantenha um backup recente antes de atualizações relevantes;
- aplique correções de segurança rapidamente;
- teste mudanças maiores em staging quando o projeto for crítico;
- verifique o site, formulários e tarefas agendadas depois da atualização;
- mantenha PHP, banco de dados e servidor em versões suportadas.
Ative atualizações automáticas quando houver um processo de backup e verificação compatível com o risco do projeto. Para sites com integrações complexas, combine alertas rápidos com uma janela curta de testes.
Exclua plugins e temas que não são usados. Desativar não remove o código do servidor. Também evite extensões piratas ou baixadas de fontes sem procedência, pois elas não oferecem uma cadeia confiável de atualização.
2. Proteja contas e autenticação
Use uma senha longa, única e gerada por um gerenciador de senhas. Nunca reutilize a senha do WordPress no painel da hospedagem, no banco de dados ou em outro serviço.
Ative autenticação de dois fatores, também chamada de 2FA, para contas administrativas e editoriais. O WordPress core não oferece 2FA por padrão, então use um plugin confiável ou o provedor de identidade da organização. Guarde os códigos de recuperação em local seguro.
Além disso:
- remova contas sem uso;
- não compartilhe usuários entre pessoas;
- evite nomes administrativos fáceis de prever quando criar novas contas;
- limite tentativas de login no servidor, WAF, CDN ou plugin confiável;
- considere passkeys quando a solução de autenticação oferecer suporte.
Esconder mensagens ou mudar o endereço de login pode reduzir ruído automatizado, mas não substitui senha forte, 2FA e limitação de tentativas.
3. Aplique o princípio do menor privilégio
Cada pessoa deve receber apenas as permissões necessárias para o trabalho. Um autor que publica os próprios posts não precisa ser administrador.
O WordPress possui papéis como Administrador, Editor, Autor, Colaborador e Assinante. Revise periodicamente quem possui acesso administrativo, especialmente depois de projetos temporários ou mudanças na equipe.
O mesmo princípio vale para infraestrutura:
- use contas separadas na hospedagem sempre que possível;
- restrinja credenciais de banco de dados ao site que precisa delas;
- prefira SFTP ou SSH a FTP sem criptografia;
- proteja chaves, tokens e senhas fora do repositório de código.
Se uma conta for comprometida, o menor privilégio reduz o alcance do incidente.
4. Configure HTTPS e permissões de arquivos
Todo o site deve usar HTTPS, principalmente o login e o painel administrativo. Ele protege os dados em trânsito e dificulta o roubo de cookies ou credenciais em redes inseguras.
No servidor, evite permissões globais de escrita como 777. Uma configuração comum usa 755 para diretórios e 644 para arquivos, mas o valor correto depende do usuário do processo web e da hospedagem. Confirme a recomendação do seu provedor antes de aplicar mudanças recursivas.
Proteja o wp-config.php, pois ele contém dados sensíveis. Em servidores Apache modernos, uma regra possível é:
<Files "wp-config.php">
Require all denied
</Files>Code language: HTML, XML (xml)
Não copie regras de .htaccess sem entender o servidor. Diretivas antigas como order allow,deny pertencem ao Apache 2.2 e podem não ser adequadas em ambientes atuais. Nginx, Caddy e serviços gerenciados usam configurações diferentes.
Também é possível impedir a edição de arquivos PHP pelo painel. Adicione ao wp-config.php:
define( 'DISALLOW_FILE_EDIT', true );Code language: JavaScript (javascript)
Essa configuração reduz uma via de execução de código depois que uma conta administrativa é comprometida. Ela não impede uploads maliciosos nem substitui as outras camadas.
5. Faça backups completos e teste a restauração
Um backup de WordPress precisa incluir arquivos e banco de dados. Guardar somente a pasta de uploads ou somente um arquivo SQL não restaura um site completo.
Mantenha cópias recentes em locais diferentes, incluindo uma opção fora da hospedagem de produção. Defina a frequência com base em quanto conteúdo você pode perder. Um site que recebe pedidos a cada hora precisa de uma estratégia diferente de um portfólio atualizado mensalmente.
O passo mais esquecido é o teste de restauração. Periodicamente, restaure uma cópia em um ambiente isolado. Para testes descartáveis, o WordPress Playground pode ajudar, desde que o backup e os dados sejam tratados de acordo com a política de privacidade do projeto. Depois, verifique:
- páginas e mídia;
- usuários e configurações;
- plugins e tema;
- formulários, integrações e tarefas agendadas.
Se houver comprometimento, não restaure e volte ao ar sem investigar a causa. Troque credenciais, corrija a vulnerabilidade, verifique persistência maliciosa e use um backup anterior ao incidente.
6. Adicione hardening de acordo com o ambiente
Hardening é a redução consciente da superfície de ataque. Algumas medidas úteis são:
- usar uma hospedagem que mantenha o sistema operacional e os serviços atualizados;
- bloquear acesso público a arquivos sensíveis;
- desabilitar edição de plugins e temas no painel;
- configurar um WAF para filtrar tráfego malicioso;
- limitar requisições de login e proteger o XML-RPC quando ele não for necessário;
- separar sites em usuários e bancos diferentes quando compartilham um servidor.
Não trate security through obscurity como defesa principal. Esconder a versão do WordPress ou trocar o prefixo wp_ pode dificultar scripts muito simples, mas não corrige uma vulnerabilidade. Priorize controles que reduzam risco de forma mensurável.
Evite também bloquear /wp-* no robots.txt. Esse arquivo orienta crawlers, não controla acesso, e uma regra ampla pode impedir recursos necessários para renderização e diagnóstico. Proteção real deve ser aplicada no servidor ou na aplicação.
7. Monitore alterações e prepare a resposta a incidentes
Um ataque deixa sinais em logs, arquivos e comportamento do site. Configure alertas para:
- logins administrativos incomuns;
- mudanças em arquivos executáveis;
- instalação ou ativação de plugins;
- criação de usuários privilegiados;
- aumento anormal de erros ou tráfego;
- avisos de malware e indisponibilidade.
Um plugin de segurança pode ajudar com firewall, scanner e alertas, mas avalie manutenção, suporte e impacto de performance. Em muitos casos, proteções no host ou na CDN bloqueiam tráfego antes que ele chegue ao PHP.
Documente como agir em um incidente: quem deve ser avisado, onde estão os backups, como colocar o site em modo seguro e quais credenciais precisam ser rotacionadas. Faça um teste simples desse processo antes de precisar dele.
Checklist de segurança para WordPress
- [ ] WordPress, plugins, temas e servidor usam versões suportadas.
- [ ] Extensões sem uso ou sem manutenção foram removidas.
- [ ] Contas administrativas usam senhas únicas e 2FA.
- [ ] Cada usuário possui apenas as permissões necessárias.
- [ ] Todo o site usa HTTPS.
- [ ] Arquivos sensíveis e permissões foram revisados.
- [ ] Backups incluem arquivos e banco de dados.
- [ ] Uma restauração foi testada recentemente.
- [ ] Login, arquivos e atividades administrativas são monitorados.
- [ ] Existe um plano documentado de resposta a incidentes.
Conclusão
Segurança para WordPress combina prevenção e recuperação. Atualizações, autenticação forte e menor privilégio reduzem a probabilidade de comprometimento. Backups testados, logs e um plano de resposta reduzem o impacto quando algo dá errado.
Comece pelas contas administrativas e pelos backups. Ative 2FA, remova acessos antigos e faça uma restauração em ambiente isolado. Depois, avance para hardening e monitoramento de acordo com a infraestrutura do projeto.
Para se aprofundar, consulte o guia oficial de hardening do WordPress.

Deixe um comentário