Skip to content

Alt om WordPress, webutvikling — og mer til

🪓 Slik deler du opp store XML-filer ved import til WordPress

🪓 Slik deler du opp store XML-filer ved import til WordPress

Du eksporterte nettstedet ditt, men filen veier 30 megabyte og får ikke plass hos den nye verten? Standardimporten i WordPress stopper stille halvveis, og noe innhold forsvinner rett og slett. Et kjent scenario for alle som migrerer fra et gammelt nettsted med hundrevis av innlegg.

Årsaken er strenge hostinggrenser: upload_max_filesize (vanligvis 2-8 MB), post_max_size og en skripttidsavbrudd på 30 sekunder. En WXR-fil (WordPress eXtended RSS) med årevis av innhold overskrider lett disse grensene.

Her er fire metoder som fungerer for å dele en stor XML i deler og importere alt uten å miste data. Fra enklest til mest avansert.

💡 Rask oversikt:

  • Øk opplastingsgrensen via hostingsupport: dette er den raskeste veien hvis leverandøren din samarbeider.
  • Trenger du et offline-verktøy for et bestemt OS? Prøv skrivebordsverktøyet WXR File Splitter (Windows) eller WXR Split (Mac).
  • Plattformuavhengig alternativ uten installasjon: den nettbaserte WXR-deleren deler filen rett i nettleseren din.
  • Jobber du via kommandolinjen? WP-CLI wp import godtar flere filer og begrenses ikke av nettrestriksjoner.

Hvorfor importen feiler: tre grenser som står i veien

WordPress-import møter ikke én, men tre barrierer samtidig.

  • upload_max_filesize: maksimal størrelse på én enkelt opplastet fil. På billig hosting er dette 2 MB; på mellomnivå-hosting, 8-32 MB.
  • post_max_size: total størrelse på POST-forespørselen. Den må være større enn upload_max_filesize, ellers når ikke filen frem til behandleren.
  • max_execution_time: skriptets kjøretid. Hvis importen varer lenger enn 30-60 sekunder, avsluttes prosessen selv om filen ble lastet opp.

En eksport fra et gammelt nettsted med 500 innlegg og tusenvis av kommentarer gir lett en XML på 15-25 MB. En slik fil får ikke plass innenfor standardgrensene.

Metode 1: Be verten din om å øke grensene

Den enkleste veien er å kontakte hostingsupport. De fleste leverandører øker upload_max_filesize til 64-128 MB på forespørsel, spesielt på abonnement over basisnivå.

Hvis du selv har tilgang til serverinnstillinger, legg til dette i wp-config.php:

1define('WP_MEMORY_LIMIT', '256M');

Og opprett en .user.ini-fil i nettstedets rotmappe (for verter som bruker PHP-FPM):

1upload_max_filesize = 128M
2post_max_size = 128M
3max_execution_time = 300

På delt hosting fungerer ikke .user.ini alltid; i så fall må du sende inn en supportsak.

Etter at du har endret grensene, laster du opp den opprinnelige WXR-filen via Verktøy → Importer → WordPress. Hvis filen fortsatt ikke går gjennom, går du videre til oppdeling.

Metode 2: WXR File Splitter for Windows

For Windows finnes det et klassisk skrivebordsverktøy kalt WXR File Splitter. Grensesnittet er minimalistisk, men det får jobben gjort: åpne WXR-filen, angi antall deler eller maksimal størrelse per del, klikk «Split Files», så får du flere XML-filer i samme mappe.

WXR File Splitter-vindu som viser XML-fildata

Verktøyet viser antall elementer i filen før oppdeling: innlegg, sider, kommentarer. Dette hjelper deg med å anslå hvor mange deler du bør lage.

Merk: verktøyet er gammelt, og den opprinnelige utviklerens nettsted fungerer ikke lenger. Hvis verktøyet ikke vil kjøre på Windows 10/11, gå rett til metode 4 (nettbasert deler); den er mer pålitelig.

Metode 3: WXR Split for Mac

Mac-brukere har et tilsvarende verktøy kalt WXR Split. Logikken er den samme: last XML-en, angi delstørrelsen, få et sett med filer for sekvensiell import.

WXR Split-grensesnitt med valg av utdatafilstørrelse

Som med Windows-versjonen kan det offisielle nettstedet for dette verktøyet være utilgjengelig. Ikke kast bort tid på å lete; nettdeleren i neste trinn fungerer på alle OS.

Metode 4: Nettbasert deler wxrfilesplitter.com

Det mest praktiske alternativet i dag er det gratis nettverktøyet WXR File Splitter. Det fungerer i nettleseren, krever ingen installasjon og er ikke knyttet til noe operativsystem.

