La guida definitiva al database di WordPress

Pubblicato: 2022-02-09

Al suo interno, WordPress è un CMS (Content Management System). Per gestire i contenuti, deve essere in grado di archiviarli. WordPress lo fa attraverso cartelle, file e un database. In precedenza abbiamo trattato il filesystem di WordPress in un articolo separato; questa volta ci concentreremo sul database.

In questo articolo, esamineremo il database di WordPress, la sua struttura e il funzionamento di ciascun campo. Abbiamo anche incluso una breve lezione di storia su MySQL. Suggerimento – Il My in MySQL non significa che sia tuo; La mia è una persona reale, ma chi? – Continua a leggere per scoprirlo.

Sommario

  • Una (molto) breve storia di SQL, MySQL e MariaDB
  • Come accedere al database di WordPress
    • phpMyAdmin
    • Plesk/cPanel
    • Client SSH/MySQL/MariaDB
    • Plugin WordPress
  • Struttura del database di WordPress
    • Struttura della tabella
      • wp_commento meta
      • wp_commenti
      • wp_links
      • wp_opzioni
      • wp_postmeta
      • wp_posts
      • wp_terms
      • wp_termmeta
      • wp_term_relationships
      • wp_term_tassonomia
      • wp_utentemeta
      • wp_users

Una (molto) breve storia di SQL, MySQL e MariaDB

WordPress utilizza un RDBMS chiamato MySQL. Tecnicamente è basato su MySQL poiché, sempre più, viene utilizzato MariaDB al posto di MySQL. SQL sta per Structured Query Language ed è il linguaggio che utilizziamo per interagire con il database, e non il database stesso.

MySQL ha svolto un ruolo significativo nella crescita di Internet come lo conosciamo oggi. Introdotto per la prima volta nel 1995 come alternativa ai prodotti offerti da Microsoft e Oracle, è diventato rapidamente lo standard RDBMS d'oro preferito.

La storia di MySQL è colorata, essendo stata acquisita da Sun Microsystems e poi da Oracle (Oracle ha acquisito Sun Microsystems e MySQL con essa).

In risposta all'acquisizione di MySQL da parte di Oracle, Monty Widenius, il creatore originale di MySQL, ha biforcato MySQL in MariaDB, che ha chiamato in onore di sua figlia, Maria. (È interessante notare che MySQL prende il nome dall'altra figlia di Monty, My). Nel tempo si sono sviluppate differenze tra MariaDB e MySQL; tuttavia, i due rimangono intercambiabili in molti scenari, inclusi i database di WordPress.

Infatti, in molti casi, MariaDB è considerato un sostituto drop-in di MySQL. Ciò significa che puoi disinstallare MySQL, installare invece MariaDB e continuare a lavorare come se nulla fosse cambiato. Detto questo, MariaDB può offrire miglioramenti delle prestazioni in alcune situazioni e offre anche una maggiore compatibilità, ad esempio, con i motori di archiviazione.

È importante notare che MySQL rimane gratuito e viene rilasciato con un sistema a doppia licenza. In molti casi, MySQL viene utilizzato per fare riferimento a database che sono MySQL o MariaDB.

Come accedere al database di WordPress

Ci sono diverse opzioni disponibili quando si tratta di connettersi al database di WordPress. Il metodo o i metodi disponibili dipenderanno in gran parte dal tipo di hosting WordPress che utilizzi. Se non sei sicuro di come sia configurato il tuo server, parla con il tuo provider di hosting o con l'amministratore di sistema. In entrambi i casi, le opzioni possono includere;

phpMyAdmin

phpMyAdmin è uno strumento preferito in quanto ci consente di connetterci al database tramite una GUI basata sul Web. phpMyAdmin deve essere installato sullo stesso server che ospita il database, con molti provider di hosting che offrono phpMyAdmin immediatamente.

Plesk/cPanel

Plesk e cPanel sono due piattaforme del pannello di controllo che svolgono una funzione simile: un'interfaccia utente che facilita la gestione del server. Naturalmente, ci sono alcune differenze chiave, comprese le tecnologie e i sistemi operativi che supportano. In ogni caso, ci consentono anche di accedere ai database, anche se in modi leggermente diversi.

