@harrasteblogi JUURI NYT
--:--
📅 9.8.2026 🕒 09:01 #Artikkeleita
KeyCDN

Tilaa uutiskirje

Saat tuoreimmat 10 uusinta artikkelia kerran viikossa sähköpostiisi.

Tilaa uutiskirje

WordPress WXR-tiedostojen käsittely

WordPress WXR-tiedostojen käsittelyWordPress-sivuston sisältöä voidaan siirtää sivustolta toiselle WXR-tiedoston avulla. WXR eli WordPress eXtended RSS on XML-pohjainen tiedostomuoto, jota WordPress käyttää sisältöjen vientiin ja tuontiin.

WXR-tiedosto on hyödyllinen erityisesti sisältömigraatioissa, mutta sitä ei pidä sekoittaa täydelliseen WordPress-varmuuskopioon. Se voi sisältää suuren määrän sivuston sisältöön liittyvää dataa, mutta ei sellaisenaan kata koko WordPress-asennusta.

Kun WXR-tiedostoja käsitellään ohjelmallisesti tai suurissa migraatioissa, tiedoston rakenne, merkkikoodaus, riippuvuudet ja tuontiprosessin hallinta kannattaa ottaa huomioon jo suunnitteluvaiheessa.

Mikä on WXR-tiedosto?

WXR on WordPressin oma XML-pohjainen vientiformaatti.

Sen avulla voidaan siirtää esimerkiksi:

  • artikkeleita
  • sivuja
  • Custom Post Type -sisältöä
  • kategorioita
  • tägejä
  • kommentteja
  • kirjoittajia
  • taksonomioita
  • metatietoja
  • mediaan liittyviä tietoja

WXR perustuu RSS/XML-rakenteeseen, mutta sisältää WordPressille tarkoitettuja lisätietoja.

Miten WXR-vienti toimii?

WordPressin hallintapaneelista voidaan muodostaa vientitiedosto, joka sisältää valitun sisällön.

Vienti voidaan rajata esimerkiksi:

  • tiettyyn sisältötyyppiin
  • tiettyyn kirjoittajaan
  • tiettyyn päivämääräväliin
  • tiettyyn kategoriaan

Tuloksena syntyy XML-tiedosto, joka voidaan myöhemmin tuoda toiseen WordPress-asennukseen.

WXR ei ole täydellinen varmuuskopio

Tämä ero on tärkeä ymmärtää.

WXR voi sisältää sivuston sisältöä, mutta se ei ole täydellinen kopio koko WordPress-järjestelmästä.

WXR ei korvaa esimerkiksi:

  • tietokantavarmuuskopiota
  • wp-content-hakemiston varmuuskopiota
  • teemojen varmuuskopioita
  • lisäosien varmuuskopioita
  • palvelinkonfiguraation varmuuskopiota

Jos koko sivusto pitää pystyä palauttamaan vikatilanteessa, tarvitaan erillinen täydellinen varmuuskopio.

WXR-tiedoston rakenne

WXR on XML-tiedosto, joten sen sisällä on hierarkkinen rakenne.

Tiedosto sisältää muun muassa:

  • RSS-rakenteen
  • channel-elementin
  • WordPressin namespace-määrityksiä
  • item-elementtejä
  • sisältöön liittyviä metatietoja

Yksittäinen sisältöobjekti sijaitsee yleensä omassa item-elementissään.

Item-elementti

WXR:n keskeinen rakennuspalikka on item.

Yksi item voi edustaa esimerkiksi:

  • artikkelia
  • sivua
  • mediaobjektia
  • kommenttia
  • muuta tuotavaa sisältöä

Item sisältää tietoja, joiden avulla WordPress pystyy muodostamaan vastaavan objektin kohdejärjestelmään.

Post Type

WXR sisältää tietoa siitä, minkä tyyppisestä objektista on kyse.

Esimerkiksi:

  • post
  • page
  • attachment
  • Custom Post Type

Tämä on tärkeää erityisesti silloin, kun WXR-tiedostoa käsitellään ohjelmallisesti.

Kohdejärjestelmässä vastaavan Custom Post Typen täytyy olla rekisteröitynä, jotta sisältö voidaan käsitellä oikein.

Taksomiat WXR-tiedostossa

Kategoriat ja tägit voidaan sisällyttää vientiin.

Mukana voi olla esimerkiksi:

  • kategorian nimi
  • slug
  • kuvaus
  • parent-suhde
  • taksonomian tunniste

Hierarkkiset kategoriat vaativat erityistä huomiota, sillä vanhempi–lapsi-suhteet pitää säilyttää tuonnissa.