Slik deler du filen:

  • Åpne wxrfilesplitter.com.
  • Last opp WXR-filen din. Størrelsesgrensen er 256 MB, noe som er mer enn nok for ethvert nettsted.
  • Angi ønsket delstørrelse; utvikleren anbefaler 2 MB for stabil import.
  • Klikk Submit og last ned arkivet med de oppdelte XML-filene.

Verktøyet lagrer ikke filer på serveren; midlertidige data slettes hver time. Etter oppdeling importerer du hver fil én etter én via standard Verktøy → Importer → WordPress.

Den største fordelen: du slipper å finne et verktøy for ditt OS eller sette deg inn i kommandolinjen. Alt skjer i nettleseren med et par klikk.

Metode 5: WP-CLI-import (for deg som jobber via konsoll)

Hvis du har SSH-tilgang til serveren og WP-CLI er installert, kan du importere uten oppdeling, eller med oppdeling for hastighet.

WP-CLI godtar flere filer samtidig:

1wp import file1.xml file2.xml file3.xml --authors=create

Flagget --authors=create oppretter forfatterkontoer hvis de ikke finnes på det nye nettstedet.

Denne metoden har to fordeler: for det første fungerer WP-CLI via kommandolinjen og begrenses ikke av PHP-nettgrenser; for det andre kan du sende inn en mappe med oppdelte deler med én enkelt kommando.

For å aktivere detaljert logging under import, legg til dette i wp-config.php:

1define('IMPORT_DEBUG', true);

Da vil WP-CLI gi en detaljert rapport for hvert behandlet element, og vise hva som ble importert og hva som ble hoppet over.

⁉️🤔 Ofte stilte spørsmål

Filen er på 40 MB og ingen av metodene hjelper. Hva bør jeg gjøre?

Problemet er mest sannsynlig ikke størrelsen, men tidsavbruddet. Selv en fil delt opp i 2 MB-deler kan henge seg hvis serveren ikke kan behandle hver del innen 30 sekunder. Be verten din om å øke max_execution_time til 300. Eller bruk WP-CLI, som ikke er avhengig av nett-tidsavbrudd.

Kan jeg bare dele XML-en i et tekstredigeringsprogram?

Teknisk sett ja, men i praksis nei. En WXR-fil har en kompleks struktur med navnerom og gjentakende <item>-tagger, som hver inneholder et komplett innlegg med metadata. Manuell oppdeling vil nesten helt sikkert ødelegge XML-en, og WordPress-importøren vil gi en parsefeil. Bruk spesialiserte verktøy.

Må jeg dele filen hvis jeg flytter til en skikkelig VPS?

På en VPS kontrollerer du grensene selv; øk upload_max_filesize og post_max_size til 128 MB, så lastes filen opp i sin helhet. Men vær forsiktig med tidsavbrudd: selv på en kraftig server kan import av 500 innlegg med mediefiler ta 2-3 minutter. Øk max_execution_time eller del filen likevel som en forholdsregel.

Hva om noe innhold ikke ble importert etter oppdeling?

Sjekk at du har importert ALLE de resulterende filene. En vanlig feil: du lastet ned arkivet fra wxrfilesplitter.com, lastet opp den første filen og stoppet. Hver fil inneholder sin egen andel elementer; å hoppe over en del betyr å miste disse postene. Importer sekvensielt, og vent til hver enkelt er fullført.

Hva med importtillegg som WP All Import?

WP All Import kan lese store XML-filer og importere dem i bolker, men det er designet for å importere data til egendefinerte innholdstyper og ACF-felt, IKKE for å importere standard WXR med innlegg/sider/kommentarer slik de er. For oppgaven «å flytte et helt nettsted», bruk verktøyene beskrevet ovenfor.

Oppsummering: hvilket verktøy du bør bruke til din oppgave

Det finnes ikke noe universelt verktøy; valget avhenger av hvilken servertilgang du har og hvor stor filen er.

  • Hvis du kan kontakte hosting-support, start med å øke grensene. Det tar 5 minutter og løser ofte problemet uten oppdeling.
  • Fil opptil 256 MB uten konsolltilgang: WXR-nettbasert deler vil håndtere oppgaven i nettleseren din med et par klikk.
  • Har du SSH og WP-CLI? wp import med en mappe med oppdelte filer er den mest pålitelige og raskeste metoden.
  • Behold de gamle skrivebordsverktøyene (WXR File Splitter / WXR Split) som et reservealternativ; de fungerer på eldre systemer, men utviklernes nettsteder er ikke lenger tilgjengelige.

Delt XML-en din og importert nettstedet med suksess? Del i kommentarfeltet hvilken metode som fungerte for deg, og om du opplevde noe innholdstap under importen.