Client SSH/MySQL/mariaDB

SSH è un modo meno intuitivo per connettersi a un database, offrendo una CLI (Command Line Interface) invece di una GUI. Per questo motivo, si consiglia una comprensione più approfondita dei comandi SQL. SSH deve essere impostato in modo esplicito sullo stesso server che ospita il database prima di connettersi ad esso.

Plugin

Puoi anche utilizzare i plugin di WordPress per accedere al tuo database WordPress. Utilizzando un plug-in, puoi accedere al database direttamente dalla tua console di amministrazione di WordPress. Qui, dovrai assicurarti di scegliere un plug-in da un fornitore affidabile e seguire tutte le migliori pratiche applicabili per mantenere i tuoi dati al sicuro. Se non sei sicuro di quale plugin scegliere, leggi la nostra guida su come scegliere i migliori plugin per il tuo sito WordPress.

Struttura del database di WordPress

Il database di WordPress è composto da 12 tabelle. Ogni tabella, per impostazione predefinita, inizia con il prefisso wp_; tuttavia, questo può essere modificato durante l'installazione iniziale e il processo di configurazione. La modifica del prefisso è generalmente consigliata per motivi di sicurezza di WordPress, soprattutto se intendi o hai già più installazioni sullo stesso server.

Le 12 tabelle che compongono il database di WordPress sono le seguenti (elencate in ordine alfabetico):

  • wp_commento meta
  • wp_commenti
  • wp_links
  • wp_opzioni
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_termmeta
  • wp_term_relationships
  • wp_term_tassonomia
  • wp_utentemeta
  • wp_users

Ora esamineremo ogni tabella individualmente e osserveremo quali dati memorizza e la sua struttura interna.

Struttura della tabella

Prima di entrare nei dettagli di ogni tabella, vale la pena dedicare del tempo a guardare come è strutturata. Se non hai familiarità con la documentazione del database, questa sezione ti fornirà un corso accelerato che troverai utile nella sezione successiva. D'altra parte, se hai abbastanza familiarità con le tabelle SQL, sentiti libero di andare avanti.

  • Nome campo: questo è il nome del campo, che troverai nella tabella SQL
  • Descrizione: l'abbiamo inserito per aiutarti a capire che tipo di dati contiene il campo
  • Tipo: questo è il tipo di dati accettato dal campo. I numeri tra parentesi rappresentano il limite massimo del numero di caratteri accettabili che possiamo inserire
  • Null: al momento non è chiaro il motivo per cui questo campo viene utilizzato
  • Chiave – Questo ci dice se la voce è una chiave o meno. Esistono diversi tipi di chiavi, tra cui:
    • Primario
    • Primaria (parte)
    • Indice
    • Indice (parte)
    • Unico
    • Multiplo
  • Predefinito: se la voce ha un valore predefinito, il valore predefinito verrà elencato qui
  • Note – Eventuali note aggiuntive

wp_commento meta

La tabella wp_commentsmeta memorizza i metadati relativi ai commenti. I commenti vengono archiviati separatamente nella tabella wp_comments. La tabella ha i seguenti campi:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
meta_id Questo è un ID univoco per la voce. Si incrementa automaticamente bigint(20)non firmato Primario
commento_id Questo è l'ID del commento a cui si riferiscono i metadati come trovato nella tabella wp_comments bigint(20)non firmato Indice 0
meta_key Questo identifica il tipo di metadati a cui è destinata la voce varcar(255) Indice Nullo
meta_valore Questi sono i metadati effettivi testo lungo Nullo

wp_commenti

