Hopp til innhold
halvorsen.tech
← Referanser

Prosjekt 01 · Nettbutikk

Mittgarn

Mittgarn er en nettbutikk for garn, strikkepakker og oppskrifter. Høsten 2026 flyttet jeg butikken fra WooCommerce til Shopify og laget et nytt design. Den har nesten 3 900 produkter, og de fleste er strikkepakker der kunden velger farger og størrelse selv.

Rolle
Design, utvikling og flytting
Plattform
Shopify
Lansert
Forsiden til Mittgarn, med tre bilder av strikkede gensere over et blått bånd med garnfarger

Flyttingen i tall

varianter fordelt på 3 860 produkter
19 043
produktbilder
12 725
PDF-mønstre koblet til riktig variant
16 455
gamle adresser som sender videre
3 942

01

Utgangspunktet

Mittgarn har solgt garn på nett siden 2020. Butikken gikk på WordPress og WooCommerce, og hadde samlet nesten 4 000 produkter, tusenvis av PDF-mønstre og seks år med ordrer.

Jobben hadde to deler. Først skulle alt over til Shopify, uten at kundene merket noe annet enn at butikken virket som før. Så skulle butikken få et nytt design med strikkepakkene i sentrum.

02

Flyttingen

Jeg hentet ut dataene fra WooCommerce uten å endre noe i den gamle butikken, og la dem inn i Shopify med egne skript mot Shopifys API. Produkter, varianter, bilder, kategorier, kundekontoer, rabattkoder og ordrehistorikken fra 2020 fulgte med.

Før lansering sammenlignet jeg pris, varenummer og lagerstatus for hvert produkt med den gamle butikken. Det var null avvik. Hver PDF fikk en kontrollsum, så jeg kunne bekrefte at filen kom frem uendret.

Gamle lenker virker fortsatt. 3 942 adresser fra WooCommerce sender videre til riktig side i Shopify, så lenker fra søkemotorer og andre nettsider ikke ender på en feilside. Kategoriene har også samme rekkefølge som før.

Én ting fant jeg i en test før importen. Appen som sender PDF-mønstre til kunden sender også nedlastingslenker for gamle ordrer når de legges inn. Det ville betydd e-post til tidligere kunder om kjøp de gjorde for flere år siden. Jeg la derfor inn mønsterkjøpene i de gamle ordrene på en måte appen ikke reagerer på, og ingen fikk en uventet e-post.

03

Strikkepakkene

En strikkepakke er garn og mønster solgt samlet. Kunden velger modell, fargevalg og størrelse, og prisen følger hvor mange nøster størrelsen trenger.

Fargene var det vanskelige. Da butikken ble flyttet, brukte 1 362 av 2 547 pakker samme garn i flere fargegrupper, så en enkel liste over garntyper holdt ikke. Hver pakke har derfor sin egen liste over fargegrupper. På produktsiden kan kunden bytte farge på hver rad, legge til ekstra nøster og bestille mønsteret trykket på papir.

I handlekurven vises pakken og tilleggene som én vare, selv om Shopify holder dem som separate linjer. Fargevalgene A, B og C bytter bilde og farger på stedet, både på produktsiden og i produktlistene.

Produktside for strikkepakken Veslemøy genser, med fargevalg A til D, størrelser og garnet i pakken

04

Garn og farger

Garnsidene viser hver farge som et nøste med navn og nummer. Garn med mange farger har et eget søkefelt, så du kan skrive inn fargenummeret du står med i hånden i stedet for å lete.

Materiale, løpelengde, pinner og strikkefasthet står på en banderole, slik de står på papirlappen rundt et ekte nøste. Tallene hentes fra produktbeskrivelsene som allerede fantes, så ingen måtte fylle dem inn på nytt.

Produktnavnene fra leverandørene kom i store bokstaver med koden til slutt, som «VIKING – KATHRINE GENSER 2035-1B». Temaet deler dem opp i merke, navn og kode, så siden viser et navn folk faktisk kan lese.

Produktside for Viking Norwegian Wool, med 17 farger vist som nøster og et søkefelt for farger

05

Designet

Fargene kommer fra logoen: en lys garnblå, en dypere havblå og en nesten svart blekkfarge til tekst. Overskriftene er satt i Young Serif og brødteksten i Schibsted Grotesk. Skriftene ligger i butikken selv og lastes ikke fra Google.

På forsiden går et blått bånd over tre bilder, som papirlappen rundt et nøste. Langs kanten ligger ekte garnfarger, og en tegnet garntråd trekkes over båndet.

Før jeg skrev Shopify-temaet, bygde jeg designet som en egen prototype med ekte produktdata. Da kunne jeg teste det mot tusenvis av strikkepakker og lange produktnavn før noe ble bygget i Shopify.

Oversiktssiden for strikkepakker, med overskrift, stablede bilder og tre steg for hvordan en pakke fungerer
Forsiden til Mittgarn på mobil

06

Teknikken

Tema
Eget Shopify-tema for Online Store 2.0. Det startet fra Shopifys tomme Skeleton-tema og er skrevet fra bunnen, med 26 seksjoner og 32 snippets i Liquid.
CSS og JavaScript
Tailwind CSS v4, bygget til én stilfil. Én liten modul i vanlig JavaScript, uten rammeverk. Handlekurvlogikken har egne tester.
Fart
Nettleseren henter neste side når du holder over en lenke, og begynner å vise den når du trykker. Det gjør Speculation Rules. Skriftene ligger i butikken og forhåndslastes, og bildene kommer i riktig størrelse for skjermen.
Filtre og søk
Shopifys egne filtre, vist som knapper. Vis flere laster neste side på forhånd og husker hvor du var når du går tilbake. Søket foreslår treff mens du skriver.
Tilgjengelighet
Hopp til innhold-lenke, synlig fokus, tastaturstyring i meny og dialoger, og mindre bevegelse for dem som har slått det av i systemet.
Søkemotorer
Strukturerte data for produkter, kanoniske adresser og 3 942 videresendinger fra de gamle WooCommerce-adressene.
Betaling
Vipps, Klarna og kort gjennom Shopifys egen kasse. Gratis frakt over 850 kroner, med en fremdriftslinje i handlekurven.
Kontroll
Theme Check uten feil, og Playwright-skript som går gjennom kjøpsflyten i en ekte nettleser.

07

Et eget salgsverktøy

Mittgarn kjører salg der deler av sortimentet får ulike rabatter, for eksempel 20, 30 og 40 prosent. Jeg laget en egen app i Shopify-administrasjonen som setter opp et slikt salg, fordeler rabattene og setter prisene tilbake når salget er over.

Appen trenger ingen egen server. Den kjører som en utvidelse i Shopify-administrasjonen, bygget med Preact og Shopifys Polaris-komponenter. Slike utvidelser kan ikke kjøre store jobber i bakgrunnen, så appen tar fire produkter om gangen og fortsetter der den slapp hvis noen lukker siden.

Skal nettbutikken din flytte?

Send meg en e-post om hvor butikken står i dag og hva du vil at den skal gjøre. Jeg svarer med hva en flytting vil kreve, og hva den vil koste.

Send en e-post