Guida di risoluzione

Nascondere il numero di versione di WordPress

8 febbraio 2026 Aggiornato il 19 apr 2026

WordPress mostra per impostazione predefinita il suo numero di versione in diversi posti. Di per sé, questa non è una vulnerabilità critica. Ma dà agli aggressori un vantaggio. Se qualcuno sa che stai eseguendo WordPress 6.2.1, può cercare ogni exploit noto per quella specifica release e provarli contro il tuo sito. Rimuovere le informazioni sulla versione è un primo passo semplice che rende meno efficaci gli strumenti di scansione automatizzati.

Dove WordPress espone il numero di versione

WordPress è sorprendentemente generoso nel rivelare quale versione sta eseguendo. Ecco i posti più comuni in cui gli aggressori (e chiunque guardi il tuo codice sorgente) possono trovarlo:

  • Meta tag generator: WordPress aggiunge un tag <meta name="generator" content="WordPress 6.x.x"> alla sezione <head> di ogni pagina. Questo è il posto più ovvio e appare a ogni visualizzazione di pagina.
  • Feed RSS e Atom: il feed RSS del tuo sito (di solito su /feed/) include un elemento <generator> con la stringa di versione completa di WordPress. Molti proprietari di siti dimenticano completamente i feed, lasciando questo vettore aperto.
  • Query string di script e stylesheet: WordPress aggiunge ?ver=6.x.x agli URL dei file CSS e JavaScript quando li mette in coda. Anche se rimuovi il meta tag, questo parametro continua a diffondere la tua versione a ogni richiesta di asset.
  • Il file readme.html: WordPress viene fornito con un file readme.html nella directory principale. Questo file contiene il numero di versione in chiaro ed è accessibile a chiunque conosca l'URL.
  • Il file license.txt: come readme.html, il file license.txt si trova nella root di WordPress e può confermare che il sito esegue WordPress.
  • Il codice sorgente della pagina di login: la pagina di login di WordPress su /wp-login.php carica stylesheet e script con query string di versione, rendendola un'altra fonte di informazioni sulla versione.
  • Risposte della REST API: la root della REST API di WordPress su /wp-json/ può anche rivelare dettagli sulla versione negli header o nel body della risposta.

Perché è importante nascondere la versione

Ogni release principale di WordPress ha un changelog pubblico. Quando viene rilasciata una patch di sicurezza, la vulnerabilità che corregge diventa informazione pubblica. I bot automatizzati scansionano continuamente il web alla ricerca di siti che eseguono ancora la versione vecchia e vulnerabile. Se il tuo sito pubblicizza "WordPress 6.2.1" e una SQL injection critica è stata corretta in 6.2.2, il tuo sito diventa un bersaglio entro poche ore dal rilascio della patch.

Nascondere il numero di versione non risolve la vulnerabilità stessa. Rimuove semplicemente un punto di dati che gli aggressori utilizzano per dare priorità agli obiettivi. Considerala come la rimozione del numero civico da una lista di case con porte non chiuse. La porta potrebbe essere ancora aperta, ma almeno non sei nella shortlist.

Rimuovere la versione da HTML e feed

Aggiungi il seguente codice al file functions.php del tuo tema o, meglio ancora, a un plugin specifico del sito in modo che sopravviva alle modifiche del tema:

// Remove the generator meta tag from HTML head
remove_action('wp_head', 'wp_generator');

// Remove version from RSS feeds
add_filter('the_generator', '__return_empty_string');

// Remove version query string from scripts and styles
function remove_wp_version_from_assets($src) {
    if (strpos($src, 'ver=' . get_bloginfo('version'))) {
        $src = remove_query_arg('ver', $src);
    }
    return $src;
}
add_filter('style_loader_src', 'remove_wp_version_from_assets', 9999);
add_filter('script_loader_src', 'remove_wp_version_from_assets', 9999);

La chiamata remove_action rimuove il meta tag. Il filtro the_generator gestisce i feed RSS e Atom. I due filtri loader rimuovono il parametro ?ver= da tutti gli asset in coda. L'uso della priorità 9999 garantisce che questo venga eseguito dopo che plugin e temi hanno messo in coda i propri script.

Rimuovere readme.html e license.txt

Questi file statici si trovano nella directory principale di WordPress e contengono informazioni sulla versione. Eliminali:

rm /percorso/a/wordpress/readme.html
rm /percorso/a/wordpress/license.txt

C'è un avvertimento: WordPress ricreerà questi file durante gli aggiornamenti core. Hai due opzioni per gestire questo. Puoi eliminarli manualmente dopo ogni aggiornamento. Oppure puoi aggiungere un piccolo script al tuo processo di deployment che li elimini automaticamente. Se utilizzi WP-CLI, un hook post-update funziona bene per questo.

Approcci basati su plugin

Se preferisci non modificare i file di codice, diversi plugin gestiscono la rimozione della versione per te. Plugin di sicurezza come Wordfence, iThemes Security e All In One WP Security includono tutti opzioni per nascondere la versione di WordPress. Opzioni leggere come Meta Generator and Version Info Remover si concentrano specificamente su questo compito senza aggiungere overhead extra.

Quando scegli un plugin, assicurati che copra tutte le posizioni elencate sopra, non solo il meta tag. Alcuni plugin rimuovono solo il tag generator e lasciano intatte le query string degli script.

La sicurezza tramite oscurità non è sufficiente

Nascondere la versione di WordPress è una buona pratica, ma non è una strategia di sicurezza di per sé. Un aggressore determinato può ancora identificare la tua versione di WordPress tramite altri metodi, come confrontare il contenuto dei file JavaScript core o controllare la presenza di funzionalità specifiche introdotte in determinate release.

Per una vera sicurezza, devi combinare il nascondere la versione con le basi:

  • Mantieni WordPress, temi e plugin aggiornati: questa è la cosa più importante che puoi fare. La maggior parte degli hack di WordPress sfrutta vulnerabilità note in software obsoleti.
  • Usa password forti e autenticazione a due fattori: gli attacchi brute force contro wp-login.php rimangono uno dei vettori di attacco più comuni.
  • Installa un web application firewall (WAF): servizi come Cloudflare, Sucuri o un WAF basato su plugin possono bloccare le richieste dannose prima che raggiungano WordPress.
  • Limita i tentativi di login: plugin come Limit Login Attempts Reloaded impediscono agli aggressori di eseguire attacchi automatizzati di indovinamento password.
  • Disabilita XML-RPC se non ne hai bisogno: XML-RPC è un altro vettore di attacco comune per brute force e amplificazione DDoS.

Verifica le modifiche con InspectWP

Dopo aver implementato queste modifiche, esegui una nuova scansione InspectWP sul tuo sito. Controlla la sezione WordPress del report. Il numero di versione non dovrebbe più apparire nel codice sorgente HTML e il meta tag generator dovrebbe essere scomparso. Se InspectWP rileva ancora una versione, verifica che lo snippet di codice sia caricato correttamente e che i plugin di caching non stiano servendo una versione obsoleta delle tue pagine.

Controlla subito il tuo sito WordPress

InspectWP analizza il tuo sito WordPress per problemi di sicurezza, problemi SEO, conformità GDPR e prestazioni — gratuitamente.

Analizza gratis il tuo sito