La tabella wp_comments memorizza i commenti dei post. I metadati relativi ai commenti sono archiviati nella tabella wp_commentmeta. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
commento_ID Questo è un ID univoco per la voce. Si incrementa automaticamente bigint(20) Primario N / A
commento_post_ID Questo è l'ID del post per cui è stato scritto il commento, come si trova nella tabella wp_posts bigint(20) Indice 0
commento_autore Questo è il nome dell'autore che ha scritto il commento testo minuscolo
commento_autore_email Questo è l'indirizzo email dell'autore che ha scritto il commento varcar(100) Indice
comment_author_url Questo è l'URL del sito web dell'autore che ha scritto il commento varcar(200)
commento_autore_IP Questo è l'indirizzo IP dell'autore che ha scritto il commento varcar(100)
data_commento Questa è la data e l'ora in cui è stato pubblicato il commento appuntamento 0000-00-00 00:00:00
comment_date_gmt Questa è la data e l'ora GMT (Greenwich Meridian Time) in cui è stato pubblicato il commento appuntamento Indice e Indice Pt2 0000-00-00 00:00:00
commento_contenuto Questo è il vero commento lasciato testo
commento_karma Questo è disponibile per l'uso da parte dei plugin per scopi di gestione dei commenti int(11)
commento_approvato Indica se il commento è stato approvato o meno varcar(20) Indice Parte 1 0
commento_agente Da qui è stato pubblicato il commento varcar(255)
tipo_commento Questo è il tipo di commento lasciato varcar(20)
commento_genitore Se il commento è una risposta, questo campo indica il commento del genitore bigint(20)non firmato Indice 0
ID utente Se un utente che commenta è registrato, questo sarà il suo ID disponibile in wp_users bigint(20)non firmato 0

wp_links

Questa tabella è stata originariamente creata per supportare i blogroll, una funzionalità che è stata eliminata a partire da WordPress 3.5. Viene mantenuto per compatibilità con le versioni precedenti ma non è più in uso. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
link_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint (20) non firmato Primario
link_url Questo è l'URL del collegamento varcar(255)
nome_collegamento
Questo è il nome del collegamento varcar(255)
link_image Questo è l'URL dell'immagine relativa al collegamento varcar(255)
link_target Questo è il frame di destinazione del collegamento varcar(25)
link_descrizione Questa è una descrizione del collegamento varcar(255)
link_visibile Questo ci dice se il link è mostrato pubblicamente o meno varcar(20) Indice Y
link_owner Questo è l'ID utente dell'utente che ha creato il collegamento come disponibile in wp_users bigint (20) non firmato 1
link_rating Questa è la valutazione del collegamento int(11) 0
link_aggiornato Questa è la data e l'ora in cui il collegamento è stato aggiornato appuntamento 0000-00-00 00:00:00
link_rel Questa è la relazione del collegamento varcar(255)
link_note Si tratta di note sul collegamento testo medio
link_rss Questo è l'indirizzo del feed RSS del collegamento varcar(255)

wp_opzioni

Le impostazioni di WordPress configurate tramite la console di amministrazione sono archiviate qui. Plugin e temi in genere memorizzeranno anche le informazioni sulle impostazioni qui, come illustrato nello screenshot qui sotto. Qui possiamo vedere l'opzione di frequenza di scansione del nostro Monitor delle modifiche ai file del sito Web impostata su giornaliera. Modifiche ai file di WordPress Monitora la frequenza di scansione

La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
opzione_id Questo è un ID univoco per la voce. Incrementa automaticamente. bigint(20) senza segno Primario
nome_opzione Questo è il nome dell'opzione/impostazione varcar(64) Unico
valore_opzione Questo è il valore dell'impostazione memorizzata testo lungo
caricamento automatico Questa impostazione dice a wp_load_alloptions() se dovrebbe caricare automaticamente l'opzione o meno varcar(20) Indice

wp_postmeta

I metadati dei post che accompagnano ogni post sono archiviati qui. I metadati possono includere file allegati, miniature, post slug desiderati e altre informazioni simili. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
meta_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
Nome campo
post_id

Questo è l'ID del post a cui sono associati i metadati come disponibile in wp_posts bigint(20) senza segno Indice 0
meta_key Questa è una chiave di indice che identifica i metadati, poiché ogni post può avere più di un metadati varcar(255) Indice Nullo
meta_valore Questi sono i metadati effettivi testo lungo Nullo

