Boas práticas

Checklist de segurança do WordPress

8 de fevereiro de 2026 Atualizado em 19 de abr. de 2026

O WordPress é responsável por mais de 40% da web, o que o torna um alvo principal para ataques automatizados. A boa notícia: a maioria dos ataques bem-sucedidos contra o WordPress explora vulnerabilidades bem conhecidas e facilmente preveníveis. Esta lista de verificação guia você por cada camada da segurança do WordPress, desde a criptografia de transporte até o hardening no nível do servidor. Trabalhe-a sistematicamente, e seu site será significativamente mais difícil de comprometer do que a vasta maioria das instalações WordPress por aí.

Protegendo o seu site WordPress com SSL e HTTPS

O HTTPS criptografa todos os dados que viajam entre os navegadores dos seus visitantes e o seu servidor. Sem ele, credenciais de login, envios de formulários e cookies de sessão são transmitidos em texto puro, tornando-os triviais de interceptar em redes públicas.

  • Instale um certificado SSL válido: A maioria dos provedores de hospedagem oferece certificados gratuitos do Let's Encrypt que se renovam automaticamente a cada 90 dias. Se seu host não suporta Let's Encrypt, o plano gratuito do Cloudflare inclui um certificado SSL compartilhado. Não há razão para rodar sem HTTPS em 2025.
  • Redirecione todo o tráfego HTTP para HTTPS: Configure um redirecionamento 301 para que cada requisição a http:// seja permanentemente encaminhada para https://. No Apache, adicione isto ao seu .htaccess:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    No Nginx, adicione um bloco de servidor que redirecione:
    server {
        listen 80;
        server_name example.com www.example.com;
        return 301 https://$host$request_uri;
    }
  • Corrija todos os avisos de conteúdo misto: Após mudar para HTTPS, verifique se há imagens, scripts ou folhas de estilo ainda carregando por HTTP. O console do navegador as sinalizará como avisos de "Conteúdo Misto". Atualize URLs http:// fixas no seu banco de dados usando uma ferramenta de busca e substituição como o Better Search Replace.
  • Habilite o cabeçalho HSTS: HTTP Strict Transport Security diz aos navegadores para sempre usarem HTTPS para seu domínio, mesmo que um usuário digite http:// manualmente. Adicione este cabeçalho com um max-age de pelo menos seis meses (15768000 segundos). Habilite includeSubDomains apenas se todos os seus subdomínios também suportarem HTTPS.

Configurando cabeçalhos de segurança HTTP para o WordPress

Cabeçalhos de segurança são instruções que seu servidor envia ao navegador. Eles não custam nada em termos de desempenho, mas fornecem proteção substancial contra vetores de ataque comuns como clickjacking, confusão de tipo MIME e cross-site scripting.

  • X-Frame-Options: SAMEORIGIN: Impede que suas páginas sejam incorporadas em iframes em outros domínios. Isso bloqueia ataques de clickjacking, em que um invasor sobrepõe seu site com elementos invisíveis para enganar os usuários a clicarem em algo que não pretendiam.
  • X-Content-Type-Options: nosniff: Impede que os navegadores adivinhem o tipo MIME de um arquivo. Sem este cabeçalho, um navegador pode executar um arquivo de texto como JavaScript se o conteúdo parecer código, o que abre a porta para injeção de scripts.
  • Referrer-Policy: strict-origin-when-cross-origin: Controla quanta informação da URL é enviada ao navegar para sites externos. Isso impede o vazamento de parâmetros sensíveis de URL (como tokens de redefinição de senha) para servidores de terceiros.
  • Permissions-Policy: Restringe o acesso a recursos do navegador como câmera, microfone, geolocalização e APIs de pagamento para conteúdo incorporado. Mesmo que você não use esses recursos, definir a política impede que scripts injetados os abusem.
  • Content-Security-Policy (CSP): O cabeçalho de segurança mais poderoso, mas também o mais complexo de configurar. O CSP define quais fontes têm permissão para carregar scripts, estilos, imagens e outros recursos. Comece com Content-Security-Policy-Report-Only para monitorar violações sem quebrar seu site, depois aperte gradualmente a política. Um ponto de partida mínimo:
    Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;

Você pode definir esses cabeçalhos no seu arquivo .htaccess (Apache), na sua configuração do Nginx, ou via um plugin de segurança WordPress. Se você usa Cloudflare, também pode configurar a maioria deles em Security > Settings.

Técnicas de hardening do núcleo do WordPress

