Useimmat WordPress-käyttäjät näkevät vain valmiin verkkosivun selaimessaan, mutta pinnan alla tapahtuu paljon ennen kuin sivu ilmestyy näytölle. Jokainen sivulataus käynnistää sarjan prosesseja, joissa WordPress, palvelin, tietokanta ja selain toimivat yhdessä tuottaakseen lopullisen HTML-sivun käyttäjälle.
Prosessi alkaa, kun käyttäjä kirjoittaa verkkosivun osoitteen selaimeen tai napsauttaa linkkiä....
Kun palvelin ohjaa pyynnön WordPressille, ensimmäisenä suoritetaan WordPressin ydintiedostoja....
Lähes kaikki WordPressin sisältö sijaitsee tietokannassa....
Yksi ensimmäisistä tietokantakyselyistä kohdistuu wp_options-tauluun....
Seuraavaksi WordPress lataa kaikki aktiiviset lisäosat....
Kun ympäristö on valmis, WordPress analysoi URL-osoitteen....
Kun sisältö on haettu, aktiivinen teema alkaa muodostaa sivun ulkoasua....
Sivun muodostuksen aikana WordPress kerää kaikki tarvittavat resurssit....
Kun kaikki sisältö on valmis, WordPress tuottaa lopullisen HTML-koodin....
Vaikka WordPress on jo valmis, selaimella on vielä paljon tehtävää....
Kun käytössä on tehokas välimuisti, suuri osa yllä kuvatuista vaiheista voidaan ohittaa....
Yleisimpiä pullonkauloja ovat:...
WordPress-sivun lataaminen on monivaiheinen prosessi, jossa palvelin vastaanottaa pyynnön, käynnistää WordPressin, hakee tiedot tietokannasta, suorittaa lisäosat, rakentaa sivun teeman avulla ja lähettää lopullisen HTML-koodin selaimelle....
Kun ymmärtää, mitä WordPress tekee sivua ladatessaan, on helpompi tunnistaa suorituskykyongelmia ja optimoida sivustoa tehokkaammin.
Sivupyyntö saapuu palvelimelle
Prosessi alkaa, kun käyttäjä kirjoittaa verkkosivun osoitteen selaimeen tai napsauttaa linkkiä.
Selain lähettää HTTP- tai HTTPS-pyynnön palvelimelle.
Esimerkiksi:
https://esimerkki.fi/artikkeli
Palvelin vastaanottaa pyynnön ja selvittää, mitä sisältöä käyttäjä haluaa nähdä.
Jos käytössä on välimuisti, prosessi voi päättyä jo tässä vaiheessa. Välimuisti voi toimittaa valmiin sivun ilman, että WordPress käynnistyy lainkaan.
Jos välimuistia ei ole tai sivu täytyy muodostaa uudelleen, WordPress alkaa käsitellä pyyntöä.
WordPress käynnistyy
Kun palvelin ohjaa pyynnön WordPressille, ensimmäisenä suoritetaan WordPressin ydintiedostoja.
Keskeisiä tiedostoja ovat esimerkiksi:
- index.php
- wp-blog-header.php
- wp-load.php
- wp-config.php
Näiden tehtävänä on:
- Käynnistää WordPress
- Ladata asetukset
- Yhdistää tietokantaan
- Ladata aktiivinen teema
- Ladata aktiiviset lisäosat
Tässä vaiheessa WordPress rakentaa ympäristön, jossa sivun sisältö voidaan muodostaa.
Yhteys tietokantaan avataan
Lähes kaikki WordPressin sisältö sijaitsee tietokannassa.
WordPress muodostaa yhteyden MySQL- tai MariaDB-palvelimeen käyttäen tiedostossa wp-config.php määriteltyjä asetuksia.
Tietokannasta haetaan muun muassa:
- Sivujen sisältö
- Artikkelit
- Käyttäjätiedot
- Sivuston asetukset
- Valikot
- Widgetit
- Lisäosien asetukset
Tietokantayhteys on yksi tärkeimmistä vaiheista koko sivulatauksessa.
Autoload-data ladataan muistiin
Yksi ensimmäisistä tietokantakyselyistä kohdistuu wp_options-tauluun.
WordPress hakee kaikki asetukset, joiden autoload-arvo on:
autoload = 'yes'
Nämä asetukset tallennetaan muistiin myöhempää käyttöä varten.
Tyypillisesti mukana ovat:
- Sivuston nimi
- Osoitteet
- Teeman asetukset
- Lisäosien asetukset
Jos autoload-dataa on paljon, tämä vaihe voi hidastaa koko sivulatausta merkittävästi.
Lisäosat suoritetaan
Seuraavaksi WordPress lataa kaikki aktiiviset lisäosat.
Jokainen lisäosa voi:
- Rekisteröidä toimintoja
- Muokata sisältöä
- Suorittaa tietokantakyselyitä
- Ladata JavaScriptiä
- Ladata CSS-tiedostoja
Tässä vaiheessa syntyy usein merkittävä osa palvelinkuormasta.
Huonosti optimoitu lisäosa voi lisätä:
- Muistinkulutusta
- Prosessorikuormaa
- Sivun latausaikaa
Siksi lisäosien vaikutus suorituskykyyn on usein suuri.
WordPress selvittää pyydetyn sisällön
Kun ympäristö on valmis, WordPress analysoi URL-osoitteen.
Esimerkiksi osoitteesta:
https://esimerkki.fi/blogi/wordpress-opas
WordPress tunnistaa, että käyttäjä haluaa nähdä tietyn artikkelin.
Tämän jälkeen suoritetaan niin sanottu WordPress Loop.
Loopin tehtävänä on:
- Hakea oikea sisältö
- Käsitellä julkaisut
- Valmistella tiedot teemalle
Tässä vaiheessa suoritetaan usein useita tietokantakyselyitä.
Teema rakentaa sivun
Kun sisältö on haettu, aktiivinen teema alkaa muodostaa sivun ulkoasua.
Teema kokoaa yhteen esimerkiksi:
- Ylätunnisteen
- Sisällön
- Sivupalkit
- Alatunnisteen
- Valikot
Tyypillisiä teemassa käytettäviä tiedostoja ovat:
- header.php
- single.php
- page.php
- footer.php
Modernit lohkoteemat käyttävät lisäksi Full Site Editing -rakennetta.
Teema määrittää, miltä lopullinen sivu näyttää käyttäjälle.
JavaScript- ja CSS-tiedostot lisätään
Sivun muodostuksen aikana WordPress kerää kaikki tarvittavat resurssit.
Näitä voivat olla:
- Tyylitiedostot (CSS)
- JavaScript-tiedostot
- Fontit
- Kuvakkeet
Resursseja voivat lisätä:
- Teema
- Lisäosat
- WordPressin ydin
Jos sivustolla on paljon lisäosia, resurssien määrä voi kasvaa nopeasti.
Tämä näkyy usein PageSpeed Insights -raporteissa.
HTML lähetetään selaimelle
Kun kaikki sisältö on valmis, WordPress tuottaa lopullisen HTML-koodin.
Palvelin lähettää tämän selaimelle.
Esimerkki:
<h1>Tervetuloa sivustolle</h1>
<p>Tämä on WordPress-sivu.</p>
Selain vastaanottaa HTML:n ja alkaa rakentaa näkymää käyttäjälle.
WordPressin työ päättyy pääosin tähän vaiheeseen.
Selain jatkaa työn tekemistä
Vaikka WordPress on jo valmis, selaimella on vielä paljon tehtävää.
Selain lataa:
- CSS-tiedostot
- JavaScriptit
- Kuvat
- Fontit
- Videot
Tämän jälkeen selain muodostaa lopullisen näkymän käyttäjän ruudulle.
Jos resurssit ovat suuria tai niitä on paljon, käyttäjä voi joutua odottamaan, vaikka palvelin olisi jo toimittanut HTML-sivun nopeasti.
Välimuistin vaikutus prosessiin
Kun käytössä on tehokas välimuisti, suuri osa yllä kuvatuista vaiheista voidaan ohittaa.
Tällöin:
- Käyttäjä pyytää sivua.
- Välimuisti löytää valmiin HTML-version.
- Palvelin lähettää sivun suoraan.
Tällöin ei tarvita:
- WordPressin käynnistämistä
- Lisäosien suorittamista
- Tietokantakyselyitä
- Teeman renderöintiä
Siksi välimuisti on yksi tehokkaimmista tavoista nopeuttaa WordPress-sivustoa.
Mikä vaihe hidastaa WordPressiä eniten?
Yleisimpiä pullonkauloja ovat:
- Hitaat tietokantakyselyt
- Suuri autoload-data
- Raskaat lisäosat
- Monimutkaiset sivunrakentajat
- Hidas palvelin
- Liiallinen JavaScript
Todellinen ongelma löytyy usein mittaamalla esimerkiksi:
- Query Monitorilla
- GTmetrixillä
- Google PageSpeed Insightsilla
- New Relicillä
Näiden avulla voidaan nähdä tarkasti, missä vaiheessa aikaa kuluu eniten.
Yhteenveto
WordPress-sivun lataaminen on monivaiheinen prosessi, jossa palvelin vastaanottaa pyynnön, käynnistää WordPressin, hakee tiedot tietokannasta, suorittaa lisäosat, rakentaa sivun teeman avulla ja lähettää lopullisen HTML-koodin selaimelle. Tämän jälkeen selain lataa vielä sivun resurssit ja muodostaa käyttäjälle näkyvän näkymän.
Jokainen vaihe kuluttaa resursseja, joten suorituskykyyn vaikuttavat sekä palvelin, tietokanta, lisäosat että teema. Kun ymmärtää sivulatauksen kulun, on helpompi tunnistaa ongelmakohdat ja tehdä tehokkaita optimointitoimenpiteitä, jotka parantavat sekä käyttäjäkokemusta että hakukonenäkyvyyttä.