wp_posts

La tabella wp_posts è una delle principali e contiene il nucleo dei dati di WordPress. Contiene i post, le pagine e le voci del menu di navigazione effettivi, come mostrato nell'esempio seguente che mostra la pagina di esempio predefinita inclusa in ogni nuova installazione di WordPress. Pagina di esempio inclusa in ogni nuova installazione di WordPress

La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
ID Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario e indice (parte 4)
post_autore Questo è l'ID dell'autore che ha scritto il post come disponibile in wp_users bigint(20) senza segno Indice 0
data di pubblicazione Questa è la data e l'ora in cui è stato creato il post appuntamento Indice (parte 3) 0000-00-00 00:00:00
data_post_gmt Questa è la data e l'ora GMT (Greenwich Mean Time) in cui è stato creato il post appuntamento 0000-00-00 00:00:00
post_content Questo è il vero contenuto del post testo lungo
titolo del post Questo è il titolo del post testo
post_estratto Questo è un estratto del post testo
post_status Questo è lo stato del post varcar(20) Indice (parte 2) pubblicare
commento_stato Questo ci dice se i commenti sul post sono consentiti o meno varcar(20) aprire
ping_status Questo ci dice se ping e trackback sono consentiti o meno varcar(20) aprire
post_password I post possono essere protetti da password con qualsiasi password applicabile memorizzata qui varcar(20)
nome_post Questo è lo slug URL del titolo del post varcar(200) indice
to_ping Questo è un elenco di URL a cui WordPress dovrebbe inviare pingback ogni volta che il post viene aggiornato testo
ping Questo è un elenco di URL di cui WordPress ha eseguito il pingback quando aggiornato testo
post_modificato Questa è la data e l'ora dell'ultima modifica del post appuntamento 0000-00-00 00:00:00
post_modificato_gmt Questa è la data e l'ora GMT dell'ultima modifica del post appuntamento 0000-00-00 00:00:00
post_content_filtrato Questa è una versione filtrata di post_content che viene in genere utilizzata dai plugin per scopi di memorizzazione nella cache testo lungo
post_genitore Quando il post è una revisione o un allegato, questo crea la relazione genitore-figlio bigint(20) senza segno Indice 0
guida Questo è il Global Unique Identifier (GUID) del post varcar(255)
menu_ordine Questo è il numero d'ordine in cui compaiono le pagine e gli articoli non postali int(11) 0
tipo_post Questo identifica il tipo di contenuto varcar(20) Indice (parte 1) inviare
post_mime_type Questo è il tipo mimo degli allegati dei post varcar(100)
conteggio_commento Questo è il numero totale di commenti, trackback e pingback bigint(20) 0

wp_terms

I termini sono oggetti di classificazione utilizzati per classificare gli oggetti in WordPress. Ad esempio, le categorie e i tag utilizzati nei post sono tipi di termini. Questa tabella contiene tutti i diversi tipi di termini utilizzati in WordPress. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
term_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
nome Questo è il nome del termine varcar(200) Indice
lumaca Questa è la lumaca del termine varcar(200) Multiplo
termine_gruppo Questo è un alias che i temi e i plugin possono utilizzare per raggruppare i termini bigint(10) 0

wp_termmeta

Questa tabella memorizza i metadati associati ai termini trovati in wp_terms. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
meta_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
term_id Questo è l'ID del termine a cui si riferiscono i metadati come disponibile in wp_terms bigint(20) senza segno Indice 0
meta_key Questa è una chiave di identificazione per il termine metadati varcar(255) Indice NULLO
meta_valore Questi sono i metadati effettivi testo lungo NULLO

wp_term_relationships

Questa tabella mantiene le relazioni tra post e tassonomie. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
id_oggetto Questo è l'ID del post come disponibile in wp_posts bigint(20) senza segno Primaria (parte 1) 0
termine_tassonomia_id Questo è l'ID del termine tassonomia disponibile in wp_term_taxonomy bigint(20) senza segno Primaria (Parte 2) e Indice 0
termine_ordine Questo è l'ordine del termine int(11) 0

