Capire come funziona WordPress dietro le quinte può essere affascinante. Per la maggior parte degli utenti, sembra semplice: digita un URL e una pagina si carica velocemente. Tuttavia, in realtà c'è molto che accade in background.
Quando abbiamo iniziato a lavorare con WordPress diversi anni fa, abbiamo approfondito il funzionamento di tutto. E ora, siamo qui per condividere questa conoscenza con te in termini semplici in modo che tu possa capire di più su WordPress.
In questa guida, ti illustreremo il funzionamento interno di WordPress. Abbiamo anche creato un'infografica facile da seguire per rendere le cose più chiare.

Cos'è WordPress?
WordPress è un costruttore di siti web e un sistema di gestione dei contenuti. È un software open-source che chiunque può utilizzare per creare qualsiasi tipo di sito web.
È iniziato come una piattaforma di blogging nel 2003, ma si è presto trasformato in un CMS e successivamente in una piattaforma completa per la creazione di siti web. Oggi, alimenta più del 43% di tutti i siti web su Internet.
Per saperne di più sulla sua evoluzione, storia, pro e contro, consulta la nostra guida completa su cos'è WordPress e quanto costa costruire un sito WordPress.
Perché dovresti imparare come funziona WordPress?
WordPress è un software open-source, il che significa che chiunque può studiarne il codice e scrivere le proprie app (plugin) e modelli (temi) per esso.
Nel corso degli anni, abbiamo visto innumerevoli principianti diventare rapidamente utenti avanzati semplicemente imparando come funziona WordPress come software.
Ti insegnerà anche a migliorare le prestazioni di WordPress e a scrivere codice migliore per i tuoi progetti.
Questa guida ti accompagnerà attraverso l'intero processo passo dopo passo. Inizieremo quando un utente richiede una pagina e finiremo quando quella pagina sarà completamente caricata.
Pronto? Iniziamo.

Puoi anche seguire il nostro tutorial scritto qui sotto per maggiori dettagli.
1. Carica il file wp-config.php
Il wp-config.php è il file di configurazione di WordPress. Imposta le variabili globali per un sito WordPress e contiene le informazioni del tuo database WordPress. Per ovvie ragioni, questo è il primo file che WordPress carica.
Scopri di più sul file wp-config.php e su come modificarlo.
2. Imposta le costanti predefinite
Dopo aver caricato il file wp-config.php, WordPress passerà a impostare le costanti predefinite.
Ciò include informazioni come la posizione di caricamento predefinita dei media di WordPress, le dimensioni massime dei file e altre costanti predefinite impostate nel file wp-config.php.
3. Carica il file advanced-cache.php
Se un file advanced-cache.php esiste sul tuo sito, WordPress lo caricherà successivamente.
Questo file funge da file drop-in ed è utilizzato da diversi plugin popolari, in particolare dai plugin di caching per WordPress. Se il tuo sito utilizza questo file, vedrai una nuova voce nella schermata Plugin chiamata 'Drop-ins'.

4. Carica il file wp-content/db.php
WordPress consente agli sviluppatori di creare i propri livelli di astrazione del database e caricarli in un file db.php posizionato all'interno della cartella wp-content. I plugin di caching di WordPress lo utilizzano comunemente per migliorare le prestazioni del database.
Se il tuo sito web ha questo file presente, WordPress lo caricherà.
5. Connetti MySQL e Seleziona Database
WordPress ora ha abbastanza informazioni per procedere ulteriormente. Si connetterà al server MySQL e selezionerà il database.
Se WordPress non riesce a connettersi al database, vedrai l'errore "Errore di connessione al database" e WordPress si interromperà qui.
Se tutto funziona correttamente, passerà ai passaggi successivi.
6. Carica il file object-cache.php o wp-includes/cache.php
WordPress cercherà ora il file object-cache.php. Se non esiste, WordPress passerà a caricare il file wp-includes/cache.php.
7. Carica il file wp-content/sunrise.php
Se si tratta di una rete multisite, WordPress cercherà il file sunrise.php se esiste nella cartella wp-content.
8. Carica la libreria di localizzazione
WordPress caricherà ora la libreria l10n.php nella cartella wp-includes. Questo file carica il sistema di localizzazione di WordPress, carica le traduzioni, imposta le impostazioni locali, ecc.
Puoi consultare la nostra guida su come usare WordPress in altre lingue.
9. Carica i plugin multisite
Se si tratta di una rete multisite, WordPress caricherà i plugin multisite. Scopri di più su come funzionano i plugin nelle reti WordPress multisite.

