WordPress-sivuston huoltokatko: Näin ilmoitat siitä kävijöille
WordPress-sivustoa ei aina voida päivittää tai huoltaa täysin normaalin liikenteen aikana. Joskus palvelin tarvitsee päivityksen, tietokantaa pitää muokata tai sivustolle tehdään suurempi tekninen uudistus.
Tällöin sivusto voidaan joutua hetkeksi huoltotilaan.
Huoltokatko ei kuitenkaan tarkoita, että kävijälle pitäisi näyttää epämääräinen ilmoitus tyyliin:
”Sivusto on tällä hetkellä pois käytöstä.”
Hyvin toteutettu huoltokatko kertoo mitä tapahtuu, kuinka kauan katko kestää ja milloin sivuston pitäisi olla jälleen käytettävissä.
Milloin WordPress tarvitsee huoltokatkon?
Kaikki WordPress-päivitykset eivät vaadi näkyvää huoltokatkoa.
Pienet päivitykset voidaan yleensä tehdä normaalisti, mutta katko voi olla järkevä esimerkiksi silloin, kun:
- WordPressin rakennetta muutetaan
- tietokantaa päivitetään
- palvelinta siirretään
- teemaa vaihdetaan
- verkkokauppaa päivitetään
- tehdään suuri migraatio
- DNS-asetuksia muutetaan
- palvelinympäristö vaihdetaan
- tehdään merkittävä tietoturvapäivitys
Tärkeintä on arvioida etukäteen, voiko käyttäjä tehdä sivustolla jotain sellaista, joka voisi rikkoutua huollon aikana.
Ilmoita huoltokatkosta etukäteen
Jos katko on suunniteltu, älä odota siihen asti, että sivusto on jo suljettu.
Ilmoita siitä esimerkiksi:
- verkkosivustolla
- uutiskirjeessä
- sähköpostilla
- sosiaalisessa mediassa
- asiakasportaalissa
Mitä kriittisempi palvelu on, sitä aikaisemmin ilmoitus kannattaa tehdä.
Verkkokaupassa huoltokatko kannattaa ajoittaa mahdollisimman hiljaiseen ajankohtaan.
Mitä huoltoilmoituksessa pitää kertoa?
Hyvä ilmoitus sisältää ainakin:
Mitä tapahtuu?
Sivustolla tehdään tekninen huolto.
Milloin?
Huolto alkaa perjantaina klo 23.00.
Kuinka kauan?
Arvioitu kesto on noin 30 minuuttia.
Milloin palvelu palaa?
Sivuston pitäisi olla käytettävissä viimeistään klo 23.30.
Tarvittaessa kannattaa kertoa myös, vaikuttaako katko esimerkiksi kirjautumiseen tai verkkokaupan tilausten tekemiseen.
Hyvä huoltoilmoitus on lyhyt
Kävijä ei tarvitse teknistä selvitystä siitä, mitä palvelimella tapahtuu.
Huono:
”Päivitämme PHP-FPM-konfiguraatiota, MariaDB-instanssia ja WordPressin object cache -kerrosta.”
Parempi:
Sivustolla on huoltokatko
Päivitämme sivuston teknistä ympäristöä perjantaina klo 23.00–23.30. Palvelu on jälleen käytettävissä huollon päätyttyä. Pahoittelemme katkosta aiheutuvaa haittaa.
Kerro arvioitu päättymisaika
Pelkkä:
”Sivusto on huollossa.”
jättää kävijän epätietoisuuteen.
Jos mahdollista, ilmoita arvioitu päättymisaika.
Esimerkiksi:
Huoltokatko klo 22.00–23.00
Jos tarkkaa päättymisaikaa ei tiedetä, kannattaa sanoa se suoraan:
Huollon arvioitu kesto on noin yksi tunti.
Älä lupaa liikaa
Jos huollon kestoa ei pystytä varmistamaan, älä ilmoita liian tarkkaa aikaa.
Esimerkiksi:
Sivusto palautuu viimeistään klo 02.00.
on parempi kuin:
Sivusto toimii jälleen klo 01.17.
Huollossa voi tulla vastaan ongelmia, joiden vuoksi aikataulu muuttuu.
WordPressin huoltotila
WordPressissä on sisäänrakennettu huoltotilaan liittyvä mekanismi, jota käytetään erityisesti päivitysten aikana.
Päivityksen yhteydessä WordPress voi luoda juureen tiedoston:
Jos huoltotila aktivoituu, kävijälle voidaan näyttää WordPressin oletustyyppinen ilmoitus.
Tämä sopii lyhyisiin automaattisiin päivityskatkoihin, mutta ei välttämättä ole paras ratkaisu suunniteltuun pidempään huoltoon.
Oman huoltosivun rakentaminen
Suunniteltua huoltokatkoa varten voidaan tehdä oma huoltosivu.
Esimerkiksi:
Tämä on kävijälle huomattavasti selkeämpi kuin tekninen palvelinvirhe.
Huoltosivun pitää toimia myös mobiilissa
Huoltokatkosivua ei kannata suunnitella vain työpöytänäytölle.
Tarkista:
- puhelin
- tabletti
- desktop
- eri selaimet
Pidä sivu yksinkertaisena.
Huoltotilanteessa ei tarvita raskasta animaatiota, valtavaa JavaScript-pakettia tai kymmeniä ulkoisia resursseja.
Älä tee huoltosivusta liian raskasta
Jos sivustoa huolletaan juuri siksi, että palvelinympäristöön tehdään muutoksia, huoltosivun pitäisi olla mahdollisimman riippumaton WordPressistä.
Yksinkertainen HTML/CSS-sivu voi olla parempi kuin kokonainen WordPress-teema.
Esimerkiksi:
Älä unohda ylläpitäjiä
Huoltotila voi olla tarkoitettu vain tavallisille kävijöille.
Ylläpitäjän pitää usein päästä WordPressiin huollon aikana.
Jos mahdollista, rakenna ratkaisu niin, että:
Näin ylläpito voidaan tehdä ilman, että ylläpitäjä lukitaan ulos.
Huoltotila ja verkkokauppa
WooCommerce-sivustolla huoltokatko vaatii enemmän suunnittelua.
Katkon aikana käyttäjä ei saisi esimerkiksi:
- maksaa tilausta
- lisätä tuotteita ostoskoriin
- tehdä tilausta
- käyttää checkoutia
- käyttää maksupalvelua epävarmassa tilassa
Erityisesti maksuprosessin keskellä tapahtuva katko voi aiheuttaa asiakkaalle epäselvän tilanteen.
Siksi verkkokaupan huolto kannattaa ajoittaa vähäisen liikenteen aikaan.
Ilmoita verkkokaupan huollosta selkeästi
Esimerkiksi:
Verkkokauppa on huollossa
Päivitämme verkkokauppaa tänään klo 01.00–02.00. Ostaminen ei ole huollon aikana mahdollista. Palaamme normaalisti heti huollon päätyttyä.
Tämä on parempi kuin antaa asiakkaan yrittää tehdä tilausta ja kohdata virheilmoitus.
Huoltokatko ja SEO
Suunniteltu lyhyt huoltokatko ei yleensä ole hakukonenäkyvyyden kannalta suuri ongelma.
Ongelmat alkavat, jos sivusto palauttaa jatkuvasti väärän HTTP-statuskoodin tai on pitkään poissa käytöstä.
Huoltotilanteessa kannattaa kiinnittää huomiota HTTP-statukseen.
503 Service Unavailable
Tilapäiseen huoltoon sopii yleensä HTTP-status:
503 Service Unavailable
Se kertoo hakukoneille ja muille asiakkaille, että palvelu on tilapäisesti poissa käytöstä.
Tämä on eri asia kuin:
404 Not Found
joka tarkoittaa, ettei pyydettyä resurssia löydy.
Huoltotilaa ei siis kannata toteuttaa siten, että kaikki sivut muuttuvat virheellisesti 404-sivuiksi.
Retry-After
503-vastauksessa voidaan käyttää myös:
Tämä kertoo, että asiakas voi yrittää uudelleen esimerkiksi 1 800 sekunnin eli 30 minuutin kuluttua.
Tämä voi olla hyödyllinen erityisesti suunnitelluissa huolloissa.
CDN ja huoltotila
Jos WordPressin edessä on CDN, kuten Cloudflare tai muu CDN, huoltotilan toteutuksessa pitää huomioida välimuisti.
Muuten CDN voi tarjota kävijälle vanhaa sisältöä tai päinvastoin välimuistittaa huoltosivun.
Tarkista erityisesti:
- CDN-cache
- bypass-säännöt
- kirjautuneiden käyttäjien ohitukset
- 503-vastaukset
- cache purge
Varnish ja huoltotila
Jos sivustolla käytetään Varnishia, sama asia koskee myös sitä.
Huoltotilan aikana ei ole järkevää antaa välimuistin peittää todellista palvelintilannetta.
Huollon jälkeen välimuisti kannattaa tarvittaessa tyhjentää, jotta kävijät saavat uuden version sivustosta.
Huoltoikkuna kannattaa ajoittaa oikein
Huoltoa ei kannata tehdä silloin, kun käyttäjät tarvitsevat sivustoa eniten.
Analytiikasta voidaan tarkistaa:
- liikenteen kellonajat
- viikonpäivät
- verkkokaupan tilauspiikit
- käyttäjien maantieteellinen sijainti
Esimerkiksi kansainvälisellä sivustolla ”hiljainen yö” Suomessa ei välttämättä ole hiljainen muualla maailmassa.
Huoltoikkunan suunnittelu
Hyvä prosessi voi näyttää tältä:
Tämä vähentää riskiä, että sivusto avataan käyttäjille puolivalmiina.
Testaa sivusto ennen huoltotilan poistamista
Älä poista huoltotilaa heti, kun päivitykset ovat teknisesti valmiit.
Testaa ensin:
- etusivu
- kirjautuminen
- hakutoiminto
- tärkeimmät lomakkeet
- artikkelit
- mobiilinäkymä
- verkkokauppa
- checkout
- maksaminen
- sähköpostit
Tärkeimmät toiminnot kannattaa testata oikeasti, ei vain todeta että sivu avautuu.
Pidä yhteydenottokanava näkyvissä
Jos sivusto on asiakkaille tärkeä, huoltosivulla voi olla yhteystieto.
Esimerkiksi:
Jos tarvitset apua huollon aikana, ota yhteyttä: support@example.com
Tämä on erityisen hyödyllistä verkkokaupoissa ja asiakasportaaleissa.
Älä paljasta teknisiä yksityiskohtia
Huoltosivulla ei tarvitse kertoa:
- palvelimen IP-osoitetta
- PHP-versiota
- tietokannan nimeä
- WordPressin versiota
- palvelinarkkitehtuuria
- sisäisiä virheilmoituksia
Pidä ulospäin annettava tieto tarkoituksenmukaisena.
Huoltokatko ja tietoturva
Huoltoikkuna on hyvä hetki tarkistaa myös tietoturva.
Ennen päivityksiä:
- ota varmuuskopio
- varmista palautusmahdollisuus
- tarkista ylläpitäjät
- varmista SSH/SFTP-pääsyt
- tarkista palvelimen tila
Huollon jälkeen:
- tarkista kirjautuminen
- tarkista WAF
- tarkista lokit
- tarkista virheilmoitukset
- tarkista tärkeimmät URL-osoitteet
Yleisimmät virheet
Huoltokatkoissa tehdään usein seuraavia virheitä:
- huollosta ei ilmoiteta etukäteen
- huoltosivu on epäselvä
- päättymisaikaa ei kerrota
- verkkokaupan checkout jää vahingossa käyttöön
- huoltosivu palauttaa väärän HTTP-statuksen
- CDN tarjoilee vanhaa sivua
- ylläpitäjä lukitaan ulos
- huollon jälkeen sivustoa ei testata
- varmuuskopiota ei oteta ennen muutoksia
Näistä monet ovat helposti vältettävissä pienellä ennakkosuunnittelulla.
Esimerkkiteksti huoltosivulle
Sivusto on hetken huollossa
Teemme parhaillaan sivustolle teknisiä päivityksiä.
Huoltoaika: klo 23.00–23.30
Sivuston pitäisi olla jälleen normaalisti käytettävissä huollon päätyttyä.
Pahoittelemme katkosta ja kiitämme kärsivällisyydestä.
Jos huolto voi kestää pidempään:
Arvioitu valmistumisaika: klo 01.00.
Ilmoitamme mahdollisesta viivästymisestä tällä sivulla.
Yhteenveto
WordPress-sivuston huoltokatko kannattaa suunnitella samalla tavalla kuin mikä tahansa muukin tuotantoympäristön muutos. Kävijälle tärkeintä on tietää miksi sivusto on poissa käytöstä, milloin se palaa ja mitä hänen pitäisi tehdä sillä välin.
Teknisesti tärkeää on puolestaan varmistaa toimiva varmuuskopio, oikea HTTP-status, CDN- ja välimuistien toiminta sekä sivuston perusteellinen testaaminen ennen huoltotilan poistamista.
Lyhyt ja selkeä huoltoilmoitus antaa huomattavasti ammattimaisemman kuvan kuin WordPressin, palvelimen tai selaimen paljas virheilmoitus.