Migrering fra WordPress til Astro og Next.js

Migrering fra WordPress til Astro og Next.js

5.00/5 - (17 votes)
6 min lesetid
Guide

Jeg flytter frontenden på WordPress-nettsteder til Astro eller Next.js og lar redigeringen bli der den er, i WordPress. Jeg heter Mariusz Szatkowski, har jobbet med WordPress siden 2006 og gjør hver migrering selv, uten team eller underleverandører. Før jeg foreslår et rammeverksbytte, måler jeg hvor problemet ligger. Ofte holder det å rette hurtigbufferen, bildene eller en utvidelse som kjører spørringer ved hvert kall.

#Når lønner det seg å migrere?

Et WordPress-nettsted med riktig satt opp hurtigbuffer leverer allerede ferdige sider. Migrering gir mening når frontenden selv er problemet: et tema ingen tør å røre, sidebyggere som laster mye JavaScript, eller et design som krever komponenter WordPress-temaet ikke håndterer godt. Den gir også mening når du vil skille den offentlige siden fra administrasjonen, slik at WordPress ikke lenger svarer direkte på hvert besøk.

Det endrer angrepsflaten, men fjerner den ikke. WordPress, utvidelser, kontoer og API trenger fortsatt oppdateringer, tilgangskontroll og sikkerhetskopier.

#Hva du får etter migreringen

  • En utgangsmåling. Representative URL-er med LCP, INP, CLS og TTFB målt før noe endres, og laget som skaper problemet navngitt. Viser den at hurtigbuffer eller bilder er nok, sier jeg det i stedet for å selge en migrering.
  • En frontend under versjonskontroll. Astro- eller Next.js-maler og komponenter i git, publisering via bygging og forhåndsvisning før noe går live.
  • Redigering i WordPress. Samme kontoer, samme roller, samme publiseringsflyt.
  • Skjemaer, integrasjoner og videresendinger flyttet over, med listen over URL-er som skal sjekkes etter lansering.
  • En før-og-etter-rapport. Samme URL-er, samme testforhold, begge måledatoene og feltdataene dine hvis du har dem. Uten det er en prosent bare et mål.

#Astro eller Next.js?

AstroNext.js
Standard renderingHele nettstedet forhåndsrendres; export const prerender = false gir rendering ved forespørsel per ruteI App Router er layouts og sider Server Components; statisk eller dynamisk avhenger av ruten
JavaScript i nettleserenIngen for Astro-komponenter; interaktive øyer bruker client:load, client:idle eller client:visibleReact hydrerer Client Components merket med "use client"
Innhold som endresNy bygging eller ruter ved forespørsel; server:defer for server islandsISR med export const revalidate, revalidatePath og revalidateTag
DriftStatisk på hvilken som helst server; for ruter ved forespørsel finnes offisielle adaptere for Cloudflare, Netlify, Node og VercelNode.js-server eller Docker; med output: 'export' mister du ISR, Proxy, Server Actions og bildeoptimalisering med standard-loaderen

Astro passer for blogger, bedriftsnettsteder og dokumentasjon. Next.js gir mening når frontenden er en applikasjon med innlogging, data per forespørsel eller endringer som skjer på serveren. I Next.js 16 ble filkonvensjonen middleware omdøpt til proxy, så eldre veiledninger om middleware handler om samme funksjon.

Vil du ha frontenden driftet i Norge eller på egen server, er Astros Node-adapter det enkleste valget: statiske sider og ruter ved forespørsel kjører da hos den leverandøren du velger, ikke hos en amerikansk plattform.

#Har du allerede en frontend i Next.js?

Noen prosjekter kommer med headless WordPress og en Next.js-frontend som ikke lenger trenger å være en applikasjon. Den offisielle guiden for migrering fra Next.js til Astro beskriver veien jeg følger:

  • Nytt prosjekt med npm create astro@latest, og integrasjonen @astrojs/react for å gjenbruke eksisterende React-komponenter (filer med .jsx eller .tsx).
  • Mapper: public/ blir som den er; resten flyttes til src/, og bare src/pages/ styrer ruting.
  • Layout: _document eller app/layout erstattes av en Astro-layout med <html>, <head>, <body> og <slot />.
  • Data: getStaticProps() erstattes av await i komponentens frontmatter, med fetch(), getCollection() eller getEntry().
  • Syntaks: <Link> blir en vanlig <a href="">, {children} blir <slot />, og props leses fra Astro.props.
  • Bilder: next/image erstattes av Image fra astro:assets i .astro- og .mdx-filer; i React-komponenter brukes en vanlig <img />.

Det som bygger på ISR eller revalidatePath, har ingen direkte motpart. Det løses med ny bygging ved publisering eller med ruter som rendres ved forespørsel.

#Hvordan henter Astro innhold fra WordPress?

