Schema.org

Beginnen met schema.org

Schema is een onafhankelijke manier om gestructureerde data aan zoekmachines aan te leveren. Ooit is het gestart door Google, Microsoft, Yahoo en Yandex.

Schema.org is een verzameling van 'types', elke gekoppeld aan een set met eigenschappen. Alle typen zijn gerangschikt in een hiërarchie.

Google leest en snapt Schema en gebruikt dit vervolgens om de informatie uit de types in de vorm van een rijk resultaat te tonen in Google.

voorbeeld van een product snippet

Product weergaven in Google, afkomstig van het 'Product' type van Schema.org

Om in aanmerking te komen voor een rijk resultaat dien je de verplichte eigenschappen van een type aan te leveren in de code van de website. Daarnaast zijn er andere optionele eigenschappen. Deze gebruikt Google niet direct maar zijn super waardevol om Google te voeden met signalen.

Op deze pagina geven we voor verschillende pagina’s advies welke schema types toegevoegd dienen te worden.

Belangrijk! Bij elke type hebben we de schema.org pagina van het type gelinkt. In de voorbeelden hebben we de meest belangrijke properties uitgewerkt maar er zijn er nog veel meer te vinden. ZIGT raadt aan zoveel mogelijk relevante properties toe te voegen.

Plaatsen van structured data

Op deze pagina zijn verschillende voorbeelden uitgewerkt in JSON-LD format. Dit is de aanbevolen manier om gestructureerde data op een website te plaatsen. ZIGT adviseert om de JSON-LD code te plaatsen in de <head> van een pagina.

Homepagina

Het belangrijkste type op de homepagina is het WebSite type. Dit gebruikt Google onder andere voor de naam van de site in Google.

WebSite

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Website",
        "name": "Voorbeeld Bedrijf",
        "url": "https://www.voorbeeld.nl/",
        "description": "Voorbeeld Bedrijf is een voorbeeld website!",
        "potentialAction": {
            "@type": "SearchAction",
            "target": "https://www.voorbeeld.nl/zoeken?q={search_term_string}",
            "query-input": "required name=search_term_string"
        },
        "publisher": {
            "@type": "Organization",
            "name": "Voorbeeld Bedrijf",
            "logo": {
                "@type": "ImageObject",
                "url": "https://www.voorbeeld.nl/afbeeldingen/logo.jpg",
                "width": 600,
                "height": 200
            }
        }
    }
</script>
                            

WebPage

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebPage",
        "url": "https://www.voorbeeld.nl/",
        "name": "Home",
        "description": "Voorbeeld Bedrijf is een voorbeeld website!",
        "breadcrumb": {
            "@type": "BreadcrumbList",
            "itemListElement": [
                {
                    "@type": "ListItem",
                    "position": 1,
                    "name": "Homepagina"
                }
            ]
        }
    }
</script>
                            

Organization

Documentatie van schema.org