Metatiedot

WXR voi sisältää myös sisältöön liittyvää metadataa.

Sitä voidaan käyttää esimerkiksi:

  • ulkoisiin tunnisteisiin
  • mukautettuihin kenttiin
  • SEO-tietoihin
  • tuotetietoihin
  • integraatioiden tunnisteisiin

Kaikkea metadataa ei kuitenkaan välttämättä kannata siirtää sellaisenaan uuteen järjestelmään.

Migraation yhteydessä kannattaa määrittää, mitkä metakentät ovat edelleen tarpeellisia.

Media ja liitteet

WXR voi sisältää mediaobjekteihin liittyvää tietoa, kuten tiedoston URL-osoitteen ja attachment-tietoja.

Varsinaisten tiedostojen siirtyminen riippuu tuontiprosessista ja käytettävästä menetelmästä.

Siksi media kannattaa tarkistaa erillisenä osana migraatiota.

Erityisesti suurissa sivustoissa kannattaa varmistaa:

  • kuvat
  • PDF-tiedostot
  • videot
  • liitetiedostot
  • alt-tekstit
  • kuvatekstit

WXR:n käsittely ohjelmallisesti

WXR-tiedostoa voidaan käsitellä ohjelmallisesti esimerkiksi PHP:llä tai muilla XML-yhteensopivilla työkaluilla.

Käyttötarkoituksia voivat olla:

  • sisällön analysointi
  • datan muuntaminen
  • migraatio
  • tietojen suodattaminen
  • Custom Post Type -muunnokset
  • vanhojen sisältöjen puhdistaminen

Ohjelmallisessa käsittelyssä XML:n rakennetta ei kannata olettaa täysin vapaasti, vaan WordPressin vientiformaatti kannattaa analysoida ennen muunnosten tekemistä.

Suuret WXR-tiedostot

Suuri WXR-tiedosto voi olla ongelmallinen, jos koko tiedosto yritetään ladata muistiin kerralla.

Ongelmaksi voivat muodostua:

  • PHP:n muistiraja
  • suoritusaikaraja
  • palvelimen CPU-kuorma
  • levytila
  • tietokannan kuormitus

Suuri migraatio kannattaa mahdollisuuksien mukaan jakaa pienempiin kokonaisuuksiin.

WXR ja WP-CLI

WP-CLI soveltuu hyvin WordPress-sisällön käsittelyyn komentoriviltä.

Sillä voidaan automatisoida esimerkiksi:

  • vienti
  • tuonti
  • migraatiot
  • testipalautukset
  • sisältöjen tarkistaminen

Komentorivipohjainen käsittely on usein luotettavampaa kuin suuren tiedoston käsitteleminen selaimen kautta.

WXR:n muokkaaminen

WXR-tiedostoa voidaan teoriassa muokata tekstieditorilla, koska kyseessä on XML-tiedosto.

Suurissa tai monimutkaisissa aineistoissa käsin muokkaamista ei kuitenkaan suositella.

Parempi vaihtoehto on käyttää:

  • XML-parseria
  • PHP-skriptiä
  • erillistä migraatiotyökalua
  • WP-CLI:tä

Näin XML-rakenne säilyy eheänä.

Merkkikoodaus

Suomenkielisessä sisällössä merkkikoodauksella on erityisen suuri merkitys.

WXR-tiedostoissa kannattaa tarkistaa:

  • UTF-8
  • ääkköset
  • erikoismerkit
  • HTML-entiteetit
  • XML-escaping

Virheellinen merkkikoodaus voi johtaa siihen, että esimerkiksi ä, ö tai å muuttuu virheelliseksi tuonnin aikana.

Duplikaattien välttäminen

WXR-tuontia voidaan joutua suorittamaan useita kertoja.

Tällöin on tärkeää huomioida, miten WordPress tunnistaa jo tuodun sisällön.

Migraatiossa kannattaa säilyttää tarvittaessa:

  • alkuperäinen ID
  • GUID
  • slug
  • ulkoinen tunniste
  • oma metatunniste

Näin epäonnistunut tuonti voidaan korjata ilman tarpeettomien duplikaattien syntymistä.

WXR ja URL-osoitteet

Sisältömigraatiossa URL-osoitteet ovat tärkeä osa kokonaisuutta.

Tuonnin jälkeen kannattaa tarkistaa:

  • sisäiset linkit
  • kuvalinkit
  • kategoriat
  • slugit
  • vanhat URL-osoitteet
  • uudelleenohjaukset

Sisällön onnistunut siirtäminen ei vielä tarkoita, että vanhat URL-osoitteet toimivat.