O WordPress em si é bem mantido e regularmente corrigido, mas sua configuração padrão deixa várias portas abertas que você deveria fechar deliberadamente.

  • Mantenha o núcleo do WordPress, plugins e temas atualizados: A maioria dos hacks ao WordPress explora vulnerabilidades conhecidas em software desatualizado. Habilite atualizações automáticas menores (estão ativadas por padrão) e verifique atualizações maiores pelo menos semanalmente. Considere habilitar atualizações automáticas de plugin para plugins confiáveis.
  • Remova plugins e temas não utilizados completamente: Desativar um plugin não remove seu código do servidor. Um invasor ainda pode explorar vulnerabilidades em plugins desativados. Apague qualquer coisa que você não esteja usando ativamente, e mantenha apenas um tema padrão como fallback.
  • Desabilite o XML-RPC: A interface XML-RPC (/xmlrpc.php) foi projetada para publicação remota e pingbacks. Hoje, é principalmente abusada para ataques de amplificação de força bruta e DDoS. A menos que você precise dela para Jetpack ou para o aplicativo móvel WordPress, desabilite-a por completo. Você pode bloqueá-la no nível do servidor:
    # .htaccess do Apache
    <Files xmlrpc.php>
        Order Deny,Allow
        Deny from all
    </Files>
  • Restrinja o endpoint de usuários da REST API: Por padrão, /wp-json/wp/v2/users expõe nomes de usuário a qualquer um. Isso torna trivial para invasores descobrirem nomes de login válidos. Restrinja este endpoint apenas a requisições autenticadas, com um plugin ou um snippet de código personalizado.
  • Bloqueie a enumeração de usuários via arquivos de autor: Mesmo sem a REST API, invasores podem descobrir nomes de usuário requisitando /?author=1, /?author=2, etc. Bloqueie isso redirecionando requisições de arquivo de autor ou desabilitando-as inteiramente se o seu site não precisar delas.
  • Remova o número da versão do WordPress: O WordPress exibe sua versão em uma meta tag e nas URLs dos arquivos CSS/JS do núcleo. Embora segurança por obscuridade sozinha seja insuficiente, remover o número da versão força os invasores a sondar em vez de simplesmente procurar vulnerabilidades conhecidas para a sua versão exata.
  • Proteja ou apague o arquivo debug.log: Quando WP_DEBUG_LOG está habilitado, o WordPress grava erros em /wp-content/debug.log. Esse arquivo pode conter consultas de banco de dados, caminhos de arquivo, erros de plugin e outras informações úteis para invasores. Nunca deixe o registro de depuração habilitado em produção e, se o arquivo existir, apague-o ou bloqueie o acesso a ele.
  • Use senhas fortes e únicas e habilite a autenticação de dois fatores: Cada conta WordPress deve ter uma senha de pelo menos 16 caracteres e única para esse site. Adicione autenticação de dois fatores (2FA) com um plugin como o WP 2FA ou Wordfence Login Security. Esta única medida bloqueia praticamente todos os ataques de força bruta.
  • Limite as tentativas de login: O WordPress permite tentativas de login ilimitadas por padrão. Use um plugin como o Limit Login Attempts Reloaded para bloquear endereços IP após algumas tentativas falhas, ou use um Web Application Firewall (WAF) que inclua proteção contra força bruta.
  • Mude o prefixo padrão da tabela do banco de dados: O WordPress usa wp_ como prefixo padrão da tabela. Mudá-lo para algo único durante a instalação dificulta um pouco os ataques automatizados de injeção de SQL. Se seu site já está no ar, você ainda pode mudá-lo, mas faça backup do banco de dados primeiro.

Permissões de arquivo do WordPress e segurança do servidor