Voor het Organization type zijn verschillende subtypes mogelijk. Voor deze specifieke types zijn properties beschikbaar, de opzet van de code blijft hetzelfde.


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Organization",
        "name": "Voorbeeld Bedrijf",
        "alternateName": "Alternatieve Naam Voorbeeld Bedrijf",
        "legalName": "Voorbeeld Bedrijf B.V.",
        "description": "Voorbeeld Bedrijf is een voorbeeld website!",
        "url": "https://www.voorbeeld.nl/",
        "logo": {
            "@type": "ImageObject",
            "url": "https://www.voorbeeld.nl/afbeeldingen/logo.jpg",
            "width": 600,
            "height": 200
        },
        "address": {
            "@type": "PostalAddress",
            "streetAddress": "Voorbeeld Straat",
            "addressLocality": "Voorbeeld Stad",
            "postalCode": "1234AB",
            "addressCountry": "Nederland"
        },
        "contactPoint": [
            {
                "@type": "ContactPoint",
                "telephone": "+316123456789",
                "email": "info@voorbeeld.nl",
                "contactType": "Sales afdeling",
                "hoursAvailable": [
                    {
                        "@type": "OpeningHoursSpecification",
                        "dayOfWeek": [
                            "Monday",
                            "Tuesday",
                            "Wednesday",
                            "Thursday",
                            "Friday"
                        ],
                        "opens": "09:00",
                        "closes": "17:30"
                    }
                ]
            },
            {
                "@type": "ContactPoint",
                "telephone": "+316123456789",
                "email": "info@voorbeeld.nl",
                "contactType": "Klantenservice",
                "hoursAvailable": [
                    {
                        "@type": "OpeningHoursSpecification",
                        "dayOfWeek": [
                            "Monday",
                            "Tuesday",
                            "Wednesday",
                            "Thursday",
                            "Friday",
                            "Saturday",
                            "Sunday"
                        ],
                        "opens": "09:00",
                        "closes": "21:00"
                    }
                ]
            }
        ],
        "sameAs": [
            "https://www.facebook.com/voorbeeld-bedrijf",
            "https://www.twitter.com/voorbeeld-bedrijf",
            "https://www.linkedin.com/voorbeeld-bedrijf"
        ],
        "foundingDate": "2000-01-01",
        "vatID": "NL863632294B01",
        "numberOfEmployees": {
            "@type": "QuantitativeValue",
            "minValue": 100,
            "maxValue": 150
        },
        "employee": [
            {
                "@type": "Person",
                "name": "Voorbeeld persoon 1",
                "jobTitle": "Voorbeeld titel van persoon 1",
                "description": "Voorbeeld omschrijving van persoon 1",
                "url": "https://www.voorbeeld.nl/auteur/voorbeeld-persoon-1",
                "image": "https://www.voorbeeld.nl/afbeeldingen/voorbeeld-persoon-1",
                "sameAs": [
                    "https://www.linkedin.com/voorbeeld-persoon-1"
                ]
            },
            {
                "@type": "Person",
                "name": "Voorbeeld persoon 2",
                "jobTitle": "Voorbeeld titel van persoon 2",
                "description": "Voorbeeld omschrijving van persoon 1",
                "url": "https://www.voorbeeld.nl/auteur/voorbeeld-persoon-2",
                "image": "https://www.voorbeeld.nl/afbeeldingen/voorbeeld-persoon-2",
                "sameAs": [
                    "https://www.linkedin.com/voorbeeld-persoon-2"
                ]
            }
        ],
        "aggregateRating": {
            "@type": "AggregateRating",
            "bestRating": "5",
            "worstRating": "1",
            "ratingValue": "5",
            "reviewCount": "1000"
        },
        "review": [
            {
                "@type": "Review",
                "name": "Voorbeeld titel",
                "reviewBody": "Voorbeeld tekst van review",
                "reviewRating": {
                    "@type": "Rating",
                    "ratingValue": "5"
                },
                "author": {
                    "@type": "Person",
                    "name": "Voorbeeld persoon 1"
                },
                "datePublished": "2000-01-01",
                "publisher": {
                    "@type": "Organization",
                    "name": "Voorbeeld Bedrijf"
                }
            },
            {
                "@type": "Review",
                "name": "Voorbeeld titel",
                "reviewBody": "Voorbeeld tekst van review",
                "reviewRating": {
                    "@type": "Rating",
                    "ratingValue": "5"
                },
                "author": {
                    "@type": "Person",
                    "name": "Voorbeeld persoon 1"
                },
                "datePublished": "2000-01-01",
                "publisher": {
                    "@type": "Organization",
                    "name": "Voorbeeld Bedrijf"
                }
            }
        ]
    }
</script>
                            

Content pagina

Voor een content pagina is het belangrijk dat WebPage geïmplementeerd wordt. Hier is het belangrijk dat de auteur en publisher de organisatie is maar dat een auteur gekoppeld wordt als reviewer.

WebPage

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebPage",
        "name": "Voorbeeld Content Pagina",
        "description": "Dit is een voorbeeld content pagina.",
        "url": "https://www.voorbeeld.nl/content-pagina/",
        "publisher": {
            "@context": "http://schema.org",
            "@type": "Organization",
            "name": "Voorbeeld Bedrijf",
            "url": "https://www.voorbeeld.nl/"
        },
        "author": {
            "@context": "http://schema.org",
            "@type": "Organization",
            "name": "Voorbeeld Bedrijf",
            "url": "https://www.voorbeeld.nl/"
        },
        "reviewedBy": {
            "@type": "Person",
            "name": "Voorbeeld persoon 1",
            "jobTitle": "Voorbeeld titel van persoon 1",
            "description": "Voorbeeld omschrijving van persoon 1",
            "url": "https://www.voorbeeld.nl/auteur/voorbeeld-persoon-1",
            "image": "https://www.voorbeeld.nl/afbeeldingen/voorbeeld-persoon-1",
            "sameAs": [
                "https://www.linkedin.com/voorbeeld-persoon-1"
            ]
        },
        "datePublished": "2000-01-01",
        "dateModified": "2000-01-01",
        "breadcrumb": {
            "@type": "BreadcrumbList",
            "itemListElement": [
                {
                    "@type": "ListItem",
                    "position": 1,
                    "name": "Homepagina",
                    "item": "https://www.example.com"
                },
                {
                    "@type": "ListItem",
                    "position": 2,
                    "name": "Voorbeeld Content Pagina"
                }
            ]
        }
    }