Astros egen WordPress-guide bruker den innebygde REST API-en under /wp-json/wp/v2/, for eksempel /wp-json/wp/v2/posts. Offentlige lesinger krever ikke autentisering som standard. Med _embed følger relaterte ressurser som fremhevet bilde, og med _fields begrenser du svaret til feltene malen bruker. WPGraphQL er valgfritt.

På et statisk nettsted trenger dynamiske ruter som /blogg/[slug] funksjonen getStaticPaths(). Med rendering ved forespørsel trengs den ikke, men da spør hvert besøk API-et, og hurtigbuffer foran frontenden blir viktig igjen.

#Informasjonskapsler og samtykke etter ekomloven

En ny frontend betyr et nytt samtykkebanner, og det er der mange migreringer glipper. Ekomloven § 3-15, i kraft fra 1. januar 2025, forbyr å lagre eller hente opplysninger i brukerens utstyr uten forhåndsinformasjon og samtykke, med unntak for ren overføring og tjenester brukeren selv har bedt om og som krever det.

Under migreringen lager jeg en liste over hvert skript på det gamle nettstedet (analyse, piksler, innebygde videoer, chat), og i den nye frontenden lastes ingen av dem før samtykke. I Astro er det ofte enklere, fordi HTML-en ikke drar med seg JavaScript fra utvidelser ingen har gått gjennom.

#Hvordan ser prosessen ut?

  1. Revisjon. Oversikt over URL-er, maler, skjemaer, integrasjoner og tredjepartsskript, med utgangsmåling.
  2. WordPress som backend. Jeg slår av det som bare tjente den gamle frontenden, setter opp forhåndsvisning og begrenser tilgangen til API-et der det trengs.
  3. Ny frontend. Jeg implementerer designet du leverer, som Figma-fil eller som en mal der du markerer hvilket element som står hvor. Grafisk design og wireframes lager jeg ikke.
  4. Testing i staging. Videresendinger, metadata, strukturerte data, skjemaer, samtykke og analyse. Hver endring beskrives skriftlig.
  5. Lansering. DNS byttes når du har godkjent i staging, deretter sjekk av URL-listen og dekningen i Search Console.

#Typiske scenarier

#Innholdsnettsted eller blogg

Det tydeligste tilfellet for Astro. Innlegg endres sjelden og leses ofte, så forhåndsrendret HTML fjerner databasespørringer ved hvert besøk. Det praktiske spørsmålet er publiseringen: automatisk bygging etter hver publisering i WordPress, eller utvalgte ruter som rendres ved forespørsel.

#WooCommerce-butikk

Katalogen kan være statisk, men handlekurv, kasse og kundekonto avhenger av økter og data per forespørsel. Før jeg foreslår headless WooCommerce, sjekker jeg hvilke betalings- og fraktutvidelser som er avhengige av WooCommerce-malene, for eksempel Vipps-integrasjonen eller fraktmodulen du bruker i dag. Mer om dette i WooCommerce headless-migrering.

#Applikasjon med innloggede brukere

Dashbord, lukkede områder og skjemaer med serverlogikk passer bedre i Next.js, med Server Components for data og Client Components bare der det er interaksjon.

#SEO under migreringen

URL-er beholdes eller får en 301. Titler, beskrivelser, kanoniske URL-er, hreflang, Open Graph, strukturerte data, robots.txt og nettstedskartet bygges opp igjen i den nye frontenden og sammenlignes med det gamle nettstedet før lansering. Etterpå følger jeg dekningen i Search Console. En godt gjennomført migrering hindrer tap; den lover ikke økning.

#Hvordan starter vi?

Skriv til meg via kontaktskjemaet med nettadressen, hva som bremser deg i dag og hvilke integrasjoner nettstedet har. Du får skriftlig svar med åpne spørsmål og, etter revisjonen, et tilbud med forutsetningene det bygger på. Jeg fakturerer som B2B med EU-mva-nummer PL7393037445.

#Hvilke tjenester henger sammen med migreringen?

Utforsk andre WordPress-tjenester og kunnskapsbase

Styrk virksomheten din med profesjonell teknisk støtte innen kjerneområdene i WordPress-økosystemet.

Anbefalinger fra LinkedIn

Anbefalinger og erfaringer fra samarbeid med WPPoland

Utvalgte anbefalinger fra ledere innen WordPress, WordCamp og e-handel - med vekt på leveranse i tide, teknisk dybde og forretningsorientert tilnærming til WordPress-utvikling.

Karolina Czapla

Karolina Czapla

Markedsstrateg, Performance & Digital Strategy

“Samarbeidet med Mariusz på WordCamp har vist meg hvor sjelden det er å kombinere dyp teknisk kompetanse med ekte lederskap. Han planlegger, koordinerer og leverer med presisjon, samtidig som han gir teamet rom til å voks...”