Turvallisuus

WXR-tiedosto voi sisältää paljon sivuston sisältöä ja mahdollisesti henkilötietoja.

Siksi:

  • älä jätä WXR-tiedostoa julkisesti saataville
  • säilytä vientitiedosto turvallisessa paikassa
  • käytä suojattua tiedonsiirtoa
  • rajoita tiedoston käyttöoikeuksia
  • poista tarpeettomat vientitiedostot
  • tarkista henkilötietojen käsittely

Vientitiedosto kannattaa käsitellä samalla huolellisuudella kuin muutkin sivuston varmuuskopio- ja migraatiotiedot.

WXR ja GDPR

Jos WXR sisältää käyttäjien tai kommentoijien tietoja, mukana voi olla henkilötietoja.

Ennen tiedoston jakamista tai siirtämistä kannattaa tarkistaa, sisältääkö se:

  • nimiä
  • sähköpostiosoitteita
  • kommenttitietoja
  • käyttäjätunnuksia
  • muita henkilötietoja

Tarpeettomia henkilötietoja ei kannata siirtää uuteen ympäristöön.

Staging-ympäristössä testaaminen

WXR-tuonti kannattaa testata ensin staging-ympäristössä.

Testauksessa voidaan tarkistaa:

  • sisältöjen määrä
  • otsikot
  • tekstisisällöt
  • kuvat
  • taksonomiat
  • metatiedot
  • kommentit
  • URL-osoitteet
  • Custom Post Typet

Samalla voidaan arvioida, kuinka kauan varsinainen tuotantotuonti kestää.

Yleisimmät virheet

WXR-tiedostojen käsittelyssä tehdään usein samoja virheitä.

Tyypillisiä ongelmia ovat:

  • WXR:n käyttäminen täydellisenä varmuuskopiona
  • liian suuren tiedoston tuonti kerralla
  • median unohtaminen
  • Custom Post Typen puuttuminen kohdesivustolta
  • duplikaattien syntyminen
  • URL-osoitteiden tarkistamatta jättäminen
  • henkilötietojen tarpeeton siirtäminen

Huolellinen esivalmistelu tekee migraatiosta huomattavasti turvallisemman.

Parhaat käytännöt

WXR-tiedostojen käsittelyssä kannattaa:

  • pidä alkuperäinen WXR-tiedosto tallessa
  • testaa tuonti staging-ympäristössä
  • varmista Custom Post Typet ja taksonomiat ennen tuontia
  • tarkista median saatavuus
  • käsittele suuret tiedostot hallituissa erissä
  • tarkista merkkikoodaus
  • estä duplikaattien syntyminen
  • tarkista URL-osoitteet migraation jälkeen
  • suojaa vientitiedostot
  • ota erillinen täydellinen varmuuskopio ennen tuotantotuontia

Milloin WXR on hyvä valinta?

WXR sopii erityisesti tilanteisiin, joissa WordPress-sisältöä siirretään WordPressistä toiseen.

Hyviä käyttökohteita ovat:

  • WordPress-migraatiot
  • sivustojen yhdistäminen
  • sisällön siirtäminen stagingiin
  • sisältöjen arkistointi
  • valikoidun sisällön siirtäminen
  • vanhan WordPress-sivuston sisältöjen käsittely

Jos tarkoituksena on rakentaa jatkuva integraatio ulkoisen järjestelmän kanssa, REST API tai muu tarkoitukseen rakennettu tiedonsiirtoratkaisu voi olla parempi vaihtoehto.

Yhteenveto

WXR on WordPressin oma XML-pohjainen sisältöjen vientiformaatti, joka soveltuu erityisesti WordPress-sivustojen välisiin sisältömigraatioihin. Sen avulla voidaan siirtää artikkeleita, sivuja, taksonomioita, kommentteja, metadataa ja muita sisältöön liittyviä tietoja.

WXR ei kuitenkaan ole täydellinen varmuuskopio koko sivustosta. Suurissa migraatioissa on lisäksi huomioitava media, tietokannan suorituskyky, duplikaattien estäminen, URL-rakenteet ja henkilötietojen suojaaminen.

Kun WXR-tiedostot käsitellään hallitusti, testataan staging-ympäristössä ja yhdistetään tarvittaessa WP-CLI-pohjaiseen prosessiin, WordPress-sisällön siirtämisestä voidaan tehdä huomattavasti luotettavampaa ja ennakoitavampaa.

🤖 Tämä sisältö on tuotettu tekoälyn avulla. Tarkista tiedot alkuperäisistä lähteistä ennen niiden hyödyntämistä.
🍪