Artikel

JSON-LD — Googles anbefalede format til structured data

JSON-LD er det mest fleksible og fejlsikre format til structured data — og Google anbefaler det frem for Microdata og RDFa.

JSON-LD er Googles anbefalede format til structured data og det standardvalg SEO-specialister bør bruge til alle Schema.org-implementeringer. Der er tre måder at implementere structured data på: JSON-LD, Microdata og RDFa. JSON-LD er adskilt fra sidens HTML-indhold, let at tilføje og vedligeholde og mindst risikabelt at fejlkonfigurere. Et JSON-LD-blok i <head> kommunikerer entitetstype, egenskaber og relationer direkte til Googlebot uden at påvirke sidens synlige layout.


Hvad er JSON-LD?

JSON-LD står for JavaScript Object Notation for Linked Data. Det er et W3C-standardformat der kombinerer JSON’s enkle syntaks med Linked Data-princippernes evne til at koble data på tværs af systemer.

For SEO-formål er det vigtigste: JSON-LD er en selvstændig JavaScript-blok, der placeres i sidens <head> eller <body>adskilt fra det synlige HTML-indhold.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "JSON-LD forklaret",
  "author": {
    "@type": "Person",
    "name": "Morten Stegger"
  }
}
</script>

Syntaks og grundstruktur

Alle JSON-LD blokke til schema.org starter med to obligatoriske egenskaber. @context definerer vokabularet — brug altid "https://schema.org". @type angiver typen af indhold, f.eks. "Article", "Product" eller "Organization". Se schema markup for oversigt.


Komplet eksempel: Organization

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Stegger.dk",
  "url": "https://stegger.dk",
  "logo": {
    "@type": "ImageObject",
    "url": "https://stegger.dk/logo.png",
    "width": 200,
    "height": 60
  },
  "sameAs": [
    "https://go.stegger.dk/LinkedIn",
    "https://go.stegger.dk/twitter"
  ]
}
</script>

Komplet eksempel: FAQPage

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Hvad er JSON-LD?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "JSON-LD er Googles anbefalede format til structured data — en JavaScript-blok der beskriver sidens indhold i maskinlæsbart format."
      }
    },
    {
      "@type": "Question",
      "name": "Skal JSON-LD placeres i head eller body?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Begge steder er teknisk gyldige. Google anbefaler head-sektionen, men accepterer body. CMS-systemer placerer det typisk i head."
      }
    }
  ]
}
</script>

JSON-LD vs Microdata vs RDFa

JSON-LD (anbefalet)

  • Selvstændig blok adskilt fra HTML
  • Nem at tilføje, vedligeholde og opdatere
  • Kan genereres dynamisk af CMS
  • Fejl i JSON-LD påvirker ikke sidens HTML

Microdata

  • Attributter inline i HTML-elementer
  • Tæt koblet til HTML — ændringer i HTML kan bryde schema
  • Sværere at vedligeholde ved komplekse sider
  • Understøttes stadig af Google

RDFa

  • Lignende Microdata i tilgang
  • Mere ekspressivt end Microdata
  • Bruges i akademisk og semantisk web-kontekst
  • Sjælden i praktisk SEO-implementering

Brug JSON-LD. Det er enklere, mere fleksibelt og eksplicit anbefalet af Google.


Multiple JSON-LD blokke på én side

Du kan og bør bruge multiple JSON-LD blokke på én side:

<!-- Organisation -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Organization", ... }
</script>

<!-- BreadcrumbList -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "BreadcrumbList", ... }
</script>

<!-- Artikel -->
<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "Article", ... }
</script>

Alternativt kan alle types samles i ét script-tag som et array:

<script type="application/ld+json">
[
  { "@context": "https://schema.org", "@type": "Organization", ... },
  { "@context": "https://schema.org", "@type": "BreadcrumbList", ... }
]
</script>

Debugging og validering

Google Rich Results Test

search.google.com/test/rich-results viser detekterede schema-typer, gyldighed og eligibility for rich results.