Medarrangør, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Porteføljen til Mariusz taler for seg. Den viser presisjon, allsidighet og et sterkt ansvarsfølelse. Du kan stole på at han følger et prosjekt fra idé til levering og holder alle interessenter godt informert.”

Vi jobbet på samme team

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT‑prosjektleder & Product Owner, Web/App

“I over to år kunne jeg alltid stole på Mariusz for WordPress‑oppgaver, fra styling og templating til integrasjoner. Han skaper ro i teamet og sørger for at frontend‑delen er under kontroll.”

Mariusz var hennes kunde på WordPress‑prosjekter

Argert Boja

Argert Boja

Senior Full‑Stack‑utvikler

“Mariusz er lagkameraten alle ønsker seg: sterke full‑stack‑WordPress‑ferdigheter, klare forklaringer og en positiv holdning selv under press. Han beveger seg lett mellom plugins, ytelse og Gutenberg‑layouts uten å miste ...”

Vi jobbet sammen på WordPress‑prosjekter

Varun Patil

Varun Patil

Growth‑ & CRM‑ansvarlig

“I tillegg til utvikling forstår Mariusz SEO, analyse og growth. Han snakker direkte med interessenter, stiller de riktige spørsmålene og leverer løsninger som faktisk påvirker forretningsmål, fra AMP til tracking og ytel...”

Var leder for Mariusz på growth‑initiativer

Rafał Osiński

Rafał Osiński

Gründer @ EasyTrips.pl, Senior WordPress‑utvikler

“Jeg har kjent Mariusz gjennom WordPress‑miljøet i mange år. Han er pålitelig, svært engasjert og rett og slett alltid til stede, på meetups, WordCamps og i prosjekter. Hvis du vil ha et langsiktig samarbeid og noen som b...”

Medarrangør av WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Konsulent for prosessoptimalisering og digitalisering

“Jeg hadde gleden av å jobbe med Mariusz i nesten tre år. I løpet av den tiden viste hans WordPress-utviklingsferdigheter seg å være uvurderlige i en rekke prosjekter, fra nettstedbygging til online medlemsområder og til ...”

Mariusz var hans kunde på WordPress‑prosjekter

Natalie Wiszczor

Natalie Wiszczor

CRM & E-postmarkedsføringsansvarlig

“Jeg hadde gleden av å jobbe med Mariusz i over 4 år innen det tekniske feltet. I løpet av denne tiden viste han seg å være en kompetent og pålitelig kollega. Det som spesielt utmerket seg var hans vennlige natur og hans ...”

Jobbet med Mariusz i forskjellige team

Mark Chalklen

Mark Chalklen

Head of Design & Build hos Itineris Limited

“Mariusz er et flott teammedlem, alltid glad for å ta fatt på enhver oppgave og lære nye ting. En flott kommunikator og en gjennomgående hyggelig fyr å jobbe med. Vanskelig å slå på vår ukentlige Strava-ledertavle!”

Ledet Mariusz direkte

Jessica Di Pasquale

Jessica Di Pasquale

Leder SEO-initiativer med datadrevne vekststrategier.

“Mariusz er en veldig dyktig, tålmodig og ekspert fyr. Alltid klar til å hjelpe og fikse feil, jeg satte stor pris på å jobbe med ham. Han er en så flott kollega!”

Ledet Mariusz direkte

Biki John

Biki John

Innholdsmarkedsføringsentusiast og SEO-entusiast

“Det var flott å jobbe med Mariusz. Jeg satte stor pris på hans omfattende kunnskap om WordPress og hvordan det kom godt med når jeg trengte støtte til å navigere i CMS. Jeg roser Mariusz fullt ut for hans tålmodighet, go...”

Jobbet med Mariusz i forskjellige team

Rafal Borowiec

Rafal Borowiec

Programvareutvikler, konsulent, leder og foreleser

“Jeg hadde muligheten til å jobbe med Mariusz i 7 måneder. Han utmerker seg innen teknisk optimalisering for søkemotorer (SEO). Mariusz har også sterk ekspertise innen AMP-utvikling, GTM og GA. Mariusz føler seg veldig ko...”

Ledet Mariusz direkte

Belinda Koch

Belinda Koch

Web-sporingsanalytiker hos TUI

“Mariusz er en flott person å jobbe med. Han er ekstremt motivert til å lære nye ting og dele sin kunnskap, og er svært kunnskapsrik innenfor et bredt spekter av emner. Vi jobbet sammen med digitale analyse- og sporingsem...”

Jobbet med Mariusz om digital analyse og sporing

Ali Nezamolmaleki

Ali Nezamolmaleki

Vekst, SEO, Analytisk tenkning, AMP

