Vai al contenuto
Ottimizzazione del Database WordPress: Come Pulire e Velocizzare il Tuo Database

Ottimizzazione del Database WordPress: Come Pulire e Velocizzare il Tuo Database

Erik KellerErik KellerAggiornato il: 15 min di lettura528 visualizzazioni

Ogni caricamento di pagina, invio di modulo, operazione di plugin e sessione utente in WordPress comporta query al database. Nel tempo, il database accumula sovraccarico: vecchie revisioni dei post, transitori scaduti, metadati orfani, commenti spam e tabelle inutilizzate da plugin disattivati. Questo ingombro rallenta le query, aumenta le dimensioni dei backup e degrada le prestazioni complessive del sito. Questa guida tratta di come identificare l'ingombro del database, pulirlo in modo sicuro e prevenirne il ritorno.

Cosa Memorizza WordPress nel Database

Comprendere cosa vive nel tuo database ti aiuta a identificare cosa può essere rimosso in modo sicuro. Un'installazione standard di WordPress utilizza 12 tabelle core, e i plugin aggiungono le proprie tabelle secondo necessità.

Tabella Memorizza Fonte Comune di Ingombro
wp_posts Post, pagine, revisioni, allegati, tipi di post personalizzati Revisioni dei post, auto-bozze
wp_postmeta Metadati per i post (campi personalizzati, dati del plugin) Meta orfani da post eliminati
wp_options Impostazioni del sito, impostazioni del plugin, transitori Transitori scaduti, vecchie impostazioni del plugin
wp_comments Commenti e trackback Commenti spam, commenti cestinati
wp_commentmeta Metadati per i commenti Metadati Akismet per commenti eliminati
wp_usermeta Metadati utente Token di sessione, dati utente del plugin
wp_termmeta Metadati per categorie e tag Metadati orfani dei termini

Fonti Comuni di Ingombro del Database

Revisioni dei Post

WordPress salva una revisione ogni volta che fai clic su "Salva Bozza" o "Aggiorna" su un post o una pagina. Un post modificato 50 volte ha 50 revisioni memorizzate nella tabella wp_posts, ciascuna con il proprio insieme di voci postmeta. Su un sito con centinaia di post, le revisioni possono rappresentare migliaia di righe di database non necessarie.

Transitori

I transitori sono dati temporanei memorizzati nella tabella wp_options dal core di WordPress e dai plugin. Hanno tempi di scadenza, ma WordPress non elimina automaticamente i transitori scaduti. Si accumulano nel tempo e possono far crescere significativamente la tabella delle opzioni, specialmente su siti con molti plugin.

Dati Orfani

Quando elimini un post, i suoi metadati (voci wp_postmeta) potrebbero non essere eliminati. Allo stesso modo, eliminare commenti, utenti o termini può lasciare righe di metadati orfani. I plugin disattivati ed eliminati spesso lasciano le loro tabelle di database, consumando spazio e ingombrando il tuo database.

Contenuti Spam e Cestinati

I commenti spam, i post cestinati e i commenti cestinati rimangono nel database fino a quando non vengono svuotati manualmente. I siti con Akismet o altri filtri antispam possono accumulare migliaia di commenti spam che necessitano di una pulizia periodica.

Auto-Bozze

WordPress crea post auto-bozza quando fai clic su "Aggiungi Nuovo" nell'editor dei post, anche se non pubblichi mai. Questi si accumulano nel tempo e non servono a nulla dopo la fine della sessione di modifica.

Pulizia Manuale del Database tramite SQL

Per coloro che si sentono a proprio agio con SQL, puoi pulire direttamente utilizzando phpMyAdmin o un client di database. Esegui sempre un backup del tuo database prima di eseguire le query di pulizia.

Elimina le Revisioni dei Post

-- Elimina tutte le revisioni dei post
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Elimina i metadati orfani (metadati per i post eliminati)
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID È NULL;

Pulizia dei Transienti

-- Elimina i transitori scaduti
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();

-- Elimina i dati transitori per i transitori scaduti
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';

Rimuovi Commenti Spam e Cestino

-- Elimina commenti spam
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Elimina commenti nel cestino
DELETE FROM wp_comments WHERE comment_approved = 'trash';

-- Elimina i metadati dei commenti orfani
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;

Pulizia del Database Basata su Plugin

Se preferisci un approccio basato su GUI, diversi plugin gestiscono l'ottimizzazione del database con capacità di programmazione:

WP-Optimize

WP-Optimize è un plugin gratuito che pulisce revisioni, bozze, spam, transitori e dati orfani. Ottimizza anche le tabelle del database e supporta pulizie programmate. La versione Pro aggiunge supporto per multisito e programmazione avanzata.

Ottimizzazione del Database di WP Rocket

WP Rocket include una scheda Database che gestisce revisioni, auto-bozze, post nel cestino, commenti spam, transitori e ottimizzazione delle tabelle. Poiché WP Rocket è principalmente un plugin di caching, ottieni la pulizia del database insieme all'ottimizzazione delle prestazioni in un unico strumento.