wp_term_tassonomia

Questa tabella fornisce le tassonomie dei termini e, in quanto tali, un contesto in cui possono essere utilizzati. Ad esempio, possiamo utilizzare il termine database come categoria di post e come categoria di prodotto (supponendo che stiamo vendendo servizi di database). In questo caso, la categoria post e la categoria prodotto sono tassonomie di termini. La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
termine_tassonomia_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
term_id Questo è l'ID del termine disponibile in wp_terms bigint(20) senza segno Unico (Parte 1) 0
tassonomia Questo è lo slug della tassonomia varcar(32) Unico (Parte 2) e Indice
descrizione Questa è una descrizione della tassonomia testo lungo
genitore Questo è l'ID della tassonomia padre se la tassonomia è un figlio bigint(20) senza segno 0
contare Questo è il numero di oggetti a cui viene assegnata questa tassonomia bigint(20) 0

wp_utentemeta

Questa tabella memorizza dati utente aggiuntivi che non si trovano nella tabella wp_users. Lo stesso WordPress, così come i plugin o i temi, possono utilizzare questa tabella.

Un esempio di metadati utente è il nickname utente. Sebbene WordPress includa questo campo per impostazione predefinita, fa ancora parte dei metadati, come mostrato di seguito. Un altro esempio è WooCommerce; un plug-in di e-commerce che utilizza questa tabella per memorizzare informazioni sui clienti come l'indirizzo di spedizione.

Metadati del nickname utente

La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
umeta_id Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
ID utente Questo è l'ID utente a cui si riferiscono le informazioni come trovato in wp_users bigint(20) senza segno Indice 0
meta_key Questo è un identificatore chiave per la meta voce varcar(255) Indice Nullo
meta_valore Questi sono i metadati effettivi testo lungo Nullo

wp_users

Le informazioni sugli utenti di WordPress sono archiviate qui. Poiché gli utenti sono parte integrante dell'ecosistema WordPress, questa tabella è essenziale.

La tabella memorizza solo le informazioni di base per ciascun utente, come mostrato nell'esempio seguente. Tutte le altre informazioni sono memorizzate nella tabella wp_usermeta.

Utenti di WordPress altre metainformazioni

La tabella ha le seguenti colonne:

Nome della colonna Descrizione Tipo Nullo Chiave Predefinito
ID Questo è un ID univoco per la voce. Incrementa automaticamente bigint(20) senza segno Primario
Login utente Questo è il nome utente dell'utente varcar(60) Indice
utente_pass Questa è la password dell'utente varcar(64)
nome_utente Questo è il nome visualizzato dell'utente varcar(50) Indice
utente_email Questo è l'indirizzo email dell'utente varcar(100)
user_url Questo è l'URL dell'utente (es. sito web) varcar(100)
utente_registrato Questa è la data e l'ora in cui l'utente è stato registrato appuntamento 0000-00-00 00:00:00
chiave_attivazione_utente Questa è la chiave di attivazione dell'utente, utilizzata per reimpostare la password varcar(60)
stato dell'utente Questo non è più utilizzato come da WordPress 3.0, ma utilizzato per indicare se l'utente era spam int(11) 0
nome da visualizzare Questo è il nome visualizzato pubblico dell'utente varcar(250)

Acquisisci familiarità con il database di WordPress

I database possono essere piuttosto intimidatori per chi non lo sapesse: dopotutto, contengono tutti i dati necessari per il funzionamento di WordPress. Sebbene sia vero che un passo falso qui può causare il crash del sito, non lasciare che questo ti intimidisca. Dopotutto, conoscere il database di WordPress può facilitare notevolmente i tuoi sforzi per la risoluzione dei problemi, se necessario.

L'impostazione di un ambiente di test o staging può fornirti uno spazio sicuro in cui sei libero di sperimentare senza rischiare di portare offline il tuo sito web. Puoi persino configurare un ambiente di staging XAMPP sul tuo computer gratuitamente, fornendoti tutto il necessario per padroneggiare il database di WordPress.