</script>
                            

Categoriepagina

Voor een categoriepagina is het belangrijk dat zowel de CollectionPage als het ItemList type geïmplementeerd worden.

CollectionPage

De CollectionPage is een specifieker type dan WebPage, het bevat dezelfde informatie als WebPage.

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "CollectionPage",
        "name": "Voorbeeld Categorie Pagina",
        "description": "Een voorbeeld categorie pagina.",
        "url": "https://www.voorbeeld.nl/alle-producten",
        "breadcrumb": {
            "@type": "BreadcrumbList",
            "itemListElement": [
                {
                    "@type": "ListItem",
                    "position": 1,
                    "name": "Homepagina",
                    "item": "https://www.voorbeeld.nl/"
                },
                {
                    "@type": "ListItem",
                    "position": 2,
                    "name": "Alle producten"
                }
            ]
        }
    }
</script>
                            

ItemList

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "ItemList",
        "itemListElement": [
            {
                "@type": "ListItem",
                "position": 1,
                "item": {
                    "@type": "Product",
                    "name": "Voorbeeld product in de kleur rood",
                    "description": "Mooi product in de kleur rood",
                    "image": "https://www.voorbeeld.nl/product-afbeelding1.jpg",
                    "url": "https://www.voorbeeld.nl/product-pagina",
                    "offers": {                        
                        "@type": "Offer",
                        "url": "https://www.voorbeeld.nl/product-pagina",
                        "priceCurrency": "EUR",
                        "price": "49.00",
                        "availability": "https://schema.org/InStock",
                        "itemCondition": "https://schema.org/NewCondition"
                    }
                }
            }
        ]
    }
</script>
                            

Productpagina

Voor een productpagina is het belangrijk dat zowel de WebPage als het Product type geïmplementeerd worden. Als er sprake is van productvarianten is het belangrijk dat het ProductGroup type ook geïmplementeerd wordt.

WebPage

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "WebPage",
        "name": "Voorbeeld Product Pagina",
        "description": "Een voorbeeld product pagina.",
        "url": "https://www.voorbeeld.nl/product-pagina",
        "breadcrumb": {
            "@type": "BreadcrumbList",
            "itemListElement": [
                {
                    "@type": "ListItem",
                    "position": 1,
                    "name": "Homepagina",
                    "item": "https://www.voorbeeld.nl/"
                },
                {
                    "@type": "ListItem",
                    "position": 2,
                    "name": "Alle producten",
                    "item": "https://www.voorbeeld.nl/alle-producten"
                },
                {
                    "@type": "ListItem",
                    "position": 3,
                    "name": "Voorbeeld product pagina"
                }
            ]
        }
    }
</script>
                            