Pulitore Avanzato del Database

Questo plugin va più a fondo rilevando tabelle lasciate da plugin disattivati ed eventi cron orfani. Classifica le tabelle come core di WordPress, create da plugin o sconosciute, aiutandoti a identificare quali tabelle sono sicure da rimuovere.

Plugin Versione Gratuita Pulizia Programmata Rilevamento Tabelle
WP-Optimize Base
WP Rocket No (solo Premium) No
Pulitore Avanzato del Database Solo Pro Sì (dettagliato)

Ottimizzazioni di wp-config.php

Prevenire l'ingrossamento del database alla fonte aggiungendo queste costanti al tuo file wp-config.php:

Limita le Revisioni dei Post

// Mantieni solo 5 revisioni per post (consigliato)
define( 'WP_POST_REVISIONS', 5 );

// Disabilita completamente le revisioni (non consigliato per la maggior parte dei siti)
define( 'WP_POST_REVISIONS', false );

Impostare le revisioni a 5 fornisce una storia sufficiente per recuperare da errori, mentre previene una crescita illimitata delle revisioni. Per siti con contenuti pesanti e modifiche frequenti, 10 revisioni sono un'alternativa ragionevole.

Svuota Automaticamente il Cestino

// Svuota il cestino ogni 7 giorni (il valore predefinito è 30)
define( 'EMPTY_TRASH_DAYS', 7 );

// Disabilita il cestino (gli elementi vengono eliminati immediatamente - usare con cautela)
define( 'EMPTY_TRASH_DAYS', 0 );

Intervallo di Salvataggio Automatico

// Aumenta l'intervallo di salvataggio automatico a 5 minuti (il valore predefinito è 60 secondi)
define( 'AUTOSAVE_INTERVAL', 300 );

Ottimizzazione delle Tabelle del Database

Dopo aver eliminato righe, esegui un'operazione di OTTIMIZZAZIONE per recuperare spazio frammentato:

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;

Programma questo mensilmente o dopo grandi operazioni di pulizia. La maggior parte dei plugin di pulizia include l'ottimizzazione delle tabelle nelle loro attività programmate.

Pianificazione della Pulizia Automatica

Imposta programmi automatizzati: pulizia settimanale di transitori e spam, rimozione mensile delle revisioni e ottimizzazione delle tabelle, e audit trimestrali delle tabelle dei plugin orfani. WP-Optimize e WP Rocket supportano entrambi la pulizia programmata. Configurali durante le ore di minor traffico.

Monitoraggio delle Dimensioni del Database

Monitora le dimensioni del tuo database per individuare l'ingombro in anticipo. Esegui questa query per vedere le dimensioni delle singole tabelle:

SELECT table_name AS 'Tabella',
       ROUND(data_length / 1024 / 1024, 2) AS 'Dati (MB)',
       table_rows AS 'Righe'
FROM information_schema.tables
WHERE table_schema = 'il_tuo_nome_database'
ORDER BY (data_length + index_length) DESC
LIMIT 20;

Se wp_options supera i 5 MB o wp_postmeta cresce oltre i 100 MB, è tempo di una pulizia. Queste tabelle vengono interrogate frequentemente, quindi la loro dimensione influisce direttamente sui tempi di caricamento delle pagine.

Per un approccio completo all'ottimizzazione delle prestazioni che include l'ottimizzazione del database insieme alla memorizzazione nella cache, all'ottimizzazione delle immagini e alla configurazione del server, leggi la nostra guida all'ottimizzazione della velocità di WordPress. Per una salute continua del database come parte della tua routine di manutenzione, consulta la nostra guida alla manutenzione di WordPress.

Per ulteriori dettagli, fare riferimento alla documentazione ufficiale: API del Database di WordPress.

Domande Frequenti

È sicuro eliminare le revisioni dei post dal database?

Sì, eliminare le revisioni dei post è sicuro e non influisce sul tuo contenuto pubblicato. Le revisioni sono istantanee storiche delle modifiche ai draft. Una volta che il tuo contenuto è finalizzato, le revisioni non servono a nulla per la maggior parte dei siti. Tuttavia, esegui sempre il backup del tuo database prima di effettuare qualsiasi pulizia.

L'ottimizzazione del database migliorerà visibilmente la velocità del mio sito?

Il miglioramento dipende da quanto sia ingombrato il tuo database. I siti con oltre 50.000 righe orfane o una tabella wp_options che supera i 10 MB vedranno miglioramenti evidenti nei tempi di caricamento delle pagine e nella reattività della dashboard di amministrazione. I siti più piccoli potrebbero vedere guadagni marginali. L'ottimizzazione del database funziona insieme alla memorizzazione nella cache e ad altre misure di prestazione per un miglioramento cumulativo.

Con quale frequenza dovrei ottimizzare il mio database WordPress?

