Come funziona WordPress e dove salva tutte le informazioni del sito che andiamo a creare? Un sito WordPress è composto da una serie di file e da un database. In questo articolo ti vado a mostrare come è fatta la struttura di WordPress, e dove salva tutte le informazioni del sito che stiamo creando, i post, le immagini e così via.
Il video sul database e i file di WordPress lo trovi qui:
Se i video non ti piacciono o se preferisci maggiori dettagli, continua a leggere.
Quando crei un sito, questo è l’aspetto che il tuo sito avrà, se utilizzi il tema predefinito, il Twenty Seventeen.
Mentre questa è l’area amministrativa riservata a te e ai tuoi collaboratori, dove potrete gestire il sito, creare nuovi articoli, creare le nuove pagine e inserire tutti i nuovi contenuti che volete aggiungere al sito.
Però come si ottiene tutto questo? Tutto questo si ottiene con due cose, che sono un database e una serie di script in un linguaggio chiamato PHP.
Il database conterrà tutte le informazioni del tuo sito, quindi gli articoli, le pagine, la configurazione del sito, il nome e così via.
Mentre tutta la parte degli script in PHP serviranno per la connessione al database, per scrivere e leggere queste informazioni dal database, e per creare di volta in volta la pagina che dovrà essere visualizzata al visitatore del sito.
Il database è un database MySQL che contiene diverse tabelle. In particolare WordPress crea ed utilizza le seguenti tabelle:
- wp_commentmeta
- wp_comments
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_termmeta
- wp_terms
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
Puoi accedere al contenuto del database e delle tabelle attraverso un software chiamato phpMyAdmin che sicuramente hai a disposizione sul tuo provider o sulla tua installazione locale di WordPress.
Queste sono le tabelle predefinite di WordPress, appena viene installato. Poi se installi particolari plugin, o particolari temi, potranno essere create altre tabelle aggiuntive, che conterranno e ulteriori informazioni.
Per quanto riguarda il contenuto di queste tabelle, wp_comments e wp_commentmeta contengono i commenti che vengono lasciati dai visitatori del sito. La tabella wp_comments contiene il commento vero e proprio, mentre wp_commentmeta contiene altre informazioni aggiuntive, sempre relative ai commenti.
La tabella wp_links non è più usata, se vai a vedere il numero di righe è uguale zero (significa che la tabella è vuota). Non contiene nessuna informazione. Questa tabella veniva utilizzato per inserire i link verso altri siti.
Se volevi inserire nella sua barra laterale un widget con tutti i link a quelli che venivano considerati i “siti amici“, questi link da mostrare in quel widget venivano salvati in questa tabella.
La tabella wp_options è importantissima, contiene tutta la configurazione del tuo sito, il nome, l’URL, il tema utilizzato, i plugin attivi, e altre informazioni. Nella schermata qui sotto puoi vedere una parte del contenuto di questa tabella.
All’interno della tabella wp_options puoi vedere l’URL del sito, il nome, la tagline (il motto), l’indirizzo email amministrativo del sito, e tutte le altre informazioni relative alla configurazione del sito.
Le tabelle wp_posts e wp_postmeta contengono tutti i dati del materiale pubblicato. Per materiale pubblicato intendo gli articoli, le pagine e tutti i media. I media sono fisicamente salvati in alcune cartelle, all’interno della struttura dei file di WordPress. Però tutte le informazioni relative al nome, la posizione, le dimensioni, la descrizione e così via sono salvate in queste tabelle.
Le tabelle wp_users e wp_usermeta contengono le informazioni relative agli utenti. Sul sito di test abbiamo creato due utenti, e se andiamo a guardare il contenuto di wp_users vedremo che questa tabella contiene due righe, una per ogni utente.
All’interno di questa tabella ci sono le informazioni riguardanti il nome dell’utente (lo username) con cui ti colleghi al sito, la password (che è cifrata) il nickname, l’email utilizzata, e altre informazioni tra cui il nome da visualizzare sul sito.
La tabella wp_usermeta contiene tutte le informazioni aggiuntive degli utenti, come il nickname, il nome e il cognome, l’iscrizione e tutte le altre impostazioni che hai visto quando vai a modificare il tuo profilo utente di WordPress.
Infine le tabelle wp_terms, wp_termmeta, wp_term_relationship e wp_term_taxonomy sono 4 tabelle che contengono tutte le informazioni relative a i tag, alle categorie, e ai menù che vai a inserire sul tuo sito. Queste tabelle saranno utilizzate per stabilire le gerarchie tra le categorie, per stabilire le gerarchie tra i menu, la posizione dei menu, e tutte le altre informazioni necessarie per l’utilizzo delle categorie, dei tag e dei menu.
Ma questa è soltanto una parte del tuo sito WordPress, quella che riguarda le informazioni, il suo contenuto. Poi c’è la parte, più fisica, anche se parlando di file non se non sono poi così fisici, che riguarda tutti i file e gli script PHP che compongono il tuo sito.
Quelli che vedi nella schermata (nella parte a destra) sono i file e le cartelle di una installazione di WordPress. Questi sono i file PHP che dovrai caricare sul tuo hosting o in locale per creare il tuo sito WordPress.
Nella cartella principale, oltre ai file contenuti ci sono tre cartelle, che sono wp-admin, wp-content e wp-includes. Queste tre cartelle conterranno altri file e altre sottocartelle.
La cartella wp-includes contiene tutto il core di WordPress, tutti i file necessari per visualizzare il tuo sito al visitatore. Oltre al tema, che è salvato in un’altra cartella, tutto quello che riguarda il tuo sito pubblico si trova in questa cartella.
La cartella wp-admin contiene tutta la tua area amministrativa, quindi tutto quello che serve per generare le pagine che tu vedi normalmente quando ti colleghi all’area amministrativa di WordPress. Quando inserisci nuovi post, inserisci nuove pagine, gestisci le categorie lo fai attraverso gli script che si trovano in questa cartella.
E infine la cartella wp-content contiene tutto il materiale che inserisci sul tuo sito. Questa cartella contiene altre sottocartelle, tra le quali plugins, themes e uploads. La cartella “plugins” contiene tutti i plugin che hai installato sul tuo sito.
La cartella “themes” contiene tutti i temi che hai caricato sul tuo sito, ce ne sarà attivo uno, ma gli altri che hai caricato in passato e quelli predefiniti di WordPress sono comunque qui.
E poi c’è la cartella “uploads“, estremamente importante perché contiene tutti i media che hai caricato sul tuo sito. La cartella uploads ha una sottocartella per ogni anno (2018, 2019, 2020…) e ognuna di queste contiene una cartella per ogni mese.
Queste cartelle esistono solamente se in quel mese ed anno hai caricato un media sul tuo sito. Le immagini caricate vengono poi divise in diversi formati e dimensioni, in modo da essere utilizzate e visualizzate nel modo più comodo per WordPress.
Se tu vuoi fare un backup di tutto il sito, devi fare un backup del database, e un backup di questi file che ti ho appena mostrato. Se non puoi copiare tutti i file, perché alcuni sono quelli predefiniti WordPress, che hai comunque disponibili con l’installazione, devi salvare quelli che non puoi recuperare altrove.
Le cose che devi assolutamente salvare sono il contenuto della cartella wp-content, perché questa è tutta la parte che hai aggiunto tu (plugin, temi e media), e quindi non te li ritrovi nell’installazione di WordPress standard, e poi devi salvare il file “wp-config.php“.
Questo file, che puoi vedere qui sotto, è fondamentale perché contiene le informazioni per la connessione al database. E senza queste informazioni WordPress non è in grado di collegarsi al database e accedere ai suoi dati.
Quello che vedi nella schermata è il contenuto del file wp-config.php. E queste righe qui sotto sono le informazioni relative alla connessione con il database.
1 2 3 4 5 6 7 8 9 10 11 12 |
// ** Impostazioni MySQL - È possibile ottenere queste informazioni dal proprio fornitore di hosting ** // /** Il nome del database di WordPress */ define('DB_NAME', 'miosito'); /** Nome utente del database MySQL */ define('DB_USER', 'miosito'); /** Password del database MySQL */ define('DB_PASSWORD', 'mio'); /** Hostname MySQL */ define('DB_HOST', 'localhost'); |
In questo caso è un database locale, per cui utilizzo dei nomi semplici e una password molto semplice. Quando tu andrai a creare il tuo sito su internet, quindi su un hosting, dovrai utilizzare una password molto, molto difficile da scoprire.
Perché questa password sarà la sicurezza di tutti i tuoi dati sul tuo database. Quando senti che molti siti sono stati hackerati, uno dei modi in cui vengono hackerati è perché viene scoperta la password database (non è l’unico maniera in cui un sito WordPress viene hackerato, ma viene fatto anche in questo modo).
E tramite questa password gli hacker riescono ad accedere alle tue tabelle e a cancellare o modificare il contenuto, distruggendo il tuo sito. Per cui se devi inserire tu la password del database, scegli una password molto, molto difficile.
In questo file, oltre ai dati per la connessione con il database, ci sono altre informazioni importanti, come ad esempio le chiavi univoche di autenticazione e salatura. Queste chiavi sono generate automaticamente da WordPress durante l’installazione e servono per far riconoscere a WordPress gli utenti che hanno fatto login sul sito (ad esempio tu, quando entri nell’area amministrativa.
Un’altra informazione importante è il prefisso delle tabelle, il “wp_” che è indicato nella riga di sotto:
1 |
$table_prefix = 'wp_'; |
Questo “wp_” è quello che ti ritrovi nei nomi delle tabelle del database. Come ha visto prima, le tabelle si chiamavano wp_commentmeta, wp_comments, wp_links…. Tutte le tabelle si chiamano wp_qualcosa perché è stato specificata quell’informazione durante l’installazione. Ed è stata salvata in quella riga del file wp-config.php.
Se tu vuoi aumentare la sicurezza del tuo sito, durante l’installazione puoi specificare un prefisso diverso. E di conseguenza le tabelle saranno create con un prefisso diverso, rendendo più difficile un attacco al tuo sito. (Per modificarle dopo è più complicato, te lo farò vedere in un altro articolo).
Tutta questa struttura di file, e il contenuto di queste tabelle nel database, costituiscono il tuo sito WordPress.
Lascia un commento