La struttura del database WordPress

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.

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.

TabellaMemorizzaUsata perCosa si rompe se manca o è corrotta
wp_optionsURL del sito, Plugin attivi, impostazioni Theme, transient, regole di rewrite, dati cronBootstrap WordPress, impostazioni Plugin, configurazione sitoRedirect URL errati, impostazioni mancanti, errori Plugin, cron rotto, autoload opzioni lento
wp_postsArticoli, pagine, allegati, revisioni, menu, custom post typeContenuti, libreria media, menu di navigazione, molti tipi di dati PluginPagine/articoli/media mancanti, menu rotti, voci custom post type mancanti
wp_postmetaMetadati per articoli, pagine, allegati, prodotti, page builder, Plugin SEOImmagini in evidenza, dati prodotto, campi SEO, layout dei builderImmagini mancanti, layout rotti, dati prodotto mancanti, metadati SEO incompleti
wp_usersAccount utente, login, password hash, email, nomi visualizzatiAutenticazione e autorialitàUtenti non possono accedere, autori spariscono
wp_usermetaRuoli utente, capabilities, campi profilo, impostazioni utente PluginPermessi e impostazioni specifiche per utenteL’admin perde i permessi, ruoli scompaiono, impostazioni utente rotte
wp_commentsCommenti, pingback, trackback, recensioniSistemi di commenti e recensioniCommenti o recensioni scompaiono
wp_commentmetaMetadati per commenti e recensioniStato spam, valutazioni, dati Plugin per commentiMetadati recensioni, dati spam o dati commenti Plugin persi
wp_termsNomi e slug dei terminiCategorie, tag, categorie link, termini tassonomici customNomi categoria e tag scompaiono
wp_termmetaMetadati per i termini tassonomiciImmagini termini, metadati SEO, campi termine customMetadati categoria/tag scompaiono
wp_term_taxonomyTipo di tassonomia, relazione genitore, conteggi terminiDistingue categoria vs tag vs tassonomia customCategorie/tag mappati erroneamente o perdono gerarchia
wp_term_relationshipsRelazioni tra contenuti e termini tassonomiciAssegna articoli/prodotti/pagine a categorie e tagGli articoli perdono categorie/tag, menu e relazioni tassonomiche rotti
wp_linksDati legacy blogroll/link managerFunzionalità Links Manager deprecata e vecchi PluginDi 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:

WordPress Database Header of the table 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.

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:

Table wp_posts column attachment post_type
Table wp_posts column revision post_type

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.

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:

WordPress Database Structure and tables - SVG

Apri l’immagine a piena risoluzione: tasto destro -> Apri immagine in nuova scheda

Problemi comuni del database WordPress e le tabelle dietro di essi

ProblemaTabella/e più rilevante/iCosa controllare
Il sito reindirizza al dominio sbagliato dopo la migrazionewp_optionsControlla siteurl, home e le opzioni Plugin serializzate
L’utente admin esiste ma non ha permessi adminwp_usermetaControlla la chiave capabilities, specialmente dopo aver cambiato il prefisso della tabella
Gli articoli esistono ma categorie o tag mancanowp_terms, wp_term_taxonomy, wp_term_relationshipsControlla se tutte le tabelle tassonomiche sono state migrate insieme
Le voci della libreria media esistono ma le immagini sono rottewp_posts, wp_postmeta, cartella uploadsGli 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 migrazionewp_posts, wp_terms, wp_term_relationships, wp_postmetaI menu di navigazione sono memorizzati in diverse tabelle
Le impostazioni Plugin scompaionowp_options, a volte tabelle specifiche del PluginControlla se il Plugin memorizza le impostazioni in wp_options o in tabelle custom
Il sito diventa lento dopo la migrazionewp_options, wp_postmetaControlla le opzioni autoload e le tabelle di metadati grandi
Commenti o recensioni scompaionowp_comments, wp_commentmetaMigra entrambe le tabelle insieme
WordPress dice che una tabella non esistewp-config.php, tutte le tabelle con prefissoControlla $table_prefix e che tutte le tabelle usino lo stesso prefisso

Updated on Maggio 23, 2026

Rene Hermenau

Autore: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.