“Mariusz er en ekstremt talentfull person innen sitt fagfelt. Han er alltid i stand til å gi et nytt perspektiv for å løse problemer og tenke utenfor boksen i situasjoner der alt ser ut til å være låst. Det er alltid en g...”

Jobbet med Mariusz i samme team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript-utvikler

“Mariusz er en utrolig erfaren WordPress-utvikler og SEO/SEM-spesialist som jeg har hatt gleden av å jobbe med i nesten to år. Han var en av nøkkelpersonene med ansvar for konstant forbedring av lastetid og siderangering....”

Jobbet med Mariusz i samme team

Paweł Lewczuk

Paweł Lewczuk

Front-end-utvikler, WordPress-utvikler

“Jeg samarbeidet med Mariusz på flere prosjekter, og samarbeidet vårt var alltid eksemplarisk. Jeg tror det ligger mange flere felles prosjekter foran oss. Anbefales på det sterkeste!”

Mariusz var Pawels kunde

Przemek Wroblewski

Przemek Wroblewski

Programvareutvikler med over 20 års erfaring

“Jeg fant Mariusz som en person med stor ekspertise og dyp kunnskap om frontend-løsninger. En kraftig, kunnskapsrik og ansvarlig WordPress-utvikler. Han har lett for å bygge mellommenneskelige relasjoner. Han hadde visjon...”

Jobbet med Mariusz i forskjellige team

Ofte stilte spørsmål

Spørsmål om omfang, levering, pris og kvalitet.

Vil jeg miste Google-rangeringene mine under migrering til Astro eller Next.js?#
Rangeringer kan ingen garantere. Det jeg styrer: hver indeksert URL beholder adressen sin eller får en 301-videresending, og titler, beskrivelser, kanoniske URL-er, hreflang og strukturerte data flyttes til den nye frontenden. Før lansering sammenligner jeg en crawl av gammelt og nytt nettsted, og etterpå følger jeg dekningen i Google Search Console.
Hvor lang tid tar en WordPress-til-Astro-migrering?#
Det avhenger av antall maler, språk, skjemaer og integrasjoner. Tidsplanen står i tilbudet etter utgangsmålingen, sammen med forutsetningene den bygger på.
Kan jeg fortsatt bruke WordPress til innholdsredigering etter migrering til Astro?#
Ja. Redaktørene dine fortsetter i WordPress med samme kontoer og roller. Astro-frontenden henter innhold via WordPress REST API, som som standard tillater offentlige lesinger uten autentisering, eller via WPGraphQL hvis du installerer det. På et statisk nettsted krever hver publisering en ny bygging eller en rute som rendres ved forespørsel; det avgjør vi i prosjektet.
Hva er de viktigste fordelene ved å migrere fra WordPress til Astro?#
Astro forhåndsrendrer som standard, og Astro-komponenter sendes til nettleseren som HTML uten klient-JavaScript, med unntak av dem du merker med et client:*-direktiv. Et WordPress med god hurtigbuffer leverer også ferdige sider, så jeg måler først hvor problemet sitter. Et rammeverk garanterer verken poengsum eller rangering. WordPress, utvidelsene og API-et trenger fortsatt oppdateringer, tilgangskontroll og sikkerhetskopier.
Hva skjer med WordPress-utvidelsene mine etter migrering?#
Hver utvidelse vurderes før migrering. Det som tegner noe i frontenden (slidere, sidebyggere, skjemaer) må erstattes i den nye koden. Objektbuffer, sikkerhet og databasevedlikehold betyr fortsatt noe i backend. Omfanget beskriver hva som beholdes, endres eller fjernes.
Er Next.js eller Astro bedre for mitt prosjekt?#
Astro passer for blogger, bedriftsnettsteder og dokumentasjon, der nesten alt er innhold. Next.js passer når frontenden er en applikasjon: innlogging, data per forespørsel, Server Actions eller ISR. Astros offisielle migreringsguide påpeker at svært interaktive apper, som dashbord, kan kreve mer avanserte teknikker i Astro.
Hvor mye koster en WordPress-til-Astro-migrering?#
Prisen settes individuelt ut fra antall maler, innholdsmengde, integrasjoner og språk. Du får et skriftlig tilbud med omfang og forutsetninger. Priser står på prissiden, ikke her.
Tilbyr du støtte etter at migreringen er ferdig?#
Ja, som månedlig vedlikehold: oppetidsovervåking hvert 1. til 5. minutt, sikkerhetskopier med minst 30 dagers oppbevaring i EU-land og oppdateringer som testes i staging først. Døgnvakt og garanterte responstider tilbyr jeg ikke.

Trenger du FAQ tilpasset bransje og marked? Jeg lager en versjon som støtter dine forretningsmål.

Ta kontakt

Relaterte artikler