Product

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Product",
        "name": "Voorbeeld Product",
        "description": "Dit is een voorbeeld product.",
        "url": "https://www.voorbeeld.nl/product-pagina",
        "sku": "12345",
        "mpn": "12345",
        "brand": {
            "@type": "Brand",
            "name": "Voorbeeld Merk"
        },
        "height": {
            "@type": "QuantitativeValue",
            "value": 50,
            "unitCode": "CMT"
        },
        "width": {
            "@type": "QuantitativeValue",
            "value": 30,
            "unitCode": "CMT"
        },
        "depth": {
            "@type": "QuantitativeValue",
            "value": 20,
            "unitCode": "CMT"
        },
        "material": "paper",
        "color": "black",
        "weight": {
            "@type": "QuantitativeValue",
            "value": 2.5,
            "unitCode": "KGM"
        },
        "category": "Voorbeeld Categorie",
        "image": [
            "https://www.voorbeeld.nl/product-afbeelding1.jpg",
            "https://www.voorbeeld.nl/product-afbeelding2.jpg"
        ],
        "offers": {
            "@type": "Offer",
            "priceCurrency": "EUR",
            "price": "49.99",
            "itemCondition": "https://schema.org/NewCondition",
            "availability": "https://schema.org/InStock"
        },
        "aggregateRating": {
            "@type": "AggregateRating",
            "bestRating": "5",
            "worstRating": "1",
            "ratingValue": "5",
            "reviewCount": "1000"
        },
        "review": [
            {
                "@type": "Review",
                "name": "Voorbeeld titel",
                "reviewBody": "Voorbeeld tekst van review",
                "reviewRating": {
                    "@type": "Rating",
                    "ratingValue": "5"
                },
                "author": {
                    "@type": "Person",
                    "name": "Voorbeeld persoon 1"
                },
                "datePublished": "2000-01-01",
                "publisher": {
                    "@type": "Organization",
                    "name": "Voorbeeld Bedrijf"
                }
            },
            {
                "@type": "Review",
                "name": "Voorbeeld titel",
                "reviewBody": "Voorbeeld tekst van review",
                "reviewRating": {
                    "@type": "Rating",
                    "ratingValue": "5"
                },
                "author": {
                    "@type": "Person",
                    "name": "Voorbeeld persoon 2"
                },
                "datePublished": "2000-01-01",
                "publisher": {
                    "@type": "Organization",
                    "name": "Voorbeeld Bedrijf"
                }
            }
        ]
    }
</script>
                            

ProductGroup

Additioneel aan het product schema is het relevant op de productpagina om de ProductGroup schema te plaatsen. Hiermee geef je aan welke productvarianten er zijn. De ProductGroup begint met algemene informatie over het product, inclusief een uniek productGroupID. Daaronder een Array van alle varianten, inclusief hetgeen wat het product uniek maakt.

Schema ondersteunt op dit moment kleur, maat en materiaal.

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "https://schema.org/",
        "@type": "ProductGroup",
        "name": "Voorbeeld Product",
        "description": "Dit is een voorbeeld product.",
        "brand": {
            "@type": "Brand",
            "name": "Voorbeeld merk"
        },
        "productGroupID": "1234",
        "variesBy": [
            "https://schema.org/color"
        ],
        "hasVariant": [
            {
                "@type": "Product",
                "name": "Voorbeeld product in de kleur rood",
                "description": "Mooi product in de kleur rood",
                "image": "https://www.voorbeeld.nl/product-afbeelding1.jpg",
                "sku": "123456",
                "color": "rood",
                "url": "https://www.voorbeeld.nl/product-pagina/rood",
                "offers": {
                    "@type": "Offer",
                    "url": "https://www.voorbeeld.nl/product-pagina/rood",
                    "priceCurrency": "EUR",
                    "price": "49.00",
                    "availability": "https://schema.org/InStock",
                    "itemCondition": "https://schema.org/NewCondition"
                }
            }
        ]
    }
</script>
                            

FAQ pagina

Bij het gebruik van veelgestelde vragen is het gebruik van de FAQPage aanbevolen. Dit is een specifieker type dan WebPage en bevat informatie over de vragen en antwoorden die gegeven worden op een pagina.

FAQPage

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": [
            {
                "@type": "Question",
                "name": "Voorbeeld vraag 1?",
                "acceptedAnswer": {
                    "@type": "Answer",
                    "text": "Voorbeeld antwoord 1."
                }
            }, {
                "@type": "Question",
                "name": "Voorbeeld vraag 2?",
                "acceptedAnswer": {
                    "@type": "Answer",
                    "text": "Voorbeeld antwoord 2."
                }
            }
        ]
    }
</script>
                            

Vacature pagina

Voor een vacature is het belangrijk dat het JobPosting type geïmplementeerd wordt op de pagina.

Afhankelijk van de vacature is het mogelijk om een salarisindicatie te geven, de waarde van baseSalary kan verschillen:

  • HOUR
  • DAY
  • WEEK
  • MONTH
  • YEAR

Ook is de waarde van employmentType verschillend per vacature:

  • FULL_TIME
  • PART_TIME
  • CONTRACTOR
  • TEMPORARY
  • INTERN
  • VOLUNTEER
  • PER_DIEM
  • OTHER

