Strukturerte data (JSON-LD) for norske bedrifter
Ferdige JSON-LD-eksempler med organisasjonsnummer, mva-nummer og priser i norske kroner som du kan kopiere og tilpasse.
Strukturerte data er en maskinlesbar beskrivelse av virksomheten som ligger i HTML-en som en JSON-LD-blokk. Der oppgir du fakta som navn, organisasjonsnummer, adresse, tjenester og priser med faste feltnavn fra schema.org, slik at søkemotorer og AI-roboter slipper å tolke dem ut av brødteksten. En norsk bedrift kommer langt med fire typer: Organization, WebSite, Service eller Product med Offer, og FAQPage.
Hva er JSON-LD, og hvor legger jeg det?
JSON-LD er en tekstblokk i en <script type="application/ld+json">-tagg, vanligvis i <head>. Besøkende ser den ikke. Feltnavnene kommer fra schema.org, et felles vokabular som Google og Bing bruker til å forstå hva en side handler om.
Blokken må være med i HTML-en serveren sender. Legges den inn med JavaScript eller en tag manager, får ikke AI-robotene den med seg. Grunnen er forklart i guiden om JavaScript og AI-roboter.
Ingen av selskapene bak assistentene har lovet hvordan de vektlegger strukturerte data. Det du vet, er at opplysningene står i kildekoden roboten henter, i en form som ikke kan misforstås. «Fra 1 490,- eks. mva. pr. mnd.» krever tolkning. "price": "1490" og "priceCurrency": "NOK" gjør ikke det.
Organization og WebSite hører hjemme på forsiden. Service eller Product kan ligge på forsiden hvis dere har ett hovedtilbud, og ellers på siden som beskriver tjenesten eller varen. FAQPage legger du der spørsmålene står.
Se etter hva som finnes fra før. SEO-tillegg i WordPress og mange nettbutikkløsninger lager Organization og Product automatisk. Åpne kildekoden og søk etter ld+json før du legger til noe, så du ikke ender med to oppføringer som sier forskjellige ting.
Hvordan merker jeg opp bedriften med organisasjonsnummer?
Start med Organization. Har dere besøkslokaler, kan du bruke undertypen LocalBusiness i stedet. schema.org har ikke et eget felt for norske organisasjonsnumre, så nummeret oppgis som en identifier med propertyID satt til «Organisasjonsnummer». Er bedriften mva-registrert, tar du med vatID. WebSite-oppføringen knytter nettstedet til organisasjonen:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://fjordregnskap.example/#organisasjon",
"name": "Fjordregnskap AS",
"url": "https://fjordregnskap.example/",
"logo": "https://fjordregnskap.example/logo.png",
"description": "Regnskapsbyrå i Bergen som fører regnskap, lønn og årsoppgjør for småbedrifter.",
"email": "post@fjordregnskap.example",
"telephone": "+47 00 00 00 00",
"address": {
"@type": "PostalAddress",
"streetAddress": "Eksempelgata 1",
"postalCode": "5003",
"addressLocality": "Bergen",
"addressCountry": "NO"
},
"identifier": {
"@type": "PropertyValue",
"propertyID": "Organisasjonsnummer",
"value": "123456789"
},
"vatID": "NO123456789MVA",
"sameAs": ["https://www.linkedin.com/company/eksempel"]
},
{
"@type": "WebSite",
"@id": "https://fjordregnskap.example/#nettsted",
"url": "https://fjordregnskap.example/",
"name": "Fjordregnskap",
"inLanguage": "nb",
"publisher": { "@id": "https://fjordregnskap.example/#organisasjon" }
}
]
}
</script>
Skriv organisasjonsnummeret uten mellomrom i value. Feltet @id er en intern merkelapp som andre blokker kan vise til, og trenger ikke være en adresse som virker. Under sameAs lister du profilene deres i sosiale medier, slik at de knyttes til samme virksomhet.
Organisasjonsnummeret bør også stå synlig på siden, for eksempel i bunnteksten som «Org.nr. 123 456 789». En agent som vil kontrollere en norsk bedrift, kan slå det opp i Brønnøysundregistrene.
Hvordan oppgir jeg tjenester og priser i norske kroner?
Bruk Service for tjenester og Product for varer, med prisen i en Offer:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Regnskap for småbedrifter",
"serviceType": "Regnskapsføring",
"description": "Løpende bokføring, mva-melding og månedlig rapport.",
"provider": { "@id": "https://fjordregnskap.example/#organisasjon" },
"areaServed": "NO",
"offers": {
"@type": "Offer",
"price": "1490",
"priceCurrency": "NOK",
"description": "Fast pris per måned, eks. mva.",
"url": "https://fjordregnskap.example/priser"
}
}
</script>
Prisen skrives som et rent tall: 1490, ikke 1 490,-. Bruk punktum som desimaltegn og la «kr» være. Valutaen står i priceCurrency som NOK. Henvisningen i provider peker på Organization-blokken over, og virker når de to ligger på samme side.
Selger du varer, bruker du Product på samme måte. Da faller provider, serviceType og areaServed bort, og du kan legge til "availability": "https://schema.org/InStock" i tilbudet.
Har dere ikke faste priser, oppgi et fra-nivå. «Ta kontakt for pris» gir en assistent ingenting å svare med når noen spør hva det koster.
Hvordan legger jeg inn spørsmål og svar?
Med FAQPage. Hvert spørsmål er en Question med et acceptedAnswer:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Hva koster det å sette bort regnskapet?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Fast pris fra 1 490 kr per måned eks. mva. for bedrifter med inntil 50 bilag i måneden."
}
},
{
"@type": "Question",
"name": "Kan dere ta over midt i året?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ja. Vi henter regnskapsdata fra forrige regnskapsfører og tar over fra neste månedsskifte."
}
}
]
}
</script>
Spørsmålene og svarene må stå synlig på siden med samme ordlyd. Skjemaet skal beskrive det som allerede står der. Google sluttet i 2026 å vise FAQ-utvidelser i søkeresultatet, så regn ikke med ekstra plass der. Gevinsten ligger i at siden inneholder selve spørsmålet og et kort svar som er lett å sitere.
Hva er de vanligste feilene?
- Syntaksfeil. Et komma for mye, eller norske anførselstegn i stedet for
", gjør hele blokken uleselig. - Plassholdere som blir stående. Sjekk at ingen felt inneholder
exampleeller eksempeltall når du publiserer. - Opplysninger som ikke stemmer med siden. Endrer du prisen i teksten, må du endre den i JSON-LD også.
- Oppdiktede vurderinger. Legg ikke inn
aggregateRatinguten ekte anmeldelser bak.
Valider blokken på validator.schema.org før du publiserer. Etterpå kan du kontrollere at den faktisk er med i HTML-en:
curl -s https://fjordregnskap.example/ | grep -c "application/ld+json"
Svaret skal være 1 eller høyere.
I Agentsjekk teller strukturerte data 14 av 100 poeng: 4 for gyldig JSON-LD, 4 for hvem dere er, 3 for hva dere tilbyr og 3 for spørsmål og svar. Vil du i tillegg gi språkmodeller et kart over nettstedet, se guiden om llms.txt. En gratis sjekk på forsiden viser hvilke typer som allerede finnes på nettstedet ditt.
Spørsmål og svar
Hva er strukturerte data?
Strukturerte data er fakta om virksomheten skrevet i et fast, maskinlesbart format. Det vanligste formatet er JSON-LD med feltnavn fra schema.org, lagt i en script-tagg i HTML-en. Besøkende ser det ikke, men søkemotorer og AI-roboter kan lese det uten å tolke brødteksten.
Hvordan oppgir jeg organisasjonsnummer i JSON-LD?
Bruk feltet identifier med en PropertyValue der propertyID er «Organisasjonsnummer» og value er de ni sifrene uten mellomrom. Er bedriften mva-registrert, legger du i tillegg til vatID på formen NO123456789MVA.
Leser ChatGPT JSON-LD?
JSON-LD ligger i HTML-en roboten henter, så opplysningene er tilgjengelige for den. Ingen av selskapene bak assistentene har lovet hvordan de vektlegger strukturerte data. Google og Bing bruker dem til å forstå sider, og Bings indeks er en av kildene bak ChatGPT-søk.
Hjelper FAQPage når Google har fjernet FAQ-visningen?
Google viser ikke lenger FAQ-utvidelser i søkeresultatet, så du får ingen ekstra plass der. Spørsmål og svar på siden er fortsatt nyttige, fordi de er lette å sitere for en assistent. FAQPage-skjemaet gjør det entydig hva som er spørsmål, og hva som er svar.
Hvor i HTML-en skal JSON-LD ligge?
I en script-tagg med type application/ld+json, vanligvis i head. Den må være med i HTML-en serveren sender. Settes den inn med JavaScript eller en tag manager, ser ikke AI-robotene den.