Per i siti attivi con aggiornamenti regolari dei contenuti, l'ottimizzazione mensile è una buona base. I siti ad alto traffico con commenti frequenti, transazioni WooCommerce o invii di moduli possono beneficiare di una pulizia settimanale di transitori e spam con ottimizzazione mensile delle tabelle.

I plugin di pulizia del database possono rompere il mio sito?

I plugin affidabili come WP-Optimize e WP Rocket sono progettati per essere sicuri. Mirano a categorie di ingombro note (revisioni, transitori, spam) e non toccano dati essenziali. Il rischio aumenta quando si eliminano manualmente tabelle specifiche dei plugin. Se non sei sicuro se una tabella sia necessaria, lasciala in posizione e ricerca prima il suo scopo.

Qual è la differenza tra OPTIMIZE TABLE e l'eliminazione di righe?

Eliminare righe rimuove dati dalla tabella. OPTIMIZE TABLE riorganizza lo spazio di archiviazione fisico della tabella dopo che le righe sono state eliminate, recuperando spazio su disco e deframmentando il file di dati. Pensala come eliminare file (rimuovendo righe) rispetto a deframmentare il tuo hard disk (ottimizzando la tabella).

Dovrei usare InnoDB o MyISAM per le tabelle di WordPress?

WordPress utilizza InnoDB per impostazione predefinita dalla versione 5.5, ed è il motore di archiviazione raccomandato. InnoDB supporta il blocco a livello di riga (migliore per utenti concorrenti), transazioni e recupero da crash. MyISAM è più veloce per operazioni ad alta lettura ma manca di queste funzionalità di affidabilità. Se trovi tabelle MyISAM nel tuo database, in genere si consiglia di convertirle in InnoDB.

Come posso identificare le tabelle lasciate da plugin disattivati?

Il plugin Advanced Database Cleaner può rilevare e categorizzare le tabelle non core. In alternativa, esegui la query SQL SHOW TABLES e confronta i nomi delle tabelle con le tabelle core di WordPress e i tuoi plugin attualmente attivi. Le tabelle con prefissi che corrispondono ai plugin disattivati sono candidate per la rimozione.

WooCommerce aggiunge un ingombro significativo al database?

Sì. WooCommerce memorizza dati sugli ordini, metadati dei prodotti, sessioni dei clienti e transitori che crescono sostanzialmente nei negozi attivi. Usa WooCommerce > Stato > Strumenti per cancellare regolarmente transitori e sessioni scaduti.

Ottimizza le Prestazioni da Ogni Angolo

WP Rocket gestisce la memorizzazione nella cache, la pulizia del database e l'ottimizzazione delle prestazioni in un unico plugin, così puoi mantenere il tuo sito funzionante senza intoppi.

Esplora WP Rocket →

Domande frequenti

Con quale frequenza dovrei ottimizzare il mio database WordPress?
Per la maggior parte dei siti, l'ottimizzazione mensile è sufficiente. I siti ad alto traffico con negozi WooCommerce attivi o forum dovrebbero ottimizzare settimanalmente. Strumenti automatizzati come WP-Optimize possono gestire questo secondo un programma.
È sicuro eliminare le revisioni dei post dal database?
Sì, eliminare le vecchie revisioni dei post è sicuro e comunemente raccomandato. WordPress memorizza revisioni illimitate per impostazione predefinita, il che può aggiungere migliaia di righe. Puoi limitare le revisioni aggiungendo la costante define REVISIONS a wp-config.php.
L'ottimizzazione del database migliorerà la velocità del mio sito?
L'ottimizzazione del database riduce tipicamente il tempo di esecuzione delle query, migliorando il tempo di risposta del server (TTFB). L'impatto è più evidente su pagine dinamiche con query complesse, come le pagine dei prodotti WooCommerce o i risultati di ricerca.
Dovrei ottimizzare il database prima o dopo un backup?
Crea sempre un backup completo del database prima di eseguire qualsiasi ottimizzazione. Questo assicura che tu possa ripristinare i tuoi dati se qualcosa va storto durante il processo di pulizia.
Cosa sono le righe di metadati orfani e posso rimuoverle in sicurezza?
I metadati orfani sono righe nelle tabelle meta che fanno riferimento a post, utenti o commenti che non esistono più. Sono sicuri da rimuovere e spesso si accumulano a causa di plugin o contenuti eliminati. Strumenti come WP-Optimize possono identificare e pulire queste voci.

Condividi questo articolo

Informazioni sull'Autore

Erik Keller
Erik Keller

Esperto WordPress

Specialista WordPress senior con vasta esperienza nello sviluppo di temi, plugin e WooCommerce. Appassionato nell'aiutare le aziende a raggiungere il successo con soluzioni WordPress.

WordPressWooCommerceSviluppo TemiSviluppo PluginOttimizzazione Prestazioni

Resta Aggiornato

Ricevi gli ultimi consigli e tutorial WordPress nella tua casella di posta.