f in x
WordPress Hardening: Checklist Completa 2026
> cd .. / HUB_EDITORIALE > Visualizza in Inglese
Analisi dei dati e metriche

WordPress Hardening: Checklist Completa 2026

[2026-06-01] Author: Ing. Calogero Bono

Il tuo sito WordPress è già stato violato? Forse no, ma se non hai mai fatto hardening, è solo questione di tempo. Lo vediamo tutti i giorni nei progetti che ci arrivano: plugin obsoleti, utenti admin con password deboli, permessi dei file a 777, backup assente. Piccole dimenticanze che aprono la porta a ransomware, defacement o furto di dati. Noi, di Meteora Web, trattiamo la sicurezza come un investimento, non un costo. Questa guida ti dà una checklist operativa e completa per blindare WordPress, con comandi reali e decisioni concrete.

Perché l'Hardening non è opzionale

WordPress alimenta oltre il 40% del web. È un bersaglio enorme. Le vulnerabilità più sfruttate non sono bug zero-day: sono configurazioni lasche. Un plugin non aggiornato, un tema nulled, un utente 'admin' con password 'admin123'. Noi abbiamo visto clienti perdere mesi di lavoro per un form non protetto. L'hardening non è paranoia: è manutenzione ordinaria.

1. Aggiornamenti: il primo muro

Mantieni tutto aggiornato: core, plugin, temi. Le vulnerabilità note vengono patchate ogni settimana. Se non aggiorni, lasci la porta aperta.

Azioni immediate:

  • Attiva gli aggiornamenti automatici per i plugin critici? No, meglio la gestione manuale per testare la compatibilità. Imposta aggiornamenti automatici solo per i plugin di sicurezza (es. Wordfence).
  • Usa wp-cli per aggiornare da terminale: wp plugin update --all e wp theme update --all.
  • Verifica la lista dei plugin disinstallati: se è disattivato ma ancora presente, cancellalo. Un plugin inattivo può ancora essere vulnerabile.

2. Utenti e permessi: meno è meglio

Mai usare l'utente 'admin'. Troppi attacchi brute force partono da lì. Crea un utente con nome difficile e assegna privilegi minimi.

Checklist:

  • Cancella l'utente 'admin' se esiste. Assegna i suoi contenuti a un nuovo utente.
  • Usa password forti (minimo 16 caratteri, alfanumerici e simboli). Per gestirle, leggi la nostra guida sui password manager.
  • Limita i tentativi di login: plugin come Limit Login Attempts Reloaded bloccano IP dopo N tentativi.
  • Attiva la 2FA per tutti gli amministratori. Senza, la password è l'unica barriera.

3. File system: permessi e configurazione

I permessi dei file sono spesso l'anello debole. Su server Linux, wp-config.php deve essere leggibile solo da chi serve il sito.

Comandi da eseguire (via SSH):

# Permessi standard per WordPress
find /path/to/wp -type d -exec chmod 755 {} \;
find /path/to/wp -type f -exec chmod 644 {} \;

# Proteggi wp-config.php
chmod 440 wp-config.php

# Blocca l'accesso a wp-content/uploads (esegui dentro .htaccess)

Modifica wp-config.php per maggiore sicurezza:

// Disabilita la modifica dei file dall'admin
if ( ! defined( 'DISALLOW_FILE_EDIT' ) ) {
    define( 'DISALLOW_FILE_EDIT', true );
}

// Forza SSL nell'amministrazione
if ( ! defined( 'FORCE_SSL_ADMIN' ) ) {
    define( 'FORCE_SSL_ADMIN', true );
}

// Disabilita il debug (non in produzione)
if ( ! defined( 'WP_DEBUG' ) ) {
    define( 'WP_DEBUG', false );
}

4. Database: salta il prefisso standard

Il prefisso wp_ è il più comune. Gli attacchi SQL injection lo sanno. Cambialo prima di installare il sito (o tramite plugin post-installazione).

Come fare:

-- Modifica manuale del prefisso (attenzione: backup prima)
RENAME TABLE wp_users TO yourprefix_users;
RENAME TABLE wp_usermeta TO yourprefix_usermeta;
-- ... ripeti per tutte le tabelle

