Come funziona il CMS Wordpress

Wordpress è sicuramente uno dei CMS più diffusi sul web, ha riscosso una grande notorietà nella blogsfera e, negli ultimi anni, ha anche risolto diversi problemi di ottimizzazione SEO che aveva in passato. Alcuni plugin lo rendono perfettamente ottimizzato sui motori di ricerca. Fin qui... nulla di nuovo.

Ma come funziona Wordpress dal lato tecnico?

Il CMS è sviluppato interamente in PHP e si appoggia al database MySql per archiviare gli articoli.

L'installazione del CMS modifica il file index e .htaccess del server, se necessario, e crea tre cartelle principali. Ogni cartella ha funzioni diverse

  • Wp-admin. Nella wp-admin sono presenti tutti gli script che consentono la gesitone del CMS e le procedure di autentificazione degli utenti autorizzati a usarlo.
  • Wp-content. Nella cartella wp-content sono inseriti tutti i contenuti aggiunti e le personalizzazioni, come ad esempio i template grafici, i temi le Api, i plugin ecc., che il blogger aggiunge sul proprio sito web. Tutte le funzioni standard di Wordpress si trovano in questa cartella.
  • Wp-includes. Nella cartella wp-includes, infine, sono contenuti tutti gli script per il funzionamento del sito dal lato front-end. Normalmente è una cartella di sola lettura ed è aggiornata soltanto da Wordpress con il rilascio delle nuove versioni del codice sorgente del CMS.

Oltre a queste cartelle, il CMS installa alcuni file nella cartella dove viene installato. In genere, si tratta della root ossia della radice dello spazio web in cui si trova il sito. Quando un utente visualizza la cartella o la home del sito, il server richiama automaticamente il contenuto del file Index che può avere varie estensioni ( .htm, .php, ecc. ) a seconda se si tratta di un sito statico o dinamico.

i files e le cartelle installate da Wordpress sul server

Un giorno per capire il funzionamento ho aperto il file index.php nella root del sito web e, con molta pazienza, sono andato a leggere il codice PHP del CMS.

il codice sorgente del file INDEX.PHP su Wordpress

Nell'istruzione Define il codice assegna il valore true alla costante WP_USE_THEMES. Nel linguaggio Php le costanti sono contenitori immutabili e possono contenere stringhe o numeri. A differenza delle variabili non sono precedente dal simbolo del dollaro $ e possono essere assegnate mediante l'istruzione define.

define('WP_USE_THEMES', true);

La costante WP_USE_THEMES deve avere obbligatoriamente il valore true. Inserendo il valore false, il sito web va offline e nessuna pagina è più visibile.

L'istruzione successiva è una Require e include un altro script php. L'istruzione Require() inserisce ed esegue un altro codice php, come scatole cinesi, contenuto in un altro file.

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

Si usa per includere file necessari per la corretta esecuzione del programma. A differenza dell'istruzione Include(), che più o meno ha la stessa funzione, l'istruzione Require va in Fatal Error se non esiste il file richiamato.

In questo caso l'istruzione require richiama lo script wp-blog-header.php di Wordpress per caricare l'ambiente operativo del CMS e i template del sito. L'indirizzo completo dello script è composto dalla funzione dirname() che il percorso della directory dove si trova lo script del server. La costante __FILE__ è una costante del sistema Php e indica il percoso del file in esecuzione.

Ad esempio la costante __FILE__ dello script index.php è "/home/andreaminini.com/www/index.php". La funzione dirname( __FILE__ ) consente di estrapolare soltanto il percorso "/home/andreaminini.com/www" e a questo aggiunte il nome del file da richiamare "/wp-blog-header.php". L'indirizzo completo è, quindi, il seguente:

/home/andreaminini.com/www/wp-blog-header.php

In conclusione il file da richiamare ( "/wp-blog-header.php" ) si trova nella stessa cartella del file index.php. In effetti, riguardando la lista dei file installati da Wordpress, è uno di quelli installati nella root del sito web.

l'inclusione dello script wp-blog-header.php nel file index.php

Sono soltanto all'inizio... a questo punto devo continuare l'analisi andando a vedere cosa fa lo script wp-blog-header.php ( continua ).

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento