7 segnali di avvertimento del database di WordPress che la maggior parte dei proprietari di siti perde
John Turner
John Turner
Pulisci prima di migrare, non dopo. Un database più piccolo significa un backup più piccolo, un trasferimento più veloce e meno da debuggare se qualcosa va storto.
Eppure il tuo database ha accumulato silenziosamente peso morto per mesi, forse anni.
Il gonfiore del database non si manifesta sempre nel front-end. Le tue pagine possono apparire uguali ai visitatori sia che il tuo database sia snello o che contenga migliaia di revisioni di post.
I problemi emergono altrove: un backup che impiega il doppio del tempo per essere completato, una migrazione che si blocca a metà, o una dashboard di amministrazione che risulta lenta ad ogni caricamento di pagina.
Ho visto questo su siti che altrimenti erano ben mantenuti. Nessuno aveva guardato il database per anni, e si è visto nel momento in cui abbiamo provato a migrare.
Questi segnali sono specifici e diagnosticabili. Non è necessario eseguire query SQL o scavare in phpMyAdmin per sapere se il tuo database necessita di attenzione. Devi solo sapere cosa cercare.
Ti mostrerò i segnali chiave che indicano che il tuo database WordPress necessita di ottimizzazione e come appare un database sano, in modo che tu abbia un obiettivo da raggiungere.
Ecco i punti chiave:
- Il gonfiore del database può essere invisibile nel front-end, specialmente nelle pagine memorizzate nella cache. I segnali spesso si manifestano nelle dimensioni dei backup, nei tempi di migrazione e nella velocità dell'amministrazione piuttosto che sul tuo sito live.
- I segnali da tenere d'occhio: amministrazione lenta, errori di salvataggio post, ritardi "in attesa del database" nei test di velocità, caricamenti lenti di pagine non memorizzate nella cache, backup sovradimensionati, migrazioni lente e dimensioni del database sproporzionate.
- Dati autoload superiori a circa 800 KB - 1 MB possono diventare un problema, a seconda del sito e della configurazione della cache. La tabella wp_options è il primo posto da controllare.
- Tabelle orfane di plugin disinstallati si accumulano silenziosamente e contribuiscono alle dimensioni del database senza aggiungere nulla di utile.
- DB Optimizer assegna al tuo database un punteggio di salute da 0 a 100 in cinque categorie, in modo che tu sappia esattamente cosa necessita di attenzione prima di migrare o eseguire il backup.
- Pulisci prima di migrare, non dopo. Un database più piccolo significa un backup più piccolo, un trasferimento più veloce e meno cose da correggere se qualcosa va storto.
Indice
- Cosa si accumula nel tuo database WordPress?
- 7 segnali che indicano che il tuo database WordPress necessita di ottimizzazione
- La tua amministrazione WordPress è notevolmente lenta
- Ricevi errori durante il salvataggio dei post
- Gli strumenti di test di velocità mostrano ritardi "in attesa del database"
- I caricamenti delle pagine sono lenti per le richieste non memorizzate nella cache
- I tuoi backup sono più grandi del dovuto
- Le migrazioni richiedono più tempo del previsto
- Il tuo database ha tabelle orfane o dimensioni sproporzionate
- Come appare un database sano
- Come controllare la salute del tuo database prima della prossima migrazione
- Domande frequenti (FAQ)
Cosa si accumula nel tuo database WordPress?
WordPress genera una quantità sorprendente di dati che non hanno nulla a che fare con i tuoi contenuti effettivi. Non è colpa tua; è solo il modo in cui funziona la piattaforma.
Revisioni dei post
Ogni volta che salvi o aggiorni un post, WordPress ne memorizza una revisione. Non c'è un limite predefinito a meno che tu non ne imposti uno.
Un post che hai modificato 50 volte ha 50 copie memorizzate nel tuo database. Su un blog attivo o su un sito dove lavorano più editor, quelle copie si accumulano velocemente.
Transitori scaduti e dati autoload
I transient sono record temporanei che i plugin memorizzano nel tuo database. Cose come risposte API, risultati di query memorizzati nella cache e impostazioni di breve durata.
Sono progettati per scadere da soli dopo un certo periodo. Spesso, rimangono nel database finché non vengono puliti o nuovamente acceduti.
I transient scaduti possono accumularsi nella tua tabella wp_options, che è dove WordPress memorizza le impostazioni a livello di sito. Quelli contrassegnati come "autoload" vengono caricati ad ogni richiesta di pagina non memorizzata nella cache.
Quando i dati autoload raggiungono la gamma di 800KB a 1MB o oltre, possono diventare un problema di prestazioni. Aggiungono overhead ad ogni caricamento di pagina sul tuo sito, sia esso amministrativo o altro.
Commenti spam, cestino e metadati orfani
Mettere un post nel cestino o contrassegnare un commento come spam non lo rimuove dal database. Rimane lì finché non lo elimini definitivamente.
I plugin disattivati lasciano righe in wp_postmeta e wp_options. Una volta che un plugin è stato rimosso, quelle righe non hanno un record padre a cui collegarsi.
Sono chiamati metadati orfani e si accumulano silenziosamente ogni volta che cambi un plugin.
Sovraccarico delle tabelle
Quando le righe vengono eliminate da una tabella del database, MySQL non recupera automaticamente quello spazio. Gli spazi lasciati vuoti sono chiamati overhead.
Le tabelle che gestiscono scritture frequenti (come wp_options e wp_postmeta) possono accumulare overhead più velocemente di altre. L'overhead di solito non rompe nulla, ma spreca spazio su disco e può rendere alcune attività di manutenzione meno efficienti.
7 segnali che indicano che il tuo database WordPress necessita di ottimizzazione
Un sito lento è facile da attribuire all'hosting o ai plugin. Questi segnali sono più specifici. Ognuno punta direttamente al database.
- Amministrazione WordPress lenta: La dashboard bypassa la cache delle pagine e interroga il database ad ogni caricamento. Una tabella wp_options gonfia rende ogni pagina di amministrazione lenta.
- Errori durante il salvataggio dei post: Errori di scrittura e corruzione della tabella producono errori di salvataggio che sembrano conflitti di plugin ma risalgono al database.
- "In attesa del database" nei test di velocità: GTmetrix lo identifica specificamente. Un TTFB elevato con una risposta lenta del server indica tabelle frammentate, non il tuo host.
- Caricamenti lenti di pagine non memorizzate nella cache: Utenti loggati, editor e pagine di checkout WooCommerce bypassano la cache. Se questi flussi sono lenti, è probabile che la causa sia il database.
- Backup sovradimensionati: La dimensione del backup riflette direttamente la dimensione del database. Il peso morto viene sottoposto a backup insieme a tutto il resto.
- Migrazioni lente: Un database gonfio produce un pacchetto di migrazione più grande, un caricamento più lento e più cose che possono andare storte durante il trasferimento.
- Dimensioni del database sproporzionate: Se il tuo database è molto più grande di quanto suggerisce il conteggio dei tuoi contenuti, tabelle orfane e accumuli di spazzatura spiegano il divario.
La tua amministrazione WordPress è notevolmente lenta
Questa è solitamente la prima cosa che i proprietari di siti notano. Il front-end sembra a posto, ma la dashboard, l'elenco dei post e la libreria multimediale si caricano lentamente.
L'amministrazione di WordPress bypassa completamente la cache delle pagine. Ogni pagina di amministrazione dipende dalle query del database.
Quando wp_options è ingombrato da transient scaduti e impostazioni residue dei plugin, WordPress ha più dati da elaborare ad ogni richiesta non memorizzata nella cache.
Ho visto questo su siti in cui i dati autoloaded erano cresciuti oltre 2 MB. Ogni pagina di wp-admin impiegava diversi secondi per rispondere.
La soluzione non è stato un aggiornamento dell'hosting. È stata la pulizia del database.
Ricevi errori durante il salvataggio dei post
Errori intermittenti durante il salvataggio dei post sono facili da attribuire a un conflitto di plugin. Il database è spesso la causa effettiva.
Un database sotto stress a causa di corruzione, problemi di blocco o vincoli del server può iniziare a fallire sotto carico di scrittura. Potresti vedere un prompt generico "Sei sicuro di voler fare questo?", uno schermo bianco, o un post che sembra essere salvato ma non lo è.
La corruzione della tabella (che può verificarsi quando un'operazione del database viene interrotta) produce gli stessi sintomi.
Se hai escluso i conflitti di plugin e gli errori continuano a ripresentarsi, controlla prima la salute del tuo database.
Gli strumenti di test di velocità mostrano ritardi "In attesa del database"
Strumenti come GTmetrix ti mostrano dove viene impiegato il tempo durante il caricamento di una pagina.
In GTmetrix, la barra viola nel grafico waterfall rappresenta il "tempo di attesa" - il tempo tra l'invio della richiesta da parte del browser e la ricezione del primo byte dal server.

Una barra viola lunga indica un'elaborazione lato server lenta. Tale elaborazione include le query al database.
Quando le tabelle frammentate richiedono più tempo per essere scansionate del dovuto, le query che dovrebbero essere eseguite in meno di 10 millisecondi iniziano ad accumularsi. La barra viola si allunga.
Un TTFB (Time to First Byte, il tempo tra una richiesta del browser e il primo byte di una risposta) elevato con un tempo di risposta del server lento è uno dei segnali misurabili più chiari che il tuo database necessita di attenzione.
I caricamenti delle pagine sono lenti per le richieste non memorizzate nella cache
La cache nasconde i problemi del database alla maggior parte dei visitatori. Serve una copia memorizzata nella cache della pagina invece di interrogare il database ogni volta da zero. Ma la cache non copre tutti.
Gli utenti amministratori, gli editor e i membri registrati bypassano completamente la cache della pagina. Anche le pagine del carrello e del checkout di WooCommerce in genere la bypassano. Se questi flussi risultano lenti, il database è probabilmente la causa.
I tuoi backup sono più grandi del dovuto
La dimensione del backup è un riflesso diretto della dimensione del database. I dati inutili vengono sottoposti a backup insieme a tutto il resto.
Un database che contiene 100.000 revisioni di post e 50.000 transient scaduti aggiunge megabyte reali a ogni backup. Ciò significa tempi di trasferimento più lunghi, più spazio di archiviazione cloud consumato e ripristini più lenti se mai ne avrai bisogno.
La maggior parte delle persone non se ne accorge perché i backup vengono eseguiti in background. Te ne accorgi solo quando un backup va in timeout o un ripristino richiede un'ora in più del previsto.
Le migrazioni richiedono più tempo del previsto
Quando migri un sito WordPress, l'intero database si sposta con esso. Ogni riga orfana, transient scaduto e copia di revisione fa il viaggio.
Un database gonfio produce un pacchetto di migrazione più grande. Ciò significa un caricamento più lento, più tempo affinché qualcosa vada storto durante il trasferimento e una situazione più difficile da risolvere in caso di fallimento della migrazione.
L'ordine corretto è pulire prima il database, quindi creare il backup, quindi migrare.
Il tuo database ha tabelle orfane o dimensioni sproporzionate
Ogni plugin che crea le proprie tabelle di database le lascia indietro quando viene disinstallato, a meno che lo sviluppatore non abbia scritto esplicitamente codice di pulizia.
Le tabelle dei plugin che hai rimosso anni fa potrebbero essere ancora nel tuo database. Occupano spazio e aggiungono disordine a ogni query che scansiona l'elenco delle tue tabelle.
Se il tuo database è di 500 MB ma hai solo 300 post, tabelle orfane e spazzatura accumulata potrebbero spiegare la differenza.
La maggior parte dei pannelli di controllo dell'hosting mostra la dimensione del tuo database. Se non l'hai controllato di recente, vale la pena dare un'occhiata.
Come appare un database sano
Ecco come appare un database WordPress ben mantenuto:
- Dati autoloadati inferiori a circa 800 KB - 1 MB, a seconda del sito e della configurazione della cache
- Overhead delle tabelle pari o vicino allo zero dopo una recente pulizia
- Transienti cancellati o in scadenza come previsto
- Revisioni dei post limitate o periodicamente potate
- Nessuna tabella residua da plugin disattivati
La maggior parte dei proprietari di siti non ha modo di controllare queste cose senza eseguire query SQL o scavare in phpMyAdmin. Questo è il divario che DB Optimizer colma.
DB Optimizer è un plugin che assegna al tuo database un punteggio di salute da 0 a 100. Valuta cinque categorie: overhead delle tabelle, transienti, revisioni, dimensione autoload e elementi cestinati.

Ogni categoria ha la propria barra di avanzamento e un voto in codice colore. Verde significa che sei in buona forma. Giallo significa che qualcosa necessita di attenzione. Rosso significa che è ora di pulire.

Ottimizza l'intero database in blocco con la scheda Cleanup. DB Optimizer pulisce le revisioni dei post, i commenti spam, i transienti, i trackback e altri dati non necessari.

Ciò trasforma la manutenzione del database in un compito semplice di cui puoi effettivamente tenere il passo.
Come controllare la salute del tuo database prima della prossima migrazione
Se stai pianificando una migrazione, questo è il momento giusto per controllare la salute del tuo database. Non dopo che il trasferimento richiede il doppio del tempo.
Apri DB Optimizer e controlla il tuo punteggio di salute. Guarda quali categorie sono verdi, gialle o rosse. Questo ti dice dove sono i problemi prima di toccare qualsiasi cosa.
Vai alla scheda Cleanup. Prima di eseguire qualsiasi operazione, DB Optimizer ti mostra il numero totale di elementi disponibili per la pulizia e lo spazio recuperabile in tutto il tuo database. Decidi tu cosa pulire e cosa lasciare stare.
Imposta la tua soglia di conservazione. L'impostazione predefinita è 7 giorni, il che significa che tutto ciò che è stato creato nell'ultima settimana è off-limits indipendentemente dai tipi di pulizia selezionati.
Se sei cauto, impostala più in alto. Se vuoi una tabula rasa prima di migrare, impostala più in basso.

DB Optimizer mostra il conteggio degli elementi e la dimensione stimata per ogni tipo di pulizia prima che qualcosa venga eseguito. Rivedi l'elenco, deseleziona tutto ciò che vuoi conservare e conferma quando sei pronto.
DB Optimizer rileva automaticamente Duplicator e inserisce un link diretto per creare un backup proprio accanto ai controlli di pulizia. Cliccalo, dato che non vuoi perdere nulla di importante.

Un database più pulito significa un backup più piccolo, un trasferimento più veloce e meno cose da vagliare se qualcosa va storto.
Domande frequenti (FAQ)
Come faccio a sapere se il mio database WordPress è troppo grande?
Controlla la dimensione del tuo database nel pannello di controllo del tuo hosting o in phpMyAdmin. Un database significativamente più grande del tuo contenuto effettivo suggerisce un accumulo di bloat. Se hai qualche centinaio di post ma il tuo database è di diverse centinaia di megabyte, tabelle orfane, revisioni dei post e transienti scaduti sono la causa probabile. Controlla anche specificamente i tuoi dati autoloaded. Qualsiasi cosa superiore a 800 KB è un segno che la tabella wp_options necessita di attenzione.
Il bloat del database influisce sulla velocità del front-end?
Dipende da cosa è gonfio. I dati autoloaded influiscono su ogni caricamento di pagina indipendentemente dalla cache perché WordPress li carica prima di servire qualsiasi richiesta. Le tabelle frammentate e l'alto overhead influiscono sulle richieste non memorizzate nella cache, che includono utenti connessi, pagine di checkout di WooCommerce e qualsiasi pagina che la tua cache non riesce a trovare. I visitatori che accedono a pagine memorizzate nella cache potrebbero non notare nulla. Tutti gli altri lo sentono.
Ogni quanto dovrei ottimizzare il mio database WordPress?
Mensilmente per siti attivi con pubblicazioni regolari, frequenti modifiche ai plugin o transazioni WooCommerce. Trimestralmente come minimo per siti a traffico inferiore. Esegui sempre una pulizia prima di una migrazione importante o di un aggiornamento di WordPress significativo. Più a lungo aspetti tra una pulizia e l'altra, più cose ci saranno da vagliare quando finalmente lo farai.
È sicuro eliminare le revisioni dei post?
Sì. L'eliminazione delle revisioni dei post rimuove le copie storiche del tuo contenuto, non la versione pubblicata. I tuoi post live non vengono influenzati. Detto questo, esegui sempre un backup prima di eseguire qualsiasi pulizia del database. Se elimini una revisione di cui avevi bisogno, un backup è l'unico modo per recuperarla.
Cos'è l'overhead della tabella in WordPress e ha importanza?
L'overhead della tabella è lo spazio inutilizzato lasciato in una tabella del database dopo che le righe sono state eliminate. MySQL non recupera automaticamente quello spazio. Ha importanza perché l'overhead spreca spazio su disco e costringe MySQL a scansionare vuoti durante le query. Su un sito molto utilizzato con frequenti eliminazioni, l'overhead si accumula più velocemente di quanto la maggior parte delle persone si aspetti.
La pulizia del mio database romperà il mio sito?
Non se lo fai con attenzione. Usa una soglia di conservazione per mantenere i dati recenti fuori portata. Visualizza in anteprima esattamente cosa verrà rimosso prima di confermare. Esegui prima un backup completo. La pulizia rimuove permanentemente i record del database senza un annullamento integrato, quindi il backup è ciò che ti fornisce un'opzione di ripristino se qualcosa va storto.
Cosa causa errori durante il salvataggio dei post in WordPress?
La corruzione delle tabelle del database e i fallimenti di scrittura sotto sforzo sono due cause comuni che vengono spesso diagnosticate erroneamente come conflitti di plugin. Un database frammentato o sovraccarico può fallire durante le operazioni di scrittura, producendo errori di salvataggio generici o schermate bianche. Se hai escluso i conflitti di plugin e gli errori continuano a ripresentarsi, esegui un controllo di integrità del database prima di cercare altrove.
Un database gonfio non si risolve da solo
I problemi di prestazioni trattati in questo post sono reali, ma si manifestano nelle dimensioni dei backup, nei tempi di migrazione e nella velocità di risposta dell'amministratore, non sul tuo frontend. Ecco perché vengono ignorati.
Il costo si manifesta in seguito. Una migrazione che dovrebbe richiedere 20 minuti ne richiede due ore. Un backup fallisce a metà trasferimento perché il file è diventato troppo grande. Il salvataggio di un post inizia a generare errori e passi un pomeriggio a escludere conflitti di plugin quando il database aveva bisogno di una pulizia.
La manutenzione del database è facile da rimandare indefinitamente perché le conseguenze sono invisibili finché non lo sono più.
Un controllo che vale la pena fare subito, prima di installare qualsiasi cosa: apri la tua dashboard di hosting o phpMyAdmin e guarda le dimensioni della tua tabella wp_options. Su un tipico sito WordPress, dovrebbe essere da qualche parte sotto i 3-5 MB.
Se è 10 MB o più, i dati autoload sono quasi certamente il problema. Quella singola tabella, quando è gonfia, aggiunge overhead a ogni caricamento di pagina su tutto il tuo sito, memorizzato nella cache o meno. È il modo più rapido per ottenere una lettura approssimativa se il tuo database ha un problema che vale la pena affrontare.
DB Optimizer ti mostra un quadro più completo. Ti fornisce un punteggio di integrità del database, un'anteprima completa di ciò che è disponibile per la pulizia prima che venga eseguito qualsiasi cosa e una soglia di conservazione configurabile che mantiene automaticamente i dati recenti fuori portata.
DB Optimizer è incluso nel piano Duplicator Elite insieme a WP Media Cleanup, Activity Log e Duplicator Pro. Quattro strumenti per mantenere il tuo sito WordPress sano, sottoposto a backup e pronto per essere spostato quando ne hai bisogno.
Se questo post ti ha fatto pensare alla salute del tuo database, queste guide valgono la pena di essere lette successivamente.
- Come ottimizzare il tuo database WordPress
- Ecco i passaggi per riparare il database di WordPress che ho eseguito personalmente (nessuno sviluppatore necessario)
- Manutenzione del database di WordPress: Cosa fare settimanalmente, mensilmente e trimestralmente
- Come eseguire il backup di un database WordPress (Guida completa)
- Come ripristinare un database WordPress (3 metodi)
- I 13 migliori plugin per database WordPress per una facile gestione dei dati