JobPosting

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context" : "https://schema.org/",
        "@type" : "JobPosting",
        "title" : "Online marketing consultant",
        "description" : "Jij wordt verantwoordelijk voor de klanttevredenheid van je eigen klanten en houd je bezig met het analyseren en optimaliseren van online marketingactiviteiten op diverse kanalen. Zo hou je je bezig met complexe SEA accounts, denk je na over conversieoptimalisatie en genereer je met de inzet van social media advertising bijvoorbeeld nieuwe leads.",
        "datePosted" : "2024-01-01",
        "employmentType" : "FULL_TIME",
        "hiringOrganization" : {
            "@type" : "Organization",
            "name" : "ZIGT",
            "sameAs" : "https://www.zigt.nl",
            "logo" : "https://www.zigt.nl/logo.png"
        },
        "jobLocation": {
            "@type": "Place",
            "address": {
                "@type": "PostalAddress",
                "streetAddress": "Nieuwe kade 18-3",
                "postalCode": "6827 AB",
                "addressCountry": "NL"
            }
        },
        "baseSalary": {
            "@type": "MonetaryAmount",
            "currency": "EUR",
            "value": {
                "@type": "QuantitativeValue",
                "value": 100.000,
                "unitText": "MONTH"
            }
        }
    }
</script>
                            

Blog pagina

Voor een blog is het belangrijk dat het BlogPosting type uitgewerkt wordt, dit is een specifieker type van het Article type.

BlogPosting

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "BlogPosting",
        "mainEntityOfPage": {
            "@type": "WebPage",
            "@id": "https://www.voorbeeld.nl/blog/voorbeeld-blog/",
            "url": "https://www.voorbeeld.nl/blog/voorbeeld-blog/",
            "name": "Voorbeeld titel van voorbeeld blog",
            "breadcrumb": {
                "@type": "BreadcrumbList",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "Home",
                        "item": "https://www.example.com"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Products",
                        "item": "https://www.example.com/products"
                    },
                    {
                        "@type": "ListItem",
                        "position": 3,
                        "name": "Example Product Page"
                    }
                ]
            }
        },
        "url": "https://www.voorbeeld.nl/blog/voorbeeld-blog/",
        "image": "https://www.voorbeeld.nl/afbeeldingen/blog-afbeelding.jpg",
        "thumbnailUrl": "https://www.voorbeeld.nl/afbeeldingen/blog-afbeelding.jpg",
        "datePublished": "2000-01-01",
        "dateModified": "2000-01-01",
        "author": {
            "@type": "Person",
            "name": "Voorbeeld persoon 1",
            "jobTitle": "Voorbeeld titel van persoon 1",
            "description": "Voorbeeld omschrijving van persoon 1",
            "url": "https://www.voorbeeld.nl/auteur/voorbeeld-persoon-1",
            "image": "https://www.voorbeeld.nl/afbeeldingen/voorbeeld-persoon-1",
            "sameAs": [
                "https://www.linkedin.com/voorbeeld-persoon-1"
            ]
        },
        "publisher": {
            "@context": "http://schema.org",
            "@type": "Organization",
            "name": "Voorbeeld Bedrijf",
            "url": "https://www.voorbeeld.nl/"
        },
        "headline": "Voorbeeld Blog",
        "description": "Dit is een voorbeeld omschrijving van een blog pagina.",
        "articleBody": "Dit is een voorbeeld van de content van een blog pagina.",
        "wordCount": 800
    }
</script>
                            

Auteurspagina

Voor de auteurspagina is het belangrijk dat het Person type uitgewerkt wordt voor de auteur op de website.

Person

Documentatie van schema.org


<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Person",
        "name": "Voorbeeld persoon",
        "url": "https://www.voorbeeld.nl/auteur/voorbeeld-persoon/",
        "image": "https://www.voorbeeld.nl/afbeeldingen/voorbeeld-persoon.jpg",
        "description": "Dit is een omschrijving van voorbeeld persoon",
        "jobTitle": "Voorbeeld titel",
        "knowsAbout": "Voorbeeld expertise",
        "email": "voorbeeld-persoon@voorbeeld.nl",
        "telephone": "+31612345678",
        "sameAs": [
            "https://www.linkedin.com/in/voorbeeld-persoon",
            "https://twitter.com/voorbeeld-persoon"
        ],
        "worksFor": {
            "@context": "http://schema.org",
            "@type": "Organization",
            "name": "Voorbeeld Bedrijf",
            "url": "https://www.voorbeeld.nl/"
        }
    }
</script>