Esconder versão do WordPress remove o sinal que scanners usam para casar exploits, mas não corrige a falha. Segundo o NVD/NIST (2023), a CVE-2023-48777 do Elementor recebeu CVSS 9.9. A versão vaza por seis pontos além da meta generator. Oculte todos e mantenha o patch em dia.
Esconder a versão do WordPress é ocultar o número de release do core nos lugares onde bots conseguem lê-lo sem autenticação, como a meta tag generator, o readme.html e a querystring dos assets. O objetivo não é virar invisível: é remover o atalho que um scanner automatizado usa para decidir, em milissegundos, se o seu site casa com uma CVE conhecida. É uma camada de ofuscação dentro de um plano maior de hardening de segurança no WordPress, nunca um substituto do patch. Este guia faz parte dos guias de segurança WordPress da FULL e mostra cada vetor de vazamento com correção testada.
Primeiros passos: Por que a versão vira alvo
Esconder a versão do WordPress importa porque 9 em cada 10 ataques que chegam ao suporte da FULL começam por varredura automatizada, não por um humano analisando o site. O bot lê a versão exposta, consulta uma base de vulnerabilidades catalogadas e dispara o exploit que casa com aquele número, sem nenhuma decisão manual.
Remover o número não fecha a falha, mas quebra esse casamento instantâneo e força o atacante a um trabalho de fingerprint que a maioria dos scanners de massa, como os que varrem o Patchstack em busca de alvos, simplesmente não faz.
| Vetor de vazamento | Onde a versão aparece | Ação corretiva |
|---|---|---|
| Meta generator | <meta name=”generator”> no HTML | remove_action no functions do tema |
| Arquivo readme | readme na raiz do site | excluir ou bloquear no servidor |
| Querystring de assets | ?ver=6.x em CSS e JS | filtro style_loader_src |
| Feed RSS | tag generator no XML | filtro the_generator |
O que mais expõe a versão além da meta generator
A versão do WordPress vaza por pelo menos seis pontos distintos, e remover só a meta generator resolve apenas um deles. Em sites que chegam ao suporte da FULL já comprometidos, a gente vê o mesmo padrão: o plugin de segurança removeu a tag generator, mas o readme.html continua entregando o número exato do core.
A ofuscação parcial é pior que nenhuma, porque cria falsa sensação de hardening: a querystring ?ver= dos arquivos CSS segue cravando a versão em cada requisição de asset.
Os vetores mais comuns são a meta generator no HTML, o arquivo readme.html na raiz, a querystring de versão dos assets, a tag generator do feed RSS, o arquivo opml e os comentários inline de alguns temas. Cada um precisa de tratamento próprio. Antes de começar, vale verificar qual versão do WordPress você está usando para confirmar, depois, que ela sumiu de todos esses lugares.
Passo a passo: Como esconder a versão do WordPress
Ocultar a versão do WordPress por completo leva cerca de 15 minutos e cobre quatro frentes: header, assets, readme e feeds. Cada passo abaixo é um trecho de código aplicado no functions.php do tema filho ou em um plugin de site, nunca no functions.php do tema pai, que some na próxima atualização. Aplique todos na ordem; pular um deixa um vetor aberto que anula o esforço dos outros três.
Passo 1: Remova a meta generator do header
Adicione remove_action('wp_head', 'wp_generator'); ao functions.php do tema filho. Esse comando tira a linha do HTML renderizado, que é o ponto mais conhecido e o primeiro que qualquer scanner checa. O efeito aparece no próximo carregamento de página.
Passo 2: Limpe a versão da querystring dos assets
Crie um filtro em style_loader_src e script_loader_src que remova o parâmetro ?ver=6.x das URLs de CSS e JS. Sem ele, o WordPress anexa a versão do core a cada arquivo estático, vazando o número mesmo com a meta generator já removida. Cuidado com cache: limpe o cache de página após aplicar.
Passo 3: Exclua ou bloqueie o readme.html
Apague o arquivo readme.html da raiz ou bloqueie o acesso a ele no servidor. Esse arquivo declara a versão exata logo na primeira linha e sobrevive a qualquer filtro PHP, porque é servido como estático. Em ambientes que recriam o arquivo a cada update, um bloqueio por regra de servidor é mais durável que a exclusão manual.
Passo 4: Remova a versão dos feeds RSS
Use o filtro the_generator retornando string vazia para limpar a tag generator do feed RSS, do Atom e do opml. Feeds são frequentemente esquecidos e indexados por crawlers, então deixá-los expostos mantém o número público mesmo com o HTML já tratado. Teste abrindo /feed/ e conferindo o XML.
Esconder a versão não corrige a falha: O limite do método
Esconder a versão do WordPress é ofuscação, não patch, e essa distinção decide se o hardening funciona ou só maquia o risco. Segundo o NVD (NIST), a CVE-2023-48777 do Elementor (CVSS 9.9, corrigida na versão 3.18.2) permitia upload arbitrário de arquivo.
Ocultar a versão do core não muda em nada um plugin vulnerável: o scanner que ignora a versão do WordPress ainda detecta o Elementor desatualizado pelo próprio asset e dispara o exploit do mesmo jeito.
O risco real mora na janela entre o disclosure público da falha e o momento em que você aplica a atualização. Nessa janela, esconder a versão sem corrigir o plugin é falsa sensação de segurança. Por isso a ofuscação anda junto de atualizar corretamente os plugins do WordPress e de manter o core sempre na release mais recente, que é o que de fato fecha a vulnerabilidade.
Cves reais: O que a versão exposta entrega ao atacante
A versão exposta é útil ao atacante porque casa com um histórico de CVEs reais e versionadas. O perfil público do WPVulnerability mostra que o Elementor acumula 61 CVEs ao longo dos anos, com 5 falhas recentes em estado de atenção. Duas são ilustrativas para entender o mecanismo de casamento por versão, ambas já corrigidas (contexto histórico, não risco atual de quem está atualizado).
A primeira, CVE-2020-7055 (CVSS 9.9), afetava o Elementor abaixo da versão 2.7.5 e permitia execução de código via upload. A segunda, CVE-2023-48777 (CVSS 9.9), atingia versões anteriores à 3.18.2. Em ambas, o vetor de entrada do scanner é o mesmo: ler a versão do componente, consultar a base e disparar. Esconder a versão do core reduz o ruído de varredura, mas a defesa decisiva é o patch da versão afetada.
Por que a FULL fala de CVE com autoridade
A FULL Services é a única empresa brasileira reconhecida como CNA, ou CVE Numbering Authority, sob a CISA desde maio de 2022. Na prática, isso significa que a FULL está autorizada a atribuir identificadores CVE oficiais a vulnerabilidades novas, o mesmo padrão que catálogos como NVD e MITRE seguem. Quem escreve sobre esconder a versão do WordPress aqui literalmente cataloga falha de segurança como rotina, não como teoria.
Esse contexto importa para o leitor por um motivo concreto: a orientação deste guia separa risco atual de risco histórico com o mesmo critério de um catálogo oficial. Um plugin com 61 CVEs todas corrigidas é sinal de manutenção ativa e auditoria, não de fragilidade. O alarme só se justifica quando há falha crítica sem patch disponível, e é essa leitura que evita decisões erradas em cima de números fora de contexto.
Plano de segurança gerenciada: O custo de não fazer sozinho
Esconder a versão é uma camada barata, mas mantê-la junto de patch, firewall e monitoramento contínuo em vários sites é o que pesa na operação. No plano PRO da FULL, por R$849,90 por mês para até 10 sites, a conta fecha em R$85 por site, com o bundle de segurança gerenciada já incluso.
Nesse valor entra o pacote com All-In-One Security, UpdraftPlus e os outros plugins premium já licenciados. Não é hospedagem: é a gestão de segurança que roda sobre o WordPress onde ele já estiver. A gente vê no suporte que o gargalo raramente é técnico, e sim manter a disciplina de update em escala. Conheça os planos da FULL para entender a mecânica por site.
Para um diagnóstico imediato e sem instalação, vale escanear o site no FULL Scan e ver se algum plugin já está casando com uma CVE conhecida antes de qualquer ajuste manual.
Decisão rápida: Qual vetor tratar primeiro
A ordem de prioridade depende de como a versão está vazando hoje no seu site. Use a árvore abaixo para decidir o primeiro movimento sem perder tempo com vetores que talvez nem estejam abertos.
- Se o `readme.html` responde na raiz → exclua ou bloqueie ele antes de qualquer filtro PHP, é o vazamento mais grosseiro.
- Se a meta generator aparece no HTML → aplique o remove_action no `functions.php` do tema filho.
- Se os CSS carregam com ?ver= → use o filtro style_loader_src e limpe o cache em seguida.
- Se há plugin desatualizado com CVE → atualize o plugin primeiro; esconder a versão sem patch não protege.
Perguntas frequentes sobre esconder a versão do WordPress
Por que esconder a versão do WordPress reduz ataques automatizados?
Reduz porque o scanner perde o atalho de casar a versão exposta com uma CVE conhecida em milissegundos. Sem o número, o bot precisaria fazer fingerprint manual, etapa que a maioria das varreduras de massa pula. Não fecha a falha, mas tira o seu site do alvo fácil das ferramentas que rastreiam versões específicas em escala.
É possível ocultar a versão do WordPress sem instalar plugin?
Sim, é possível ocultar a versão sem plugin usando quatro trechos de código no `functions.php` do tema filho: remove_action para a meta generator, filtro em style_loader_src para os assets, exclusão do `readme.html` e filtro the_generator para os feeds. Plugins como All-In-One Security automatizam isso, mas o método manual cobre os mesmos vetores em cerca de 15 minutos.
Qual a diferença entre esconder a versão e aplicar o patch de segurança?
Esconder a versão é ofuscação: remove o sinal que o atacante lê, mas a falha continua explotável. Aplicar o patch é a correção real, que fecha a vulnerabilidade no código. A CVE-2023-48777 do Elementor, com CVSS 9.9, só foi neutralizada na versão 3.18.2, não por ocultar o número do core. Ofuscação é camada extra, nunca substituta do update.
Quanto tempo leva para ocultar a versão do WordPress por completo?
Leva cerca de 15 minutos para cobrir os quatro vetores principais: meta generator, querystring dos assets, `readme.html` e feeds RSS. O tempo extra vai para limpar o cache de página depois de mexer na querystring dos CSS, sem o qual o número antigo continua servido. Conferir cada endpoint manualmente adiciona uns 5 minutos de validação ao processo.
O que mais expõe a versão do WordPress além da meta generator?
Além da meta generator, expõem a versão o `readme.html` na raiz, a querystring ?ver= dos arquivos CSS e JS, a tag generator do feed RSS, o arquivo opml e comentários inline de alguns temas. O `readme.html` é o mais esquecido, porque sobrevive a filtros PHP por ser servido como arquivo estático. Tratar só o HTML deixa pelo menos cinco vetores abertos.
Próximos passos para blindar o WordPress
Esconder a versão do WordPress é a primeira camada de um conjunto maior de hardening, e funciona melhor combinada com patch em dia, firewall ativo e controle de acesso. Trate os quatro vetores na ordem, valide cada endpoint e nunca confunda ocultar o número com corrigir a falha. Para aprofundar a edição segura de arquivos do core, veja como editar o wp-config.PHP no WordPress e a seleção dos melhores plugins de segurança WordPress em 2026. Para um currículo completo do tema, o FULL Academy reúne os guias de segurança em sequência.
