10. Esegui l'azione 'muplugins_loaded'
L'azione muplugins_loaded viene ora eseguita da WordPress. Questa azione è disponibile solo per i plugin attivati a livello di rete su un multisite WordPress.
11. Carica i plugin attivi
WordPress caricherà ora tutti i plugin attivi sul sito. Lo fa cercando nella voce active_plugins nella tabella delle opzioni del tuo database WordPress. Questo consente a WordPress di ignorare i plugin installati sul tuo sito ma non attivati.
12. Carica il file pluggable.php
Il file pluggable.php contiene funzioni che possono essere ridefinite dai plugin di WordPress.
WordPress verificherà ora se un altro plugin ha già definito le funzioni all'interno di questo file. Altrimenti, definirà esse stesse tali funzioni.
13. Esegui l'azione ‘plugins_loaded’
WordPress eseguirà ora l'azione ‘plugins_loaded’.
Permette agli sviluppatori di agganciare le proprie funzioni per eseguirle dopo che tutti i plugin attivi sono stati caricati.
14. Carica le Regole di Rewrite
WordPress caricherà ora le regole di rewrite. Queste regole di rewrite aiutano WordPress a utilizzare URL SEO-friendly.
15. Istanzia $wp_query, $wp_rewrite, $wp
A questo punto, WordPress carica i seguenti oggetti:
$wp_query: L'istanza globale che contiene la classe WP_Query. Indica a WordPress quale contenuto è richiesto in un tipico formato di query di WordPress.
$wp_rewrite: L'istanza globale che contiene la tua classe WP_Rewrite. Contiene le tue regole e funzioni di rewrite, che indicano a WordPress quale URL utilizzare per visualizzare il contenuto richiesto.
$wp: L'istanza globale della classe WP contiene funzioni che analizzeranno la tua richiesta ed eseguiranno la query principale.
16. Esegui l'azione ‘setup_theme’
WordPress passerà ora all'esecuzione dell'azione ‘setup_theme’. Questa azione viene eseguita prima che il tuo tema WordPress venga caricato.
17. Carica il file functions.php del Child Theme
Il file functions.php agisce come un plugin e viene utilizzato nei temi di WordPress per aggiungere funzionalità specifiche del tema al tuo sito web. Se stai utilizzando un tema figlio, WordPress caricherà ora il file functions.php del tuo tema figlio.
Altrimenti, procederà a caricare il file functions.php del tuo tema attivo corrente.
18. Carica il file functions.php del tema padre
Se stai usando un tema figlio, WordPress caricherà ora il file functions.php del tuo tema padre.
19. Esegui l'azione 'after_setup_theme'
Questa azione viene eseguita dopo che WordPress ha impostato il tema e caricato le funzioni del tema. È la prima azione disponibile per i temi.
20. Imposta l'oggetto utente corrente
A questo punto, WordPress carica l'oggetto utente corrente. Ciò consente a WordPress di gestire la richiesta in conformità con il ruolo e le capacità dell'utente.
21. Esegui l'azione 'init'
WordPress ha finora caricato tutte le informazioni cruciali di cui ha bisogno. Ora, attiva l'azione 'init'. Questa azione registra anche i blocchi disponibili nel core o forniti da eventuali plugin installati su quel sito web.
Questa azione consente agli sviluppatori di aggiungere codice che deve essere eseguito dopo che WordPress ha caricato tutte le informazioni menzionate in precedenza.
22. Esegui l'azione 'widget_init'
L'azione widget_init consente agli sviluppatori di registrare widget ed eseguire il codice di cui hanno bisogno in questo momento.
23. Esegui wp()
WordPress ora chiama la funzione wp(), che si trova nel file wp-includes/functions.php. Imposta le variabili globali della query di WordPress $wp, $wp_query, $wp_the_query, e quindi chiama $wp->main.
24. Analizza la richiesta
Ora WordPress ha tutte le informazioni necessarie per analizzare la richiesta dell'utente. Inizia controllando le regole di riscrittura per far corrispondere la richiesta dell'utente.
Esegue quindi i filtri delle variabili di query, richiede un hook di azione ed invia una richiesta di intestazione.
25. Esegui la query
Se nessun contenuto corrisponde alla query, WordPress imposterà la variabile is_404.
Altrimenti, WordPress procederà al caricamento delle variabili di query.
Eseguirà quindi WP_Query->get_posts().
Successivamente, esegue l'azione DO_ACTION_REF_ARRAY 'pre_get_posts' con l'oggetto WP_Query.
WordPress eseguirà ora apply_filters per ripulire la query ed eseguire alcuni controlli finali.
Ora, recupera i post dal database e applica i filtri posts_results e the_posts.
La parte della query termina con WordPress che restituisce i post.
26. Esegui Azione 'template_redirect'
WordPress eseguirà ora l'azione template_redirect. Questo hook viene eseguito appena prima che WordPress determini quale pagina del modello caricare.
27. Carica Modello Feed
Se il contenuto richiesto è un feed RSS, allora WordPress carica il modello del feed.
28. Carica Modello
WordPress cercherà ora il file del modello in base alla gerarchia dei modelli di WordPress. Quindi carica il modello, che di solito contiene un loop di WordPress.
29. Esegui l'azione ‘shutdown’
Poco prima di terminare tutta l'esecuzione di PHP, WordPress attiva l'ultima azione chiamata shutdown.
WordPress smette di funzionare qui. Ha eseguito il codice e generato la pagina web richiesta dall'utente.
Ora, il tuo server di web hosting risponde alla richiesta di un utente inviandogli la pagina web generata da WordPress.
Questa pagina contiene codice HTML, CSS e Javascript, che indica al browser dell'utente come visualizzarla sullo schermo.
Fantastico, vero? Tutte queste cose accadono in pochi millisecondi. Se stai utilizzando uno di questi migliori servizi di hosting WordPress, la tua pagina si caricherà idealmente in un paio di secondi.
Speriamo che questo articolo ti abbia aiutato a capire come funziona WordPress dietro le quinte. Potresti anche voler consultare i nostri consigli su come proteggere l'area di amministrazione di WordPress o dare un'occhiata a questa guida con utili consigli, trucchi e hack di WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Olaf
Non avevo mai pensato a come funzionasse l'intero processo, e questo è il primo articolo che mi è capitato di leggere che spiega questi dettagli. È un po' più tecnico e non a tutti potrebbe piacere, ma apprezzo che tu abbia creato questa infografica perché non ho mai visto niente di simile prima. È stato molto interessante per me vedere l'intero processo passo dopo passo.
Dennis Muthomi
Questa analisi è incredibilmente illuminante!
La spiegazione passo-passo del processo di caricamento è stata particolarmente preziosa e la sezione su come WordPress carica ed esegue vari file (come wp-config.php, advanced-cache.php e object-cache.php) mi ha davvero aiutato a capire perché determinate ottimizzazioni funzionano nel modo in cui lo fanno.
Moinuddin Waheed
È davvero molto interessante vedere come le pagine si sono caricate dietro le quinte e cosa succede quando un utente effettua una richiesta.
Hai spiegato molto bene con l'aiuto di infografiche.
Questo ci fa pensare che così tante cose accadono in un batter d'occhio.
Questo è così potente e così potenziante dove la tecnologia ci ha portato.
Apprezzo molto questo articolo per aver descritto magnificamente l'aspetto dietro le quinte di un sito web.
Supporto WPBeginner
Glad our guide was helpful
Amministratore
Jiří Vaněk
È la prima volta che vedo un riassunto così completo di tutto ciò che accade in background prima che una pagina venga generata. Devo ammettere che non ho trovato informazioni così dettagliate altrove. Quando considero quanti processi devono verificarsi prima che una pagina si carichi e che WordPress e il server gestiscano tutto in un secondo, è fantastico ciò che i server e i sistemi di oggi possono fare.
Dayo Olobayo
Non potrei essere più d'accordo. Questa infografica è una risorsa fantastica per chiunque voglia capire la magia dietro WordPress. Evidenzia davvero il complesso macchinario che trasforma codice e dati nelle pagine web dinamiche che vediamo ogni giorno.
MJB
hm – mi manca un po' il passaggio 0
quindi questa è un'ipotesi corretta`?
un URL arriva sul mio webserver ospitato
richiedendo, diciamo, la mia home page
quindi il webserver avvia il passaggio (1)?
che poi viene eseguito fino al passaggio (24)
dove WP analizza l'URL in arrivo per capire i passaggi successivi?
Supporto WPBeginner
Il passaggio 0 può certamente essere un URL che rimanda al sito, intorno al passaggio 15 si considererebbe la pagina specifica.
Amministratore
Mike Ross
E index.php nella root?
Non capisco... Ci sono guide che presentano una sequenza di inizializzazione di WordPress completamente diversa.
Supporto WPBeginner
Index.php sarebbe per i file del tema, copriamo la gerarchia dei temi nella nostra guida qui sotto:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Amministratore
Mike Ross
No, non sto parlando del template della homepage del tema. Sto parlando dell'index.php alla radice, che fa parte del core di WordPress. Attiva wp-blog-header.php, che a sua volta carica wp-load.php che imposta l'intero ambiente WordPress.
Supporto WPBeginner
The index.php in the root folder tells WordPress to load your theme
Amministratore
Terry Woods
È corretto
Jason
Perché partire da wp-config.php? Pensavo fosse da index.php
Supporto WPBeginner
Quello sarebbe per i temi e non per WordPress stesso, per l'index.php vorresti dare un'occhiata alla gerarchia dei template nella nostra guida qui sotto:
https://www.wpbeginner.com/wp-themes/wordpress-template-hierarchy-explained/
Amministratore
Petru Ciucur
Questo è L'ARTICOLO. Grazie!
Supporto WPBeginner
Glad our guide was helpful
Amministratore
Juan Johnson
Ciao wpbeginner.
Ho notato che nella tua sequenza, hai menzionato che wp fa questo e poi quello. Fisicamente, dov'è l'istanza di wp()? Sul server? Succede tra una richiesta di caricamento iniziale della pagina post quando uso il browser di Google e il caricamento finale della dashboard di wp dopo il login?
Supporto WPBeginner
Potresti voler dare un'altra occhiata all'infografica per capire il caricamento e come funziona.
Amministratore
Juan Johnson
Sono un programmatore. Mi sto interessando sempre di più al web design, tuttavia, non posso fare a meno di voler sapere cosa succede dietro le quinte. Il tuo articolo mi ha fornito una base per iniziare a costruire con sicurezza pagine web.
Supporto WPBeginner
Glad our guide was helpful
Amministratore
Paul McDevitt
Questo è brillante. Ho riscontrato diversi problemi con plugin vecchi e scaduti, aggiornamento di PHP, ecc., e un virus (probabilmente a causa degli elementi precedenti). Quindi ora è tutto bloccato e ripulito, ma volevo capire meglio la sequenza degli eventi poiché guardare un singolo file PHP è come cercare di leggere una ciotola di spaghetti, dato che non capivo la sequenza delle attività. Quindi assolutamente fantastico. Adoro questo.
Grazie
Supporto WPBeginner
Glad our article was helpful
Amministratore
Naresh
articolo molto chiaro.
Supporto WPBeginner
Thank you
Amministratore
Chinenye
Voglio sapere davvero cosa fa WordPress, come posso creare e condividere post tramite WordPress? Cosa fa per me oltre a creare un sito?
Supporto WPBeginner
WordPress ti permette di creare un sito senza bisogno di conoscere HTML e CSS. Per condividere i tuoi post, normalmente vorresti dare un'occhiata ai plugin per i social media: https://www.wpbeginner.com/plugins/best-social-media-plugins-for-wordpress/
Amministratore
ganesh
molto interessante
Adrian
Interessante ma non proprio una definizione di come funziona Wordpress. Questo descrive cosa fa, non come lo fa. Sarebbe utile sapere anche come fa le cose oltre a cosa fa. Ad esempio, come fa a sapere quale tema caricare? Senza il come, tutto quanto sopra è molto di alto livello.
amir saleem
17. Carica il file functions.php del Child Theme
Il file functions.php agisce come un plugin ed è utilizzato nei temi di WordPress per aggiungere funzionalità specifiche del tema al tuo sito web. Se stai usando un tema figlio, allora WordPress caricherà il file functions.php del tuo tema figlio.
Altrimenti, procederà a caricare il file functions.php del tuo tema attivo corrente.
18. Carica il file functions.php del tema padre
[ Se stai usando un tema figlio ], allora WordPress caricherà il file functions.php del tuo tema padre.
controlla il testo tra parentesi e abbina tutta la dicitura qui verrà sostituita [ se stai usando un tema padre ].
Grazie.
Caleb
Amir, penso che l'OP stia cercando di dire che se c'è un tema figlio, allora ovviamente ci sarà un functions.php padre e figlio, e WordPress caricherà prima il functions.php del tema figlio prima di caricare quello del padre. Altrimenti, caricherà direttamente il functions.php del padre.
Altab Hossen
Grazie per questa bella spiegazione e le infografiche sono fantastiche!!
Kristian
E la gente si chiede perché i siti WordPress sono lenti. Fa tutto questo al momento dell'esecuzione per ogni singola visualizzazione di pagina!
Johnpaul Onwueme
Grazie per le infografiche
deborah
mi sembra ancora complicato, ma lo è tutta la tecnologia
Jason
Saresti disposto a offrirlo come poster stampato? Non so se genererebbe molto interesse o ti farebbe guadagnare, ma dato che è una grafica così bella potrebbe diventare un bel soprammobile da parete per l'ufficio.
anis
Grazie per questo articolo. Volevo sapere da tempo
i diversi passaggi per il caricamento.
Cos'è un livello di astrazione del database e come configurarlo?