Schema.org Validator

validator.schema.org validerer JSON-LD mod schema.org’s egne regler og kan vise fejl, som Rich Results Test godkender.

Google Search Console

Under “Enhancements” vises implementerede schema-typer med fejlstatistik på tværs af hele sitet.


Ofte stillede spørgsmål

Kan Google læse JSON-LD i dynamisk indlæst JavaScript?

Ja — WRS renderer JavaScript og processerer JSON-LD der er injiceret af JavaScript. Men statisk JSON-LD i <head> er mere pålidelig og hurtigere.

Hvad er JSON-LD’s relation til JSON?

JSON-LD er bygget ovenpå JSON-formatet. Al gyldig JSON er ikke nødvendigvis gyldig JSON-LD, men JSON-LD bruger JSON-syntaks. Se JSON-format.

Er der CMS-plugins til JSON-LD?

Ja. Yoast SEO, RankMath (WordPress) og mange andre CMS-systemer genererer automatisk JSON-LD baseret på indholdet.

Sidst opdateret: marts 2026. Denne artikel er en del af Stegger.dk’s SEO-ordbog. → Denne artikel er en del af Structured data — Schema markup og JSON-LD.

Andre artikler i samme emne

Ofte stillede spørgsmål

Hvad er JSON-LD?
JSON-LD — JavaScript Object Notation for Linked Data — er et format til structured data der indlejres i et <script type=application/ld+json>-tag i sidens HTML. JSON-LD er Googles anbefalede format til structured data fordi det er adskilt fra sidens synlige indhold, let at tilføje og opdatere uden at ændre HTML-strukturen, og let at validere og debugge. Et JSON-LD-blok beskriver indhold maskinlæsbart med Schema.org-typer og egenskaber.
Hvad er forskellen på JSON-LD, Microdata og RDFa?
JSON-LD er et separat script-blok der placeres i <head> eller <body> uden at være integreret i HTML-elementernes attributter. Microdata tilføjer structured data direkte som attributter på HTML-elementer — itemscope, itemtype, itemprop — og er tæt koblet til HTML-koden. RDFa er ligeledes attribut-baseret og bruges primært til linked data-formål. Google understøtter alle tre, men anbefaler JSON-LD fordi det er nemmest at vedligeholde og mindst risikabelt at implementere.
Hvor placeres JSON-LD på en webside?
JSON-LD kan placeres i sidens <head>-sektion eller i <body>. Google understøtter begge placeringer. Best practice er at placere JSON-LD i <head> for at sikre at Googlebot finder det tidligt i parsing-processen. For dynamisk genererede sider (CMS, e-commerce) bør JSON-LD genereres server-side og inkluderes i HTML-kildekoden — ikke tilføjes af JavaScript efter sideindlæsning, da det kan forsinke opdagelsen.
Kan et JSON-LD-objekt beskrive indhold der ikke er synligt på siden?
Nej. Google kræver at JSON-LD-markup afspejler indhold der faktisk er synligt på siden — det er en grundregel for alle structured data-typer. Structured data der beskriver produkter, priser, anmeldelser eller FAQ-svar der ikke eksisterer som synligt indhold på siden er en overtrædelse af Googles retningslinjer og kan resultere i en manuel handling. Valider altid at indholdet i JSON-LD matcher det synlige sideindhold ord-til-ord.
Hvad er @graph i JSON-LD og hvornår bruges det?
@graph er en JSON-LD-nøgle der lader dig definere flere entiteter i ét JSON-LD-script-blok i stedet for separate script-tags. Det er nyttigt til at organisere relaterede entiteter — fx WebPage, BreadcrumbList og Article — i ét struktureret objekt med @id-referencer der kobler entiteterne sammen. @graph bruges primært af SEO-plugins som Yoast der genererer komplekst, sammenhængende structured data med krydsreferencer. For simple implementeringer er separate script-blokke klarere og fejlfrihed.

Placering i ordbogen