Moduuli 8 · 8.3
Staging: turvallista testaamista
Moduuli 8: Varmuuskopiot, testiympäristö ja PHP-päivitykset · Lukuaika: 9 minuuttia
Oppimistavoite: Tämän oppitunnin jälkeen osaat luoda testiympäristön (staging), suojata sen ja siirtää muutokset turvallisesti takaisin varsinaiselle sivustollesi.
Keskeiset käsitteet: staging, tuotanto, kloonaus, alidomeeni, noindex, salasana hakemistolle, sähköposti pois päältä, maksupalveluntarjoaja testitilassa, synkronointi, tietokannan ylikirjoittaminen, paikallinen kehitysympäristö
Mitä staging on
Staging-ympäristö (eli testisivusto) on kopio varsinaisesta sivustostasi, omassa osoitteessaan, jossa kokeilet muutoksia. Varsinaista sivustoasi kutsutaan silloin tuotannoksi. Stagingissa saa mennä pieleen: uusi teema, iso päivitys, PHP-päivitys (oppitunti 8.4), uusi lisäosa. Vasta kun se toimii, teet muutoksen tuotantoon.
Käytät stagingia muutoksiin, joihin liittyy riski: WordPressin tai verkkokauppalisäosan isot versiopäivitykset, eri teema, PHP-päivitys, lisäosien siivoaminen (oppitunti 5.4), uudelleensuunnittelu. Tekstimuutokseen tai pieneen lisäosapäivitykseen sitä ei tarvita.
Tavat luoda staging
| Tapa | Miten | Kenelle |
|---|---|---|
| Asentimen kloonaustoiminto | Installatronissa "Kopioi" ja "Create a staging site", Softaculousissa "Create Staging", WP Toolkitissa "Clone" | Helpoin tapa, jos sivusto on luotu asentimella |
| Webhotellisi staging-toiminto | Hallinnoidussa WordPress-webhotellissa usein yhdellä napilla | Jos webhotellisi tarjoaa tämän |
| Staging-lisäosa | Lisäosa luo kopion alihakemistoon tai alidomeeniin | Jos sinulla ei ole asenninta tai webhotellitoimintoa |
| Käsin | Varmuuskopion palauttaminen sivuston viereen (oppitunti 8.2) ja osoitteiden muokkaaminen | Opettavaista, ja aina mahdollista |
| Paikallisesti omalla tietokoneellasi | Ohjelma paikalliseen WordPress-kehitykseen tai Docker-ympäristö | Kehittäjille ja suuremmille muutoksille |
Staging alidomeenissa (staging.example.com) on yleensä parempi kuin alihakemistossa (example.com/staging): se käyttäytyy enemmän kuin varsinainen sivustosi, eivätkä evästeet ja .htaccess-säännöt mene sekaisin. Luo alidomeeni ensin, sertifikaatin kanssa.
Suojaaminen: kolme asiaa, jotka hoidat heti
Sivustosi kopio on täysimittainen sivusto kaikkine sisältöineen, ja joskus kaikkine asiakastietoineen. Hoida siksi heti kuntoon:
1. Hakukoneet pois
Ilman suojausta Google voi löytää ja indeksoida staging-ympäristösi. Silloin syntyy päällekkäistä sisältöä, ja hakijat päätyvät testisivustollesi. Tee vähintään yksi, mieluiten kaksi näistä:
- Salasana koko stagingille (basic authentication webhotellihallintasi kautta, "suojattu hakemisto"). Silloin kukaan ei näe sivustoa ilman salasanaa, ei myöskään hakukoneet. Tämä on vahvin keino.
- Hakukoneiden torjuminen kohdassa Asetukset > Lukeminen (oppitunti 2.4). Tämä asettaa
noindex-merkinnän jokaiselle sivulle. Hakukoneet yleensä kunnioittavat sitä, mutta se on pyyntö, ei lukko.
Huomaa myös käänteinen tilanne: jos synkronoit stagingin myöhemmin takaisin tuotantoon, älä ota noindex-valintaa mukaan. Tuotantosivusto, joka katoaa Googlesta "onnistuneen" synkronoinnin jälkeen, on klassikko. Tämän oppitunnin tehtävä tarkistaa molemmat.
2. Ei sähköpostia oikeille ihmisille
Verkkokaupan tai jäsensivuston kopio voi lähettää sähköpostia: vahvistuksia, muistutuksia, uutiskirjeitä, salasanalinkkejä. Asiakkaat saavat silloin hämmentäviä viestejä testisivustoltasi. Poista lähtevä sähköposti käytöstä stagingissa tai ohjaa se omaan osoitteeseesi (sähköpostin sieppaavalla lisäosalla, tai poistamalla SMTP-lisäosa käytöstä stagingissa, oppitunti 9.1). Poista käytöstä myös ajastetut tehtävät, jotka lähettävät sähköpostia.
3. Maksut ja integraatiot testitilassa
Verkkokaupan stagingin tulisi toimia maksupalveluntarjoajan testitilassa, ei oikeilla maksuilla. Muut integraatiot (kirjanpito, varasto, CRM) poistetaan käytöstä tai yhdistetään testiympäristöön, muuten ne käsittelevät testitilaukset oikeina.
Jos käytät oikeita asiakastietoja stagingissa, tietosuoja-asetus (GDPR) koskee niitä samalla tavalla (oppitunti 9.3): älä säilytä niitä tarpeettoman kauan, ja poista staging kun olet valmis.
Takaisin tuotantoon: tietokannan sudenkuoppa
Vaikein vaihe on muutosten siirtäminen takaisin tuotantoon. Asentimissa ja staging-lisäosissa on tähän oma toimintonsa (Installatronissa "Synch", muissa "Push to live"). Riski:
- Luot stagingin maanantaina. Tiistaista torstaihin testaat uutta teemaa.
- Sillä välin tuotantoon tulee kaksikymmentä tilausta, kolme uutta artikkelia ja viisikymmentä kommenttia.
- Perjantaina synkronoit stagingin tietokannan tuotantoon. Stagingin tietokanta on maanantailta: tiistaista perjantaihin tulleet tilaukset, artikkelit ja kommentit ovat poissa.
Siksi:
- Ota ensin varmuuskopio tuotannosta (oppitunti 8.1), juuri ennen synkronointia.
- Synkronoi vain se mitä tarvitaan. Teeman tai lisäosan päivittäminen on tiedostokysymys; tietokantaa ei silloin usein tarvitse siirtää. Monet synkronointitoiminnot antavat valita: vain tiedostot, tai vain tietyt taulut.
- Verkkokaupan tai vilkkaan sivuston kohdalla: tee muutos mieluummin uudelleen suoraan tuotantoon (samat vaiheet kuin stagingissa, nyt kun tiedät että ne toimivat) sen sijaan että siirtäisit tietokannan. Tai ajoita rauhallinen hetki kaupan lyhyelle sulkemiselle.
- Tarkista jälkeenpäin tuotanto: oppitunnin 8.2 tarkistuslista, ja noindex-valinta.
Staging on paikka, jossa opit mitä tapahtuu. Itse muutos on turvallisinta toteuttaa uudelleen suoraan tuotantoon.
Siivoaminen
Kuukausia paikallaan pysyvä staging muuttuu unohdetuksi sivustoksi: ei päivitetty, vanhoilla lisäosilla ja oikeilla tiedoilla. Juuri se heikko kohta, josta oppitunnissa 7.1 oli kyse. Poista staging kun olet valmis, tai pidä se yllä täysimittaisena sivustona (päivitykset, salasana). Kloonikin vie yhtä paljon tilaa kuin alkuperäinen ja sillä on oma tietokantansa.
Yhteenveto
- Staging on kopio sivustostasi omassa osoitteessaan riskialttiiden muutosten testaamiseen.
- Luo se asentimellasi, webhotellisi kautta, lisäosalla tai käsin, mieluiten alidomeeniin sertifikaatin kanssa.
- Suojaa se heti: salasana ja/tai noindex, ei sähköpostia oikeille ihmisille, maksut testitilassa.
- Älä synkronoi sokeasti takaisin: stagingin tietokanta ylikirjoittaa sen mitä tuotantoon on tullut lisää. Ota ensin varmuuskopio, siirrä vain se mitä tarvitaan, tai tee muutos uudelleen.
- Poista staging kun olet valmis, äläkä ota noindex-valintaa mukaan tuotantoon.
Tietovisa
Tehtävä
Tehtävä A8.3: Onko testiympäristösi suojattu? Syötä stagingisi osoite (oman verkkotunnuksesi alidomeeni, esimerkiksi tehtävästä D8.2) ja varsinaisen sivustosi osoite. Todista tehtävän koodilla, että verkkotunnus on sinun. Ohjelma tarkistaa stagingista: vastaako se https:n kautta, ja onko se suojattu (salasanakysely, tai noindex HTML:ssä tai X-Robots-Tag-otsakkeessa)? Osoittaako REST-viittaus (wp-json) stagingiin itseensä eikä varsinaiseen sivustoosi? Ja varsinaisella sivustollasi: ei ole noindex-merkintää?
Lue lisää
Nämä artikkelit kuvaavat vaiheet WebOkén hallintapaneeleissa; muissa paneeleissa ne toimivat samankaltaisesti.
