Medlem af Atraco Community?

Mail

Shopify Guide: Sådan implementerer du Schema Markup for bedre synlighed i søgeresultaterne

Shopify

Mar 13, 2025

Schema markup er en af de mest oversete, men potentielt mest værdifulde SEO-teknikker for Shopify-butiksejere. Ved at implementere strukturerede data korrekt kan du forbedre hvordan Google og andre søgemaskiner forstår dit indhold, hvilket kan resultere i mere informative og iøjnefaldende søgeresultater - såkaldte "rich snippets" eller "rige søgeresultater". Dette kan føre til højere klikrater, bedre kvalificeret trafik og i sidste ende øgede konverteringer for din Shopify-butik.

I denne omfattende guide vil vi dykke ned i, hvad schema markup er, hvorfor det er vigtigt for din Shopify-butik, og præcis hvordan du kan implementere det for at få en konkurrencefordel i søgeresultaterne.

Indhold

  1. Hvad er Schema Markup?

  2. Fordelene ved Schema Markup for Shopify-butikker

  3. De vigtigste Schema Markup-typer for e-commerce

  4. Sådan implementerer du Schema Markup i Shopify

  5. Schema Markup for produktsider

  6. Schema Markup for samlingssider

  7. Schema Markup for blogindlæg

  8. FAQ Schema for forbedret synlighed

  9. Test og validering af Schema Markup

  10. Almindelige fejl og hvordan du undgår dem

  11. Avancerede Schema Markup-strategier

  12. Måling af Schema Markup-effektivitet

  13. Tjekliste for Schema Markup-implementering

Hvad er Schema Markup?

Schema markup, også kendt som strukturerede data, er en standardiseret kode der hjælper søgemaskiner med at forstå din hjemmesides indhold mere præcist. Det fungerer som et "semantisk vokabularium" - et fælles sprog mellem hjemmesider og søgemaskiner.

Den tekniske definition

Schema markup bruger et specifikt vokabularium fra Schema.org, et samarbejde mellem Google, Bing, Yahoo og Yandex. Dette vokabularium giver en struktureret måde at beskrive entiteter (produkter, personer, organisationer, artikler, etc.) og deres relationer.

Koden kan implementeres i tre forskellige formater:

  • JSON-LD (anbefalet af Google og nemmest at implementere)

  • Microdata

  • RDFa

For Shopify-butikker er JSON-LD den mest anbefalede og brugervenlige metode, da den ikke kræver, at du ændrer din eksisterende HTML-kode. I stedet tilføjer du et JavaScript-script, der indeholder alle dine strukturerede data.

Et simpelt eksempel

Her er et basalt eksempel på, hvordan JSON-LD schema markup for et produkt kan se ud:

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "Event",

  "name": "Lancering af {{ product.title | escape }}",

  "startDate": "{{ product.metafields.custom.launch_date }}",

  "endDate": "{{ product.metafields.custom.launch_date | date: '%s' | plus: 86400 | date: '%Y-%m-%d' }}",

  "description": "Vær blandt de første til at få {{ product.title | escape }}",

  "location": {

    "@type": "VirtualLocation",

    "url": "{{ shop.url }}{{ product.url }}"

  },

  "offers": {

    "@type": "Offer",

    "price": "{{ product.price | money_without_currency }}",

    "priceCurrency": "{{ shop.currency }}",

    "availability": "https://schema.org/PreOrder",

    "validFrom": "{{ product.metafields.custom.launch_date }}"

  }

}

</script>

{% endif %}

VideoObject Schema for produktdemoer

Hvis du har produktvideoer på dine sider, kan du implementere VideoObject schema:

{% if product.metafields.custom.video_url %}

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "VideoObject",

  "name": "{{ product.title | escape }} - Produktdemonstration",

  "description": "Se hvordan {{ product.title | escape }} fungerer",

  "thumbnailUrl": "{{ product.featured_image | img_url: 'grande' }}",

  "uploadDate": "{{ 'now' | date: '%Y-%m-%d' }}",

  "contentUrl": "{{ product.metafields.custom.video_url }}",

  "embedUrl": "{{ product.metafields.custom.video_url }}"

}

</script>

{% endif %}

Måling af Schema Markup-effektivitet

For at vurdere effektiviteten af dit schema markup arbejde, bør du overvåge disse nøgletal:

Sporing af rige resultater i Google Search Console

  1. Gå til Google Search Console

  2. Navigér til "Forbedringer" > "Rich Results"

  3. Overvåg antallet af valide sider og eventuelle fejl

  4. Se på "Performance"-rapporten filtreret efter "Search Appearance" for at vurdere præstationen af dine rige resultater

KPI'er til vurdering af schema markup-effektivitet

  • Synlighed i rige resultater: Hvor mange af dine sider der vises med rige features

  • CTR (Click-Through Rate): Sammenlign CTR før og efter implementering af schema

  • Position i søgeresultater: Overvåg eventuelle ændringer i rangering

  • Organisk trafik: Mål væksten i organisk trafik til sider med optimeret schema

  • Konverteringsrate: Vurdér, om konverteringsraten stiger som følge af mere kvalificeret trafik

Opstilling af A/B test

For virkeligt at måle effekten kan du overveje at teste schema markup på et udvalg af sider:

  1. Identificér lignende produktsider eller kategorier

  2. Implementér schema markup på halvdelen af dem

  3. Sammenlign præstationen over 4-8 uger

  4. Dokumentér forskelle i CTR, organisk trafik og konverteringer

Tjekliste for Schema Markup-implementering

Brug denne tjekliste for at sikre, at din schema markup implementering er komplet og effektiv:

Grundlæggende schema implementering

  • [ ] Organization schema er korrekt implementeret

  • [ ] WebSite schema er på plads

  • [ ] BreadcrumbList schema er implementeret på alle relevante sider

Produktsider

  • [ ] Product schema er implementeret på alle produktsider

  • [ ] Priser, valuta og tilgængelighed er korrekt specificeret

  • [ ] Produktvarianter er korrekt repræsenteret

  • [ ] Anmeldelser og ratings er inkluderet, hvis tilgængelige

  • [ ] Alle billeder er inkluderet med korrekte URLs

  • [ ] Produktegenskaber er specificeret via additionalProperty

Samlingssider

  • [ ] ItemList schema er implementeret på alle samlingssider

  • [ ] De vigtigste produkter i samlingen er repræsenteret

  • [ ] Breadcrumbs viser korrekt navigationsvej

Blogindlæg

  • [ ] BlogPosting schema er implementeret på alle blogindlæg

  • [ ] Forfattere, datoer og fremhævede billeder er korrekte

  • [ ] Publisher information er inkluderet

FAQ implementering

  • [ ] FAQ schema er tilføjet til produktsider med ofte stillede spørgsmål

  • [ ] Spørgsmål og svar er formateret korrekt

  • [ ] FAQ-indhold er konsistent med det synlige indhold på siden

Validering og test

  • [ ] Alle schema implementations er valideret med Google's Rich Results Test

  • [ ] Schema markup er testet på både desktop og mobil

  • [ ] Ingen fejl eller advarsler i Google Search Console

  • [ ] Sporing er sat op for at måle effektiviteten

Schema Markup for produktsider

Lad os dykke dybere ned i product schema, som er den mest kritiske type for Shopify-butikker.

Grundlæggende Product Schema

Det basale product schema skal inkludere:

  • Produktnavn

  • Beskrivelse

  • Billeder

  • Pris og valuta

  • URL

  • Tilgængelighed

Udvidet Product Schema

For mere detaljerede og effektive rige søgeresultater, bør du også inkludere:

Produktvarianter

For produkter med varianter (f.eks. forskellige farver eller størrelser), kan du bruge hasVariant egenskaben:

"hasVariant": [

  {% for variant in product.variants %}

  {

    "@type": "ProductModel",

    "name": "{{ variant.title }}",

    "sku": "{{ variant.sku }}",

    "price": "{{ variant.price | money_without_currency }}",

    "priceCurrency": "{{ shop.currency }}",

    "availability": "{% if variant.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"

  }{% unless forloop.last %},{% endunless %}

  {% endfor %}

]

Anmeldelser og Ratings

Anmeldelser er ekstremt værdifulde for rige søgeresultater. Hvis du bruger Shopify's Product Reviews app eller en tredjeparts anmeldelsesapp, kan du implementere følgende:

"review": [

  {% for review in product.metafields.reviews.data %}

  {

    "@type": "Review",

    "author": {

      "@type": "Person",

      "name": "{{ review.author | escape }}"

    },

    "datePublished": "{{ review.created_at | date: '%Y-%m-%d' }}",

    "reviewBody": "{{ review.body | strip_html | escape }}",

    "reviewRating": {

      "@type": "Rating",

      "ratingValue": "{{ review.rating }}",

      "bestRating": "5"

    }

  }{% unless forloop.last %},{% endunless %}

  {% endfor %}

],

"aggregateRating": {

  "@type": "AggregateRating",

  "ratingValue": "{{ product.metafields.reviews.rating_value }}",

  "reviewCount": "{{ product.metafields.reviews.rating_count }}"

}

Tilbudsinformation

For at fremhæve tilbud og rabatter:

"offers": {

  "@type": "Offer",

  "url": "{{ shop.url }}{{ product.url }}",

  "priceCurrency": "{{ shop.currency }}",

  "price": "{{ current_variant.price | money_without_currency }}",

  "priceValidUntil": "{{ 'now' | date: '%Y-%m-%d' | date: '%s' | plus: 2592000 | date: '%Y-%m-%d' }}",

  {% if current_variant.compare_at_price > current_variant.price %}

  "priceSpecification": {

    "@type": "PriceSpecification",

    "price": "{{ current_variant.compare_at_price | money_without_currency }}",

    "priceCurrency": "{{ shop.currency }}"

  },

  {% endif %}

  "availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",

  "seller": {

    "@type": "Organization",

    "name": "{{ shop.name }}"

  }

}

Dette inkluderer sammenligning af den aktuelle pris med "compare at" prisen for at vise rabatter, samt en gyldighedsperiode for prisen (her sat til 30 dage fra nu).

Schema Markup for samlingssider

Samlingssider (kategorisider) i Shopify kan også drage fordel af schema markup, selvom mulighederne er lidt mere begrænsede end for produktsider.

ItemList Schema for samlingssider

ItemList schema er ideelt for samlingssider, da det giver søgemaskiner en forståelse af, at siden indeholder en liste af relaterede produkter:

{% if template contains 'collection' %}

<script type="application/ld+json">

{

  "@context": "https://schema.org/",

  "@type": "ItemList",

  "name": "{{ collection.title | escape }}",

  "description": "{{ collection.description | strip_html | escape }}",

  "itemListElement": [

    {% for product in collection.products limit: 10 %}

    {

      "@type": "ListItem",

      "position": {{ forloop.index }},

      "item": {

        "@type": "Product",

        "name": "{{ product.title | escape }}",

        "url": "{{ shop.url }}{{ product.url }}",

        "image": "{{ product.featured_image | img_url: 'grande' }}",

        "offers": {

          "@type": "Offer",

          "price": "{{ product.price | money_without_currency }}",

          "priceCurrency": "{{ shop.currency }}",

          "availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"

        }

      }

    }{% unless forloop.last %},{% endunless %}

    {% endfor %}

  ]

}

</script>

{% endif %}

Dette giver en struktureret liste over produkter i samlingen, hvilket kan hjælpe søgemaskiner med at bedre forstå sammenhængen mellem din samling og de indeholdte produkter.

BreadcrumbList Schema

For samlingssider er breadcrumbs særligt værdifulde for at vise navigationshierarkiet:

<script type="application/ld+json">

{

  "@context": "https://schema.org/",

  "@type": "BreadcrumbList",

  "itemListElement": [

    {

      "@type": "ListItem",

      "position": 1,

      "name": "Hjem",

      "item": "{{ shop.url }}"

    },

    {% if collection.url %}

    {

      "@type": "ListItem",

      "position": 2,

      "name": "{{ collection.title | escape }}",

      "item": "{{ shop.url }}{{ collection.url }}"

    }

    {% endif %}

  ]

}

</script>

Schema Markup for blogindlæg

Shopify's blogging-funktion kan optimeres betydeligt med Article schema, som hjælper med at få dit indhold fremhævet i Google's søgeresultater og potentielt få det vist i "Top Stories" karrusellen.

Article Schema implementering

Her er et eksempel på, hvordan du kan implementere Article schema i din article-template.liquid fil:

{% if template contains 'article' %}

<script type="application/ld+json">

{

  "@context": "https://schema.org/",

  "@type": "BlogPosting",

  "headline": "{{ article.title | escape }}",

  "description": "{{ article.excerpt_or_content | strip_html | truncatewords: 30 | escape }}",

  "image": "{% if article.image %}{{ article.image | img_url: 'grande' }}{% else %}{{ shop.url }}{{ 'no-image.jpg' | asset_url }}{% endif %}",

  "author": {

    "@type": "Person",

    "name": "{% if article.user.first_name %}{{ article.user.first_name }} {{ article.user.last_name }}{% else %}{{ shop.name }}{% endif %}"

  },

  "publisher": {

    "@type": "Organization",

    "name": "{{ shop.name }}",

    "logo": {

      "@type": "ImageObject",

      "url": "{{ 'logo.png' | asset_url }}"

    }

  },

  "datePublished": "{{ article.published_at | date: '%Y-%m-%d' }}",

  "dateModified": "{{ article.updated_at | date: '%Y-%m-%d' }}",

  "mainEntityOfPage": {

    "@type": "WebPage",

    "@id": "{{ shop.url }}{{ article.url }}"

  }

}

</script>

{% endif %}

Dette schema indeholder:

  • Artiklens titel og beskrivelse

  • Fremhævet billede

  • Forfatterinformation

  • Udgivers (din butiks) information

  • Publicerings- og opdateringsdatoer

BlogPosting vs. Article Schema typer

Du kan vælge mellem to forskellige schema typer for blog-indhold:

  • BlogPosting: Bedst til regulære blog-updates, nyheder, eller tutorials

  • Article: Mere generel og kan bruges til alle typer artikler

For de fleste Shopify-butikker er BlogPosting den mest passende type, da det specifikt indikerer blogindhold.

FAQ Schema for forbedret synlighed

FAQ schema er særligt effektivt for produktsider og kan dramatisk øge dit fodaftryk i søgeresultaterne. Det er også relativt nemt at implementere.

Sådan implementerer du FAQ Schema

For at tilføje FAQ schema til dine produktsider:

{% if product.metafields.custom.faq %}

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "FAQPage",

  "mainEntity": [

    {% assign faqs = product.metafields.custom.faq.value %}

    {% for faq in faqs %}

    {

      "@type": "Question",

      "name": "{{ faq.question }}",

      "acceptedAnswer": {

        "@type": "Answer",

        "text": "{{ faq.answer }}"

      }

    }{% unless forloop.last %},{% endunless %}

    {% endfor %}

  ]

}

</script>

{% endif %}

For at bruge denne kode skal du oprette metafields for dine produkter, der indeholder FAQ-information. Dette kan gøres gennem Shopify's metafields-funktionalitet eller ved hjælp af apps som "Metafields Guru" eller "Metafields Editor".

Dynamisk FAQ Schema baseret på produktbeskrivelser

En alternativ tilgang, især hvis du allerede har FAQ-sektioner i dine produktbeskrivelser, er at bruge HTML-struktur til at generere schema:

{% if product.description contains '<h4>FAQ</h4>' %}

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "FAQPage",

  "mainEntity": [

    {% assign description_parts = product.description | split: '<h4>FAQ</h4>' %}

    {% assign faq_section = description_parts[1] | split: '<h4>' %}

    {% for faq_part in faq_section %}

      {% if forloop.first == false %}

        {% assign faq_content = faq_part | split: '</h4>' %}

        {% assign question = faq_content[0] | strip_html %}

        {% assign answer = faq_content[1] | strip_html %}

        {

          "@type": "Question",

          "name": "{{ question | escape }}",

          "acceptedAnswer": {

            "@type": "Answer",

            "text": "{{ answer | escape }}"

          }

        }{% unless forloop.last %},{% endunless %}

      {% endif %}

    {% endfor %}

  ]

}

</script>

{% endif %}

Denne kode antager, at dine FAQ'er er formateret med overskrifter (h4) i produktbeskrivelsen.

Test og validering af Schema Markup

Efter implementering af schema markup er det afgørende at teste og validere det for at sikre korrekt opsætning.

Værktøjer til validering

  1. Google's Rich Results Test

    • Besøg Google's Rich Results Test

    • Indtast URL'en til en af dine sider

    • Bekræft, at dine strukturerede data er gyldige og korrekt implementeret

  2. Schema.org Validator

    • Schema Markup Validator

    • Indsæt din JSON-LD kode direkte

    • Identificér eventuelle syntaksfejl eller manglende påkrævede egenskaber

  3. Google Search Console

    • Se efter problemer med strukturerede data i "Forbedringer" sektionen

    • Monitorer præstationen af dine rige resultater i rapporterne

Almindelige valideringsproblemer

Vær opmærksom på disse almindelige problemer, der kan opstå ved validering:

  1. Manglende påkrævede felter

    • Hver schema-type har obligatoriske felter, som skal være til stede

    • F.eks. kræver Product schema et navn og en tilbudspris

  2. Syntaksfejl

    • Manglende kommaer eller citationstegn

    • Ukorrekt nesting af objekter

  3. Duplikerede schemas

    • Flere instanser af samme schema-type på samme side

    • Dette kan ske, hvis både dit tema og en app indsætter schema

  4. Ukorrekt formatering

    • Fejl i JSON-syntaks

    • Problemer med Liquid template-variabler

Almindelige fejl og hvordan du undgår dem

Her er nogle af de mest almindelige fejl, når man implementerer schema markup i Shopify, og hvordan du kan undgå dem:

1. Duplikeret Schema Markup

Problem: Mange Shopify-temaer inkluderer allerede grundlæggende schema markup. Hvis du tilføjer dit eget uden at kontrollere, hvad der allerede eksisterer, kan du ende med duplikeret schema.

Løsning:

  • Gennemgå dit temas kode for eksisterende schema markup

  • Modificér eksisterende schema i stedet for at tilføje nyt, når det er muligt

  • Brug apps, der er designet til at undgå duplikering

2. Manglende dynamiske værdier

Problem: Hardcoded værdier i schema markup, der ikke opdateres, når produktinformation ændres.

Løsning:

  • Brug Liquid variabler til at hente aktuelle data

  • Test med forskellige produktvarianter

  • Sørg for, at prisændringer og lagerstatusser reflekteres korrekt

3. Ikke-validerende markup

Problem: Schema markup, der ikke overholder schema.org's specifikationer eller Googles retningslinjer.

Løsning:

  • Validér altid med både schema.org validator og Google's Rich Results Test

  • Hold dig opdateret med ændringer i specifikationer og best practices

  • Test regelmæssigt efter opdateringer af dit tema eller relevante apps

4. Overset mobilversion

Problem: Schema markup testes ofte kun på desktop-versionen af hjemmesiden.

Løsning:

  • Test både mobil- og desktop-versioner

  • Husk at Google bruger mobile-first indeksering

  • Sørg for, at responsive temaer ikke udlader schema på mobile enheder

5. Manglende opdateringer over tid

Problem: Schema markup implementeres én gang og ignoreres derefter.

Løsning:

  • Planlæg regelmæssige gennemgange af din schema implementering

  • Opdatér når nye produkter eller kategorier tilføjes

  • Hold øje med nye schema-typer eller egenskaber, der kan være relevante

Avancerede Schema Markup-strategier

Når du har fået styr på de grundlæggende schema-implementeringer, kan du overveje disse avancerede strategier:

Nested Schema for komplekse relationer

Du kan indlejre schema-objekter for at repræsentere komplekse relationer, f.eks. produkter med flere egenskaber:

"additionalProperty": [

  {

    "@type": "PropertyValue",

    "name": "Materiale",

    "value": "{{ product.metafields.custom.material }}"

  },

  {

    "@type": "PropertyValue",

    "name": "Farve",

    "value": "{{ product.metafields.custom.color }}"

  }

]

Implementering af HowTo Schema

For produkter, der kræver instruktioner eller samling, kan HowTo schema være værdifuldt:

{% if product.metafields.custom.instructions %}

<script type="application/ld+json">

{

  "@context": "https://schema.org",

  "@type": "HowTo",

  "name": "Sådan samler du {{ product.title | escape }}",

  "step": [

    {% assign steps = product.metafields.custom.instructions.value %}

    {% for step in steps %}

    {

      "@type": "HowToStep",

      "name": "Trin {{ forloop.index }}",

      "text": "{{ step }}"

    }{% unless forloop.last %},{% endunless %}

    {% endfor %}

  ]

}

</script>

{% endif %}

Event Schema for produktlanceringer eller udsalg

Hvis du har planlagte begivenheder som produktlanceringer eller tidsbegrænsede udsalg, kan Event schema være nyttigt:

{% if product.metafields.custom.launch_date %}

<script type="application/ld+json">

{

  "@context": "https://schema.

Få en gratis
SEO Analyse
på din hjemmeside!