OpenCart i praksis: Hvad jeg lærte af at drive en stærkt tilpasset webshop

OpenCart-dashboard på en bærbar computer med illustrationer af webshopdrift, SEO, flersprog og teknisk gæld

OpenCart bliver ofte præsenteret som en gratis og forholdsvis enkel vej til at etablere en webshop. Det er ikke forkert, men efter flere års drift af en stærkt tilpasset butik er mit svar blevet mere nuanceret.

OpenCart kan give en usædvanlig stor frihed. Den samme frihed betyder dog også, at ejeren selv bliver ansvarlig for langt mere end produkter og ordrer: hosting, opdateringer, moduler, integrationer, performance, sikkerhed og teknisk SEO.

En rigtig webshop frem for en testinstallation

E-cart.dk har tidligere bragt en generel anmeldelse af OpenCart. Den gennemgår platformens grundlæggende funktioner, fordele og ulemper. Denne artikel har en anden vinkel: Hvad sker der, når en OpenCart-butik lever i mange år og gradvist bliver udvidet?

Min konkrete case er Strygestof.dk, som sælger blandt andet strygefolie, strygemærker, selvklæbende folie og materialer til kreative skæreprojekter.

Webshoppen begyndte som en forholdsvis almindelig OpenCart-installation, men har med tiden fået specialudviklede funktioner, flere SEO-værktøjer, automatiske audits, oversættelser, avanceret URL-styring, AI-assisterede arbejdsgange og en stadig mere intelligent søgefunktion.

Det er netop i sådan en butik, at forskellen mellem platformens teoretiske funktioner og den praktiske hverdag bliver tydelig.

Friheden er OpenCarts største styrke

OpenCart er open source. Koden kan tilpasses, og funktionaliteten kan udvides med moduler, betalingsmetoder, fragtmetoder, temaer og egne integrationer.

Det betyder, at man ikke nødvendigvis skal tilpasse sin forretning til en fastlåst platform. I stedet kan platformen tilpasses virksomhedens arbejdsgange.

Du ejer løsningen

Du kan selv vælge hosting, database, kode, integrationer og leverandører. Du er ikke bundet til én platforms prioriteringer.

Specialfunktioner er mulige

Funktioner kan bygges specifikt til virksomheden, også når de ikke findes som et standardprodukt i en app-butik.

Data kan bearbejdes frit

Produktdata, søgelogger, URL’er og oversættelser kan bruges i egne værktøjer og automatiske arbejdsgange.

Ingen fast funktionspakke

Man behøver ikke vente på, at en hosted platform prioriterer den funktion, virksomheden mangler.

Den frihed er en væsentlig årsag til, at OpenCart stadig kan være et stærkt valg for specialiserede webshops. Men friheden kommer med en betingelse: Nogen skal forstå og vedligeholde løsningen.

OpenCart giver ikke nødvendigvis den letteste webshop. Det giver muligheden for at bygge den webshop, virksomheden faktisk har brug for.

Gratis software er ikke en gratis webshop

Selve OpenCart kan downloades uden en løbende licens til platformens kerne. Det betyder ikke, at den samlede løsning er gratis.

Der kan stadig komme udgifter til blandt andet:

  • webhosting og serverressourcer
  • domæne og e-mail
  • tema og designændringer
  • betalings- og fragtintegrationer
  • kommercielle moduler
  • udvikling og fejlretning
  • sikkerheds- og versionsopdateringer
  • backup, overvågning og performanceoptimering

Forskellen fra en hosted platform er derfor ikke nødvendigvis, om man betaler. Forskellen er i høj grad, hvad man betaler for, og hvor meget ansvar man selv ønsker at have.

På en hosted løsning som Shopify betaler man blandt andet for, at platformen, driftsmiljøet og en stor del af vedligeholdelsen håndteres samlet. E-cart.dk har en separat gennemgang af Shopify, som beskriver denne mere administrerede tilgang.

Når moduler bliver til teknisk gæld

En ny funktion begynder ofte uskyldigt: Man installerer et modul til SEO, en særlig betalingsmetode, et blogsystem eller en forbedret søgning.

Over tid kan mange mindre ændringer blive afhængige af hinanden. Et tema forventer én struktur, et SEO-modul ændrer URL’er, en cacheløsning optimerer outputtet, og et andet modul bygger videre på de samme data.

Når platformen senere skal opdateres, bliver spørgsmålet ikke kun, om OpenCart virker. Det bliver også, om alle de omkringliggende funktioner fortsat virker sammen.

Teknisk gæld er ikke nødvendigvis dårlig kode. Det er den ekstra kompleksitet, som opstår, når tidligere løsninger fortsat skal understøttes, mens nye funktioner bygges ovenpå.

I praksis betyder det, at nye funktioner bør dokumenteres. Det bør være muligt at se:

  • hvilket problem funktionen løser
  • hvilke filer og tabeller den påvirker
  • om den ændrer URL’er, cache eller output
  • hvordan den kan deaktiveres igen
  • hvilke andre moduler den er afhængig af

Det kan virke omstændeligt, mens funktionen bliver bygget. Dokumentationen bliver langt mere værdifuld, når noget skal fejlrettes to år senere.

SEO kræver mere end et enkelt modul

En webshop kan have korrekte metatitler og stadig sende uklare signaler til søgemaskinerne.

I en større OpenCart-installation hænger teknisk SEO blandt andet sammen med:

  • produkt- og kategori-URL’er
  • canonical-tags
  • gamle og nye redirects
  • XML-sitemaps
  • interne links og breadcrumbs
  • filtre, sortering og søgeparametre
  • sprogversioner
  • statuskoder og fejlsider

Et produkt kan eksempelvis være tilgængeligt gennem både en kort URL og en URL med hele kategoristien. Hvis sitemap, canonical og interne links peger på forskellige versioner, bliver signalerne mindre entydige.

Derfor blev et centralt mål på Strygestof.dk, at alle dele af webshoppen skulle støtte den samme foretrukne URL. Gamle adresser skulle omdirigeres til den nærmeste relevante nye side, og sitemapet skulle kun indeholde de URL’er, der faktisk ønskes indekseret.

Google beskriver redirects og canonical-tags som stærke signaler ved valg af en foretrukken URL, mens sitemapinklusion er et svagere signal. Det bedste resultat opstår derfor, når de forskellige signaler er konsekvente.

Flersprog er et selvstændigt projekt

OpenCart har længe understøttet flere sprog, men et sprogmodul alene skaber ikke en færdig international webshop.

Tekst kan ligge mange forskellige steder:

  • produkter og kategorier
  • produktmuligheder og værdier
  • temaets sprogfiler
  • installerede modulers sprogfiler
  • checkout, e-mails og lagerstatusser
  • blogindlæg og informationssider
  • bannere og billeder med indbygget tekst

Desuden skal hver sprogversion have en stabil URL-struktur. Google anbefaler separate URL’er til forskellige sprogversioner frem for kun at ændre indholdet ud fra cookies eller browserens sprogindstillinger.

På Strygestof.dk blev den engelske version derfor opbygget under en særskilt /en-struktur. Det gør sproget synligt i URL’en og giver hver oversat produktside og kategori sin egen adresse.

Samtidig skal canonical, sprogmarkeringer, interne links og sitemap understøtte strukturen. En reel engelsk oversættelse bør som udgangspunkt ikke canonicalisere tilbage til den danske side, da de to sider betjener forskellige sproglige målgrupper.

Performance skal måles i den rigtige butik

Det er forholdsvis nemt at få en tom OpenCart-installation til at virke hurtig. Det er mere udfordrende, når butikken indeholder mange billeder, specialmoduler, scripts, produktvalg, sporing og dynamisk indhold.

Performancearbejdet bør derfor ikke kun handle om at opnå en bestemt score i et testværktøj. Det skal også kontrolleres, at:

  • produktvalg fortsat fungerer
  • kurv og checkout ikke caches forkert
  • priser og lagerstatus er aktuelle
  • sporing og samtykke fungerer korrekt
  • billeder stadig viser de nødvendige produktdetaljer
  • mobilvisningen er stabil

En aggressiv cacheindstilling kan forbedre et syntetisk resultat og samtidig skabe problemer for rigtige kunder. Performance er først en forbedring, når webshoppen både bliver hurtigere og fortsat fungerer.

AI er nyttigt, når det kan styres

AI kan reducere meget af det gentagne arbejde i en webshop. Det gælder eksempelvis:

  • oversættelse af produkttekster
  • forslag til metatitler og beskrivelser
  • udkast til ALT-tekster
  • identifikation af manglende indhold
  • synonymer og stavevarianter til søgning
  • sortering og kategorisering af data

Men en specialiseret butik bruger ord, som ikke altid kan oversættes direkte. Strygefolie, strygestof, HTV, tekstilfolie, transferfolie og selvklæbende folie kan have overlappende betydninger, men de er ikke nødvendigvis det samme produkt.

Derfor bør AI-funktioner have:

  • forhåndsvisning før publicering
  • mulighed for manuel rettelse
  • regler for længde og terminologi
  • log over ændringer
  • mulighed for at vælge model eller udbyder
  • en sikker fallback, hvis AI-tjenesten ikke svarer

AI er bedst som en kontrolleret medarbejder i arbejdsgangen – ikke som en usynlig administrator med ret til at ændre hele webshoppen.

Hvornår giver OpenCart stadig mening?

OpenCart er ikke nødvendigvis det rigtige valg for alle. Valget afhænger især af, hvor meget fleksibilitet virksomheden har brug for, og hvor meget teknisk ansvar den er villig til at påtage sig.

OpenCart kan være et godt valg, nårEn hosted platform kan være bedre, når
Webshoppen kræver særlige funktioner og integrationer.Man ønsker at komme hurtigt i gang med standardfunktioner.
Man vil have adgang til kode og database.Man ikke ønsker ansvar for server og systemopdateringer.
Man har teknisk erfaring eller adgang til udvikling.Der ikke er tekniske ressourcer i virksomheden.
Man ønsker frihed til at vælge hosting og leverandører.Forudsigelig drift er vigtigere end maksimal fleksibilitet.
Forretningen ikke passer ind i en standardiseret løsning.Forretningen kan drives med platformens eksisterende model.

Den største fejl er at vælge platform alene ud fra den første pris eller en liste over funktioner. Man bør i stedet vurdere den samlede løsning over flere år:

  • Hvem vedligeholder den?
  • Hvor ofte skal den ændres?
  • Hvor speciel er forretningen?
  • Hvilke integrationer bliver nødvendige?
  • Hvor vigtigt er ejerskab over data og kode?

Min konklusion efter flere års OpenCart-drift

OpenCart kan udvikle sig langt ud over en simpel begyndershop. Strygestof.dk er et eksempel på, at platformen kan udvides med avanceret SEO, flere sprog, automatisering og specialbyggede arbejdsgange.

Men udviklingen sker ikke af sig selv. Jo mere platformen tilpasses, desto vigtigere bliver dokumentation, test, backup og forståelse af sammenhængene mellem modulerne.

Jeg ville derfor ikke beskrive OpenCart som hverken den bedste eller den dårligste webshopplatform. Det er et værktøj, som giver meget stor frihed – og som kræver, at man aktivt tager ansvar for den frihed.

You May Also Like

About the Author: admin