As permissões de arquivo determinam quem pode ler, gravar e executar arquivos no seu servidor. Permissões incorretas são uma das configurações de segurança erradas mais comuns.

  • Defina as permissões corretas de arquivo: Use 644 para arquivos e 755 para diretórios. O arquivo wp-config.php deve ser definido como 600 ou 640 na maioria dos ambientes de hospedagem. Nunca use 777, que dá acesso total de leitura/gravação/execução a todos.
  • Proteja o wp-config.php do acesso pela web: Este arquivo contém suas credenciais de banco de dados, chaves de autenticação e salts. No Apache, adicione isto ao .htaccess:
    <Files wp-config.php>
        Order Allow,Deny
        Deny from all
    </Files>
    Alguns guias de segurança sugerem mover wp-config.php um diretório acima da raiz da web. Isso funciona na maioria das configurações, mas pode causar problemas com alguns provedores de hospedagem.
  • Desabilite o editor de arquivos integrado: O WordPress inclui um editor de arquivos no painel administrativo que permite a administradores modificarem arquivos de tema e plugin diretamente. Se um invasor obtiver acesso de administrador, esse editor lhes dá a capacidade de injetar código malicioso em qualquer arquivo PHP. Desabilite-o adicionando esta linha ao wp-config.php:
    define('DISALLOW_FILE_EDIT', true);
  • Bloqueie o acesso a arquivos sensíveis: Arquivos como readme.html, license.txt e wp-config-sample.php revelam informações sobre sua versão e configuração do WordPress. Bloqueie o acesso público a eles via configuração do servidor.
  • Desabilite a navegação de diretório: Se a listagem de diretório estiver habilitada, qualquer um pode navegar pela sua pasta /wp-content/uploads/ e ver cada arquivo que você enviou. Desabilite-a adicionando Options -Indexes ao seu .htaccess.

Estratégia de backup e plano de recuperação do WordPress

Nenhuma configuração de segurança está completa sem uma estratégia de backup confiável. Se o pior acontecer, um backup recente é a diferença entre uma pequena inconveniência e uma perda total.

  • Automatize backups diários: Use um plugin como UpdraftPlus, BlogVault ou BackWPup para executar backups automáticos em um cronograma. No mínimo, faça backup diariamente. Sites de alto tráfego ou lojas WooCommerce devem considerar backups em tempo real.
  • Armazene backups em local externo: Mantenha cópias em um serviço remoto como Amazon S3, Google Cloud Storage ou Dropbox. Se seu servidor for comprometido, os backups locais também podem ser afetados.
  • Teste o seu processo de restauração: Um backup que você nunca testou é um backup em que você não pode confiar. Restaure seu backup em um ambiente de staging pelo menos uma vez por trimestre para confirmar que funciona.
  • Mantenha múltiplas gerações de backup: Mantenha pelo menos 30 dias de backups diários. Algumas infecções passam despercebidas por semanas, então você precisa da capacidade de retornar a um estado conhecido como limpo.

Monitoramento contínuo de segurança no WordPress

Segurança não é um projeto único. Novas vulnerabilidades são descobertas regularmente, e a configuração do seu site pode mudar com o tempo conforme plugins são adicionados ou configurações alteradas.

  • Instale um plugin de segurança: Wordfence, Sucuri ou NinjaFirewall fornecem proteção em tempo real, incluindo regras de firewall, varredura de malware e segurança de login. Escolha um (não vários, pois podem entrar em conflito) e configure seus alertas.
  • Configure varreduras automatizadas do InspectWP: Agende varreduras regulares para monitorar sua postura de segurança ao longo do tempo. O InspectWP irá alertá-lo sobre novos problemas como cabeçalhos ausentes, logs de depuração expostos ou vazamentos de número de versão assim que aparecerem.
  • Habilite notificações de atualização: Certifique-se de que o WordPress envie notificações por e-mail quando atualizações de núcleo, plugin ou tema estiverem disponíveis. Patches de segurança frequentemente precisam ser aplicados em horas após o lançamento para se manter à frente de exploits automatizados.
  • Revise as contas de usuário regularmente: Remova contas inativas, especialmente aquelas com funções de administrador ou editor. Audite sua lista de usuários pelo menos mensalmente, e revogue imediatamente o acesso de qualquer pessoa que não precise mais dele.
  • Monitore os seus logs de acesso: Verifique os logs do seu servidor em busca de padrões incomuns, como requisições repetidas a /wp-login.php, /xmlrpc.php ou caminhos que não existem. Muitos plugins de segurança fornecem uma visão simplificada do log.

Verifique a sua segurança WordPress com o InspectWP

Execute uma varredura abrangente do InspectWP para verificar todos os itens relacionados à segurança de uma vez. A seção de segurança cobre configuração SSL, cabeçalhos de segurança HTTP, exposição da versão do WordPress, enumeração de usuários da REST API, acessibilidade do log de depuração e mais. Configure varreduras automáticas para receber notificações sempre que sua postura de segurança mudar, para que você possa abordar novos problemas antes que sejam explorados.

Verifique seu site WordPress agora

O InspectWP analisa seu site WordPress em busca de problemas de segurança, problemas de SEO, conformidade com GDPR e desempenho — gratuitamente.

Analise seu site grátis