Ogni plugin installato è una potenziale porta d’ingresso per gli hacker. La statistica è chiara: il 97% delle vulnerabilità WordPress proviene da plugin e temi. Meno codice di terzi = meno rischi.
Anatomia di un Attacco via Plugin
# Come funziona tipicamente:
1. Ricercatore scopre vulnerabilità in plugin X
2. Pubblica CVE (Common Vulnerabilities and Exposures)
3. Entro 24-48h: exploit in-the-wild
4. Molti siti non aggiornano immediatamente
5. Bot automatici scannerizzano e compromettono
# Esempio reale (2024):
# Plugin "Contact Form 7" - 5M+ installazioni
# CVE-2024-XXXX: Arbitrary File Upload
# Tempo da disclosure a exploit: 18 ore
Audit: Quali Plugin Hai Davvero Bisogno?
# Lista tutti i plugin installati
wp plugin list --fields=name,status,update,version
# Plugin da eliminare SEMPRE:
□ "Hello Dolly" (default inutile)
□ Plugin SEO multipli (uno è sufficiente)
□ Plugin "all-in-one" che fanno 50 cose
□ Plugin disattivati da mesi
□ Plugin non aggiornati da >1 anno
□ Plugin con <1000 installazioni attive
Verifica Vulnerabilità Note
# Installa WPScan per security audit
gem install wpscan
# Scansione vulnerabilità
wpscan --url https://tuosito.com --enumerate p
# Oppure usa Wordfence CLI
wp wordfence scan
Alternative Native ai Plugin Comuni
| Plugin | Alternativa Nativa |
|---|---|
| Custom CSS plugin | Customizer > Additional CSS |
| Google Analytics plugin | Tag diretto in functions.php o GTM |
| Disable Comments plugin | 5 righe in functions.php |
| Contact form plugin | Form HTML + wp_mail() o servizio esterno |
| Social sharing buttons | Link diretti alle API social |
| Maintenance mode plugin | Snippet in functions.php |
Esempio: Disabilitare Commenti Senza Plugin
// functions.php - Sostituisce "Disable Comments" plugin
add_action( 'admin_init', function() {
// Rimuovi supporto commenti da tutti i post type
foreach ( get_post_types() as $post_type ) {
remove_post_type_support( $post_type, 'comments' );
remove_post_type_support( $post_type, 'trackbacks' );
}
});
add_filter( 'comments_open', '__return_false', 20, 2 );
add_filter( 'pings_open', '__return_false', 20, 2 );
add_filter( 'comments_array', '__return_empty_array', 10, 2 );
add_action( 'admin_menu', function() {
remove_menu_page( 'edit-comments.php' );
});
add_action( 'wp_before_admin_bar_render', function() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu( 'comments' );
});
Plugin che Vale la Pena Tenere
Alcuni plugin sono "must-have" perché fanno bene UNA cosa:
- ACF Pro - Custom fields (codice pulito, ben mantenuto)
- Yoast/RankMath - SEO (UNO solo!)
- WooCommerce - E-commerce (se serve)
- Wordfence/Sucuri - Security (UNO solo!)
- UpdraftPlus - Backup (essenziale)
Il Vero Costo dei Plugin "Gratuiti"
# Plugin gratuito medio:
- Carica 2-5 file CSS (30-100KB)
- Carica 1-3 file JS (50-200KB)
- Aggiunge 5-20 query database
- Potenziale punto di vulnerabilità
- Richiede aggiornamenti costanti
- Potrebbe essere abbandonato
# 20 plugin → Performance -40%, Rischio 20x
Strategia di Riduzione Plugin
# 1. Audit iniziale
wp plugin list --status=active --format=count
# Obiettivo: < 15 plugin attivi
# 2. Per ogni plugin, chiediti:
# - È essenziale per il business?
# - Esiste alternativa nativa?
# - È aggiornato negli ultimi 6 mesi?
# - Ha più di 10.000 installazioni attive?
# 3. Disattiva e testa
wp plugin deactivate plugin-name
# Aspetta 1 settimana, verifica che nulla si rompa
wp plugin delete plugin-name
# 4. Sostituisci con codice custom
# Sposta funzionalità critiche nel tema
Checklist Sicurezza Plugin
□ Elimina plugin disattivati
□ Aggiorna TUTTI i plugin all'ultima versione
□ Rimuovi plugin non aggiornati da >1 anno
□ Verifica vulnerabilità con WPScan
□ Sostituisci plugin semplici con codice custom
□ Mantieni massimo 10-15 plugin
□ Configura aggiornamenti automatici per minor release
□ Monitora changelog per security fix
Non sai quali plugin puoi eliminare? Offriamo audit di sicurezza che includono analisi plugin e raccomandazioni personalizzate.