Gestire 50+ Siti WordPress Senza Perdere la Sanità Mentale
Con 5 siti WordPress, ti ricordi quali plugin ha ciascuno. Con 15, usi un foglio Excel. Con 50, il foglio Excel è un incubo di celle colorate e nessuno lo aggiorna. Ti serve un sistema, non un foglio.
Questo articolo è per chi gestisce più di 10 siti WordPress professionalmente: agenzie, freelance con portfolio, team IT di aziende multi-brand. Le soluzioni variano da “gratis con script” a “SaaS con dashboard”, ma l’obiettivo è lo stesso: vedere tutto, controllare tutto, da un posto solo.
I 3 Approcci alla Gestione Multi-Sito
Approccio 1: WP-CLI + Script Bash (gratis, potente, nerd)
Se hai accesso SSH a tutti i server, WP-CLI è il tool più potente che esista per la gestione WordPress. Zero costi, zero dipendenze, massimo controllo.
#!/bin/bash
# status-all-sites.sh - Panoramica di tutti i siti
SITES=("/var/www/site1" "/var/www/site2" "/var/www/site3")
printf "%-30s %-10s %-10s %-10s\n" "SITO" "WP VER" "PLUGIN↑" "PHP"
for site in "${SITES[@]}"; do
name=$(basename "$site")
cd "$site"
wp_ver=$(wp core version 2>/dev/null)
updates=$(wp plugin list --update=available --format=count 2>/dev/null)
php_ver=$(wp eval 'echo phpversion();' 2>/dev/null)
printf "%-30s %-10s %-10s %-10s\n" "$name" "$wp_ver" "$updates" "$php_ver"
done
30 siti, 10 secondi, panoramica completa. Nessun plugin installato, nessun dato che esce dal server.
Approccio 2: Dashboard SaaS (ManageWP, MainWP, InfiniteWP)
Dashboard web che si collegano ai tuoi siti tramite un plugin worker. Vedi tutto da un pannello, aggiorni in bulk, fai backup, monitora uptime.
Il confronto dettagliato è nel nostro articolo ManageWP vs MainWP vs AgencyPilot.
Approccio 3: AgencyPilot (gestione + AI)
AgencyPilot aggiunge l’AI alla gestione multi-sito: report automatici, uptime predittivo, vulnerability scanning. Non è solo una dashboard, è un sistema operativo per agenzie WordPress.
Le 7 Attività Quotidiane della Gestione Multi-Sito
| Attività | Frequenza | Tempo manuale (30 siti) | Tempo automatizzato |
|---|---|---|---|
| Controllare aggiornamenti | Giornaliera | 45 min | 0 (alert automatico) |
| Applicare aggiornamenti | Settimanale | 2-3 ore | 30 min (bulk + verifica) |
| Verificare backup | Giornaliera | 30 min | 0 (alert su failure) |
| Monitorare uptime | Continua | N/A (impossibile manualmente) | 0 (automatico) |
| Security scan | Settimanale | 1-2 ore | 15 min (review alert) |
| Report clienti | Mensile | 3-5 ore | 15 min (AI + revisione) |
| Pulizia database | Mensile | 1 ora | 0 (cron script) |
Tempo manuale: ~30 ore/mese. Tempo con automazione: ~5 ore/mese. Il 83% del tempo liberato è il ROI della gestione strutturata.
Lo Script Master: Tutto in Un Comando
#!/bin/bash
# daily-management.sh - Il tuo daily standup WordPress
SITES=("/var/www/site1" "/var/www/site2" "/var/www/site3")
REPORT=""
for site in "${SITES[@]}"; do
name=$(basename "$site")
cd "$site"
# Check aggiornamenti
updates=$(wp plugin list --update=available --format=count 2>/dev/null || echo "?")
# Check uptime (HTTP status)
url=$(wp option get siteurl 2>/dev/null)
status=$(curl -s -o /dev/null -w "%{http_code}" "$url" 2>/dev/null || echo "ERR")
# Check backup (ultimo file)
last_backup=$(ls -t /backups/$name/*.sql.gz 2>/dev/null | head -1)
backup_age="N/A"
if [ -n "$last_backup" ]; then
backup_age=$(( ($(date +%s) - $(stat -c %Y "$last_backup")) / 86400 ))d
fi
# Segnala problemi
if [ "$status" != "200" ] || [ "$updates" -gt 5 ] 2>/dev/null; then
REPORT+="⚠️ $name: HTTP=$status updates=$updates backup=$backup_age\n"
fi
done
if [ -n "$REPORT" ]; then
echo -e "$REPORT" | mail -s "WordPress Daily Alert" admin@agenzia.com
fi
Organizzare i Siti per Priorità
Non tutti i siti meritano la stessa attenzione. Classifica:
| Tier | Tipo | SLA | Monitoring | Aggiornamenti |
|---|---|---|---|---|
| 🔴 Tier 1 | E-commerce, PA, siti con dati sensibili | 99.9% uptime | Ogni minuto | Staging first, settimanali |
| 🟡 Tier 2 | Siti aziendali attivi, blog con traffico | 99.5% uptime | Ogni 5 minuti | Diretti, settimanali |
| 🟢 Tier 3 | Siti vetrina statici, landing page | 99% uptime | Ogni 15 minuti | Mensili, bulk |
FAQ
WordPress Multisite o installazioni separate?
Installazioni separate. Multisite condivide il database e il core: se uno viene compromesso, tutti sono a rischio. Multisite ha senso solo se i siti condividono lo stesso tema e gli stessi plugin (es: rete di siti per una PA). Per agenzie con clienti diversi: sempre separati.
Quanti siti può gestire una persona?
Con gestione manuale: 10-15 siti prima di impazzire. Con automazione (script + dashboard): 50-80 siti per persona. Con AI (report automatici, vulnerability scanning, uptime predittivo): 100+ siti per persona.
Devo installare un plugin worker su ogni sito?
Se usi ManageWP o MainWP, sì. Se usi WP-CLI via SSH, no. Se usi AgencyPilot, dipende dalla modalità. Il plugin worker è un compromesso: aggiunge un punto di accesso al sito (potenziale vettore di attacco) ma abilita la gestione remota senza SSH.