Poi aggiorna wp-config.php con $table_prefix = 'yourprefix_';.

5. .htaccess e sicurezza del server

Blocca l'accesso diretto a file sensibili e disabilita la navigazione delle directory.

# .htaccess nella root di WordPress
# Blocca l'accesso a wp-config.php

    order allow,deny
    deny from all


# Disabilita la lista delle directory
Options -Indexes

# Blocca l'esecuzione di PHP in uploads

    php_flag engine off


# Proteggi il file .htaccess stesso

    order allow,deny
    deny from all

6. Plugin di sicurezza: scegli con criterio

Non installare 10 plugin di sicurezza. Ne bastano 1-2, ben configurati. Noi consigliamo:

  • Wordfence: Firewall e scansione malware.
  • iThemes Security (o Solid Security): Hardening completo.
  • Sucuri Security: Audit logging e monitoraggio.

Configura il firewall per bloccare IP malevoli e attivare la protezione da brute force. Attenzione: un plugin mal configurato può rallentare il sito. Testa sempre le performance.

7. SSL e HTTPS: non c'è scusa

Senza SSL, i dati viaggiano in chiaro. Oggi Let's Encrypt lo offre gratis. Noi, quando su un server si è rotto il rinnovo automatico dei certificati, l'abbiamo risolto e automatizzato. Fallo anche tu.

Azioni:

  • Ottieni un certificato SSL (Let's Encrypt via Certbot).
  • Imposta il rinnovo automatico con un cron job: 0 0 * * * certbot renew.
  • Forza HTTPS nel .htaccess o via plugin.
  • Verifica che tutti i media siano serviti su HTTPS (nessun mixed content).

8. Backup: prima di tutto

Un sito sicuro ma senza backup non è sicuro. Se viene violato, l'unica soluzione è ripristinare. Automatizza i backup di database e file.

Strumenti:

  • UpdraftPlus per backup su cloud (Google Drive, Dropbox).
  • VaultPress (Jetpack) per backup real-time.
  • Script custom via cron per backup raw.

Testa il ripristino almeno una volta al mese. Un backup che non si ripristina è inutile.

9. Monitoraggio e logging

Non puoi difenderti se non sai cosa succede. Attiva i log degli errori di WordPress e del server.

In wp-config.php:

define( 'WP_DEBUG_LOG', true ); // scrive in wp-content/debug.log
// Ricorda: disabilitalo in produzione se non serve per debug

Usa un plugin come Activity Log per tracciare modifiche di utenti, login falliti, aggiornamenti.

10. Headers di sicurezza

Invia header HTTP che prevengono attacchi XSS, clickjacking, MIME sniffing. Aggiungi queste righe al tuo .htaccess o via server Nginx:

# .htaccess
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "no-referrer-when-downgrade"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"

In sintesi — cosa fare adesso

  1. Aggiorna core, plugin e temi. Cancella quelli inutilizzati.
  2. Rimuovi l'utente 'admin' e attiva la 2FA per tutti gli amministratori.
  3. Correggi i permessi dei file e proteggi wp-config.php.
  4. Configura .htaccess per bloccare accessi diretti e directory listing.
  5. Imposta backup automatici e testa il ripristino.

Non serve diventare esperti di cybersecurity: bastano poche azioni sistematiche. Se vuoi approfondire le vulnerabilità più comuni, leggi la nostra guida sulle OWASP Top 10. E ricorda: la sicurezza nelle PMI italiane è sistematicamente sottovalutata. Noi lo vediamo ogni giorno. Inizia ora.

Sponsored Protocol

Ing. Calogero Bono

> AUTHOR_EXTRACTED

Ing. Calogero Bono

Co-founder di Meteora Web. Ingegnere informatico, sviluppo ecosistemi digitali ad alte prestazioni. AI, automazione, SEO tecnica e infrastrutture web. Scrivo di tecnologia per rendere complesso… semplice.

[ Read Full Dossier ]

Hai bisogno di applicare questa strategia?

Esegui il protocollo di contatto per iniziare un progetto con noi.

> INIZIA_PROGETTO

Sponsored

> MW_JOURNAL

> READ_ALL()