Stange Privat Gym.
Migrasjon fra WordPress til Astro + Sanity for et privat treningsstudio i Karmøy. To språk, lav ytelseskostnad, og en konsultasjonsflyt som ruter forespørsler direkte til treneren.
- Rolle
- Design + bygg
- Varighet
- Levert 2025 · vedlikehold pågår
- Stack
- Astro · TypeScript · Sanity
- Lenke
- stangeprivatgym.no ↗

Den gamle WordPress-siden var treg, vanskelig å redigere, og fungerte dårlig på mobil. Treneren brukte mer tid på å holde siden i live enn på å hente inn nye kunder.
Stange Privat Gym trengte et nettsted som var raskt, redaksjonelt ryddig, og som faktisk genererte konsultasjonsforespørsler — uten å kreve daglig oppfølging fra eieren.
Astro 5 statisk-først: alle sider pre-renderes i bygget, kun konsultasjonsskjema og karuseller hydreres som React-øyer. Det gir en JS-base nær null for innhold som ikke trenger interaksjon.
Sanity som CMS for trenere, testimonials og galleri — med hardkodet fallback i koden. Eieren kan oppdatere innhold uten å vente på utvikling, og siden står oppreist hvis Sanity er nede.
- 100
- Lighthouse Performance · Hjem
- 85 %
- Reduksjon på bildevekt
- 2
- Språk · NB + EN
Astro fremfor Next.js for marketing-siden. Reell grunn: ingen autentisering, ingen sanntids-data, ingen behov for SSR. Astros statiske utgang ga mindre JS, raskere CDN-cache, og enklere drift for én person.— Teknisk valg
GSAP + ScrollTrigger ble fjernet etter første runde. Erstattet med rene CSS-keyframes og IntersectionObserver. Resultatet: 40 KB mindre JS på DUO-Start-siden, og Lighthouse Performance fra under 80 til 95.— Ytelsesvalg
Bilder lagres lokalt og konverteres til WebP i bygget — ikke gjennom en CDN-tjeneste. Færre HTTP-runder, ingen vendor lock-in, og 45 MB kildebilder ble til 7 MB levert.— Innholdsvalg
Lighthouse Performance 100 på hjem, 97 på trenere, 95 på DUO-Start-promosiden. Konsultasjonsskjemaet ruter forespørsler direkte til treneren via Brevo. Innholdet redigeres i Sanity uten utvikler-involvering. Neste steg er å fullføre tilbuds-siden og hente inn flere bilder fra fotograf.