WordPress e quasi tutti i Plugin memorizzano le proprie impostazioni in una posizione unica sul tuo server chiamata “database”. I dati memorizzati nel database sono organizzati in cosiddette ‘tabelle’. Questo articolo spiega in dettaglio il significato di tutti i campi disponibili della struttura predefinita del database WordPress.
TL;DR: WordPress memorizza la maggior parte dei dati del sito in un database MySQL o MariaDB. Un’installazione WordPress single-site standard usa attualmente 12 tabelle predefinite con un prefisso configurabile, comunemente
wp_. Queste tabelle memorizzano articoli, pagine, utenti, impostazioni, commenti, termini tassonomici e metadati, mentre Plugin, Theme, WooCommerce e installazioni multisite possono aggiungere altre tabelle.
Nota: per ispezionare in modo sicuro il tuo database WordPress, fai un Backup del tuo sito o crea un ambiente di staging usando WP STAGING. Poi usa uno strumento di gestione database, come phpMyAdmin o Adminer, per accedere e modificare il database senza impattare il tuo sito live.
Contents
- Tabelle del database WordPress a colpo d’occhio
- Come sono fatte le tabelle del database?
- Elenco delle tabelle core WordPress
- wp_options
- wp_users,wp_usermeta
- wp_posts,wp_postmeta
- wp_terms,wp_term_relationships,wp_term_taxonomy, wp_termmeta
- wp_comments,wp_commentmeta
- wp_links
- Tabella in arrivo di WordPress 7.0: wp_collaboration
- Struttura grafica del database WordPress
- Problemi comuni del database WordPress e le tabelle dietro di essi
- Articoli correlati
Tabelle del database WordPress a colpo d’occhio
Un’installazione WordPress single-site standard usa attualmente 12 tabelle predefinite del database. La tabella qui sotto riassume cosa memorizza ogni tabella, dove WordPress la usa e cosa può rompersi se la tabella manca o è corrotta.
| Tabella | Memorizza | Usata per | Cosa si rompe se manca o è corrotta |
|---|---|---|---|
wp_options | URL del sito, Plugin attivi, impostazioni Theme, transient, regole di rewrite, dati cron | Bootstrap WordPress, impostazioni Plugin, configurazione sito | Redirect URL errati, impostazioni mancanti, errori Plugin, cron rotto, autoload opzioni lento |
wp_posts | Articoli, pagine, allegati, revisioni, menu, custom post type | Contenuti, libreria media, menu di navigazione, molti tipi di dati Plugin | Pagine/articoli/media mancanti, menu rotti, voci custom post type mancanti |
wp_postmeta | Metadati per articoli, pagine, allegati, prodotti, page builder, Plugin SEO | Immagini in evidenza, dati prodotto, campi SEO, layout dei builder | Immagini mancanti, layout rotti, dati prodotto mancanti, metadati SEO incompleti |
wp_users | Account utente, login, password hash, email, nomi visualizzati | Autenticazione e autorialità | Utenti non possono accedere, autori spariscono |
wp_usermeta | Ruoli utente, capabilities, campi profilo, impostazioni utente Plugin | Permessi e impostazioni specifiche per utente | L’admin perde i permessi, ruoli scompaiono, impostazioni utente rotte |
wp_comments | Commenti, pingback, trackback, recensioni | Sistemi di commenti e recensioni | Commenti o recensioni scompaiono |
wp_commentmeta | Metadati per commenti e recensioni | Stato spam, valutazioni, dati Plugin per commenti | Metadati recensioni, dati spam o dati commenti Plugin persi |
wp_terms | Nomi e slug dei termini | Categorie, tag, categorie link, termini tassonomici custom | Nomi categoria e tag scompaiono |
wp_termmeta | Metadati per i termini tassonomici | Immagini termini, metadati SEO, campi termine custom | Metadati categoria/tag scompaiono |
wp_term_taxonomy | Tipo di tassonomia, relazione genitore, conteggi termini | Distingue categoria vs tag vs tassonomia custom | Categorie/tag mappati erroneamente o perdono gerarchia |
wp_term_relationships | Relazioni tra contenuti e termini tassonomici | Assegna articoli/prodotti/pagine a categorie e tag | Gli articoli perdono categorie/tag, menu e relazioni tassonomiche rotti |
wp_links | Dati legacy blogroll/link manager | Funzionalità Links Manager deprecata e vecchi Plugin | Di solito nulla sui siti moderni, a meno che un vecchio Plugin la usi ancora |
Come sono fatte le tabelle del database?
Immagina un foglio Excel con una riga di intestazione e valori nelle righe sottostanti.
Ad esempio, puoi vedere una piccola sezione della tabella qui. wp_options:

Parliamo di queste tabelle in modo più approfondito per capire perché è essenziale sapere quale tabella è responsabile dei contenuti di un sito WordPress.
Comprendere la struttura delle tabelle ti aiuta a capire quale tabella devi includere o escludere se prevedi di sincronizzare o spostare dati da un sito di staging al sito live o viceversa con WP STAGING. È utile anche se prevedi di aggiornare il sito di staging.
Questo diventa ancora più importante con WordPress 7.0 e successivi. La tabella pianificata wp_collaboration memorizza i dati di collaborazione in tempo reale dell’editor, che sono solitamente temporanei e specifici per ambiente. Quando fai il push di un sito di staging a un sito live, evita di sovrascrivere lo stato di collaborazione attivo del sito live a meno che tu non voglia intenzionalmente sostituire l’intero database.
Elenco delle tabelle core WordPress
La tabella qui sopra fornisce una rapida panoramica. La sezione seguente spiega le tabelle WordPress core in modo più dettagliato per sviluppatori, proprietari di siti e chiunque debugghi migrazioni, Backup o problemi di database.
- wp_options
- wp_users,
- wp_usermeta
- wp_posts
- wp_postmeta
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_termmeta
- wp_comments
- wp_commentmeta
- wp_links
WordPress può aggiungere nuove tabelle core nelle major release. Ad esempio, WordPress 7.0 prevede di introdurre `wp_collaboration` per i dati di collaborazione in tempo reale dell’editor.
Altre tabelle nel tuo database vengono create da Plugin o Theme e non sempre sono necessarie per far funzionare il sito.
wp_options
La tabella wp_options è una delle tabelle del database WordPress più essenziali e memorizza tutte le impostazioni di un sito WordPress, come URL, titolo, Plugin installati, ecc.! Anche la maggior parte dei Plugin memorizza qui le impostazioni.
Tutte le impostazioni nella dashboard WordPress sono memorizzate in questa tabella.
wp_users,
wp_usermeta
wp_users memorizza tutti gli utenti registrati su un sito WordPress. Contiene informazioni di base su un utente, come nome utente e password crittografata, email, ora di registrazione, nome visualizzato, status e alcuni altri campi.
wp_usermeta memorizza i metadati (‘dati aggiuntivi‘) degli utenti. Estende la tabella wp_users con più dati. Ad esempio, il nome di un utente è memorizzato nella tabella wp_usermeta invece che nella tabella wp_users.
Ci sono due campi necessari in questa tabella. I Plugin possono memorizzare dati custom in wp_usermeta semplicemente aggiungendo un nuovo valore nel campo meta_key.
wp_posts,
wp_postmeta
La tabella wp_posts memorizza tutti i dati relativi ai contenuti di un sito WordPress. Tutti gli articoli, le pagine e le loro revisioni sono disponibili nella tabella wp_posts. Potrebbe non essere chiaro, ma WordPress memorizza molto di più in quella tabella.
Questa tabella contiene anche le voci di menu di navigazione, file media e allegati come immagini e dati di contenuto usati dai Plugin.
In wp_posts c’è una colonna post_type che segmenta questi diversi tipi di dati, così una query del database può richiedere tipi specifici di dati. post_type è la colonna più critica in questa tabella.
Nelle immagini qui sotto puoi vedere due diversi post_types, revision e attachment, memorizzati nella stessa tabella wp_posts:


La tabella wp_postmeta, come la tabella wp_usermeta, estende la tabella wp_posts con più dati, che possono essere usati anche da altri Plugin.
Ad esempio, il popolare Plugin Yoast SEO memorizza tag open graph custom, articoli e dati URL in questa tabella.
wp_terms,
wp_term_relationships,
wp_term_taxonomy,
wp_termmeta
La tabella wp_terms memorizza categorie e tag per articoli, pagine e link.
Una delle colonne in questa tabella è ‘slug’. Uno slug è un termine che riflette un tag di un particolare articolo. In WordPress puoi usare i tag per connettere articoli, pagine e link.
wp_term_relationships è la congiunzione e connette questi tag ad articoli, pagine e link. È come una mappa tra gli oggetti dei termini e i termini.
wp_term_taxonomy estende la tabella wp_terms con più dati. È come dei metadati per la tabella wp_terms, con la differenza che i Plugin non possono aggiungere qui dati custom. Questa tabella contiene anche una relazione tra menu e voci di menu.
La tabella wp_termmeta memorizza metadati per i termini tassonomici. Funziona in modo simile a wp_postmeta, wp_usermeta e wp_commentmeta, ma per categorie, tag e termini tassonomici custom.
Plugin e Theme possono usare questa tabella per memorizzare dati aggiuntivi per i termini, come immagini di categoria, metadati SEO, colori custom, impostazioni di visualizzazione o altri campi specifici per tassonomia.
Se questa tabella manca o è incompleta dopo una migrazione, categorie e tag potrebbero ancora esistere ma i loro metadati aggiuntivi possono essere persi.
wp_comments,
wp_commentmeta
wp_comments memorizza i commenti su articoli e pagine. Questa tabella contiene anche commenti non approvati e informazioni sull’autore, insieme alla gerarchia dei commenti. La tabella wp_commentmeta contiene ulteriori metadati sui commenti.
wp_links
Questa tabella contiene informazioni sui link custom aggiunti al tuo sito. È deprecata e non viene più usata. Alcuni vecchi Plugin la usano ancora ma di solito è una tabella vuota.
Tabella in arrivo di WordPress 7.0: wp_collaboration
`wp_collaboration` è una nuova tabella del database core WordPress pianificata per WordPress 7.0. Fa parte della funzionalità di collaborazione in tempo reale nel block editor, che permette a più utenti di modificare lo stesso articolo o pagina contemporaneamente.
Versioni beta precedenti di WordPress 7.0 memorizzavano i dati di sincronizzazione relativi alla collaborazione nello storage di post e post meta. Questo ha creato problemi di performance perché l’attività dell’editor in tempo reale può scrivere dati molto frequentemente. Ogni aggiornamento di post meta può invalidare le cache di oggetti relativi al post, riducendo l’efficacia del caching persistente degli oggetti durante una sessione editor aperta.
La nuova tabella `wp_collaboration` separa i dati di collaborazione ad alta frequenza dalle normali tabelle di contenuto come `wp_posts` e `wp_postmeta`. Il suo scopo è memorizzare dati di sincronizzazione temporanei usati dall’editor, come aggiornamenti di editing collaborativi, identificatori client/sessione, informazioni di stanza e timestamp usati per la pulizia.
Questa tabella **non** sostituisce `wp_posts`, `wp_postmeta` o il sistema di revisioni WordPress. Articoli, pagine, allegati, custom post type e revisioni sono ancora memorizzati in `wp_posts`; i metadati specifici per post rimangono in `wp_postmeta`.
Per i Backup e le migrazioni, tratta `wp_collaboration` in modo diverso dalle tabelle di contenuto permanenti. Un Backup completo del database dovrebbe includerla, ma quando fai il push di un sito di staging in produzione, questa tabella di solito non deve sovrascrivere il sito live, poiché memorizza dati di collaborazione/sessione di breve durata piuttosto che contenuti canonici del sito. WordPress può ricreare lo stato di collaborazione mentre gli utenti modificano i contenuti.
Importante: anche se i dati sono temporanei, possono comunque contenere payload di sincronizzazione editor relativi a contenuti in elaborazione. Non trattarla come pubblica o eliminabile dal punto di vista della privacy e della sicurezza.
Nota: lo schema finale potrebbe ancora cambiare prima della release di WordPress 7.0. Durante lo sviluppo, le proposte pubbliche per `wp_collaboration` hanno incluso campi come un ID auto-incrementante, identificatore di stanza, identificatori client/utente, un payload dati e un timestamp GMT. Test recenti esplorano anche la memorizzazione dei dati di presence/awareness in una tabella separata `wp_presence`. Controlla lo schema finale del database WordPress 7.0 prima di pubblicare l’elenco esatto delle colonne.
Struttura grafica del database WordPress
Questo diagramma mostra come sono connesse le tabelle WordPress:
Apri l’immagine a piena risoluzione: tasto destro -> Apri immagine in nuova scheda
Problemi comuni del database WordPress e le tabelle dietro di essi
| Problema | Tabella/e più rilevante/i | Cosa controllare |
|---|---|---|
| Il sito reindirizza al dominio sbagliato dopo la migrazione | wp_options | Controlla siteurl, home e le opzioni Plugin serializzate |
| L’utente admin esiste ma non ha permessi admin | wp_usermeta | Controlla la chiave capabilities, specialmente dopo aver cambiato il prefisso della tabella |
| Gli articoli esistono ma categorie o tag mancano | wp_terms, wp_term_taxonomy, wp_term_relationships | Controlla se tutte le tabelle tassonomiche sono state migrate insieme |
| Le voci della libreria media esistono ma le immagini sono rotte | wp_posts, wp_postmeta, cartella uploads | Gli allegati sono memorizzati in wp_posts; i percorsi dei file sono spesso memorizzati in _wp_attached_file in wp_postmeta |
| I menu scompaiono dopo la migrazione | wp_posts, wp_terms, wp_term_relationships, wp_postmeta | I menu di navigazione sono memorizzati in diverse tabelle |
| Le impostazioni Plugin scompaiono | wp_options, a volte tabelle specifiche del Plugin | Controlla se il Plugin memorizza le impostazioni in wp_options o in tabelle custom |
| Il sito diventa lento dopo la migrazione | wp_options, wp_postmeta | Controlla le opzioni autoload e le tabelle di metadati grandi |
| Commenti o recensioni scompaiono | wp_comments, wp_commentmeta | Migra entrambe le tabelle insieme |
| WordPress dice che una tabella non esiste | wp-config.php, tutte le tabelle con prefisso | Controlla $table_prefix e che tutte le tabelle usino lo stesso prefisso |
Articoli correlati
- Dati serializzati, cosa significa e perché è così importante?
- Come unire il sito di staging alla produzione mantenendo articoli e contenuti utente
- Actions and Filters
- Come fare il Backup del tuo Theme WordPress in sicurezza
- Dove sono memorizzati i prodotti WooCommerce nel database?
- Aumentare la dimensione max allowed packet