Whats is good, combine WebSite and Article or use individually?
For example:
Schema of example.com (home):
<script type="application/ld+json">
{
"#context": "https://schema.org/",
"#type": "WebSite",
"name": "",
"url": "",
"potentialAction": {
"#type": "SearchAction",
"target": "{search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
Schema of a one post example.com/example-post/ (article):
<script type="application/ld+json">
{
"#context": "https://schema.org",
"#type": "Article",
"headline": "",
"image": {
"#type": "ImageObject",
"url": "",
"width": ,
"height":
}
</script>
Now my question is, in the articles (example.com/example-post/), I must place the schema separately (as above) or in combination with the WebSite like this:
<script type="application/ld+json">
{
"#context": "https://schema.org/",
"#type": "WebSite",
"name": "",
"url": "",
"potentialAction": {
"#type": "SearchAction",
"target": "{search_term_string}",
"query-input": "required name=search_term_string"
}
},
{
"#context": "https://schema.org",
"#type": "Article",
"headline": "",
"image": {
"#type": "ImageObject",
"url": "",
"width": ,
"height":
}
</script>
Related
I am building a website to reference movie showtimes.
The site shows a now playing page with a list of movies, each movie has a page with the upcoming showtimes.
I added some structured data to enhance the way search engines sees the data on my website.
Here is what I have so far:
{
"#context": "https://schema.org",
"#type": "ItemList",
"numberOfItems": 2,
"itemListElement": [
{
"#type": "ListItem",
"name": "Screening Event 1",
"position": 1,
"item": {
"#context": "https://schema.org",
"#type": "ScreeningEvent",
"startDate": "2021-09-18T15:15:00.000Z",
"url": "http://localhost:3000/film/Boite-noire/663260#6144ab7a22b6d900165aa836",
"inLanguage": "fr",
"location": {
"#context": "https://schema.org",
"#type": "MovieTheater",
"name": "Pathé Tunis City",
"url": "http://localhost:3000/medium/pathe-tunis-city"
},
"workPresented": {
"#context": "https://schema.org",
"#type": "Movie",
"name": "Boîte noire",
"image": "https://image.tmdb.org/t/p/w300_and_h450_bestv2/jIfFFC4YwiI8TVaGtbl1eT9BRaI.jpg",
"url": "http://localhost:3000/film/Boite-noire/663260",
"sameAs": "https://imdb.com/title/tt10341034",
"director": {
"#type": "Person",
"name": "Yann Gozlan"
}
}
}
},
{
"#type": "ListItem",
"name": "Screening Event 2",
"position": 2,
"item": {
"#context": "https://schema.org",
"#type": "ScreeningEvent",
"startDate": "2021-09-18T20:15:00.000Z",
"url": "http://localhost:3000/film/Boite-noire/663260#6144ab8522b6d900165aa837",
"inLanguage": "fr",
"location": {
"#context": "https://schema.org",
"#type": "MovieTheater",
"name": "Pathé Tunis City",
"url": "http://localhost:3000/medium/pathe-tunis-city"
},
"workPresented": {
"#context": "https://schema.org",
"#type": "Movie",
"name": "Boîte noire",
"image": "https://image.tmdb.org/t/p/w300_and_h450_bestv2/jIfFFC4YwiI8TVaGtbl1eT9BRaI.jpg",
"url": "http://localhost:3000/film/Boite-noire/663260",
"sameAs": "https://imdb.com/title/tt10341034",
"director": {
"#type": "Person",
"name": "Yann Gozlan"
}
}
}
}
]
}
Is there a better way to represent this kind of information without repeating data ?
My suggestion gave the google guide for Carousel --> Single, all-in-one-page list:
{
"#context": "https://schema.org",
"#type": "Movie",
...
"#id":"https://cinema.com/lordofrings.html",
"name":"Lord of the rings",
"subjectOf":{
"#type": "ItemList",
"itemListElement": [
{
"#type": "ListItem",
"position": "1",
"item": {
"#type": "ScreeningEvent",
"url": "https://cinema.com/lordofrings.html#15",
"startDate": "2021-09-18T15:00:00+01:00"
}
},
{
"#type": "ListItem",
"position": "2",
"item": {
"#type": "ScreeningEvent",
"url": "https://cinema.com/lordofrings.html#18",
"startDate": "2021-09-18T18:00:00+01:00"
}
}
]
}
}
For ellipsis, set the required movie info and add all the required and recommended properties for the Google Rich Results Test.
Google Structured Data Testing Tool returns for the following JSON-LD:
Duplicate values for url are not allowed.
Why? I do not understand.
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "ItemList",
"itemListElement": [{
"#type": "ListItem",
"position": 0,
"item": {
"#type": "Article",
"headline": "Bonito de norte",
"alternativeHeadline": "Thunnus alalunga.",
"image": {
"#type": "ImageObject",
"url": "http://dechado09.softgalia.com/producto/imagenes/facebook/2/BONITO.jpg?1502195043",
"width": "1200",
"height": "830"
},
"author": "SoftGalia Aplicaciones Informáticas S.L.",
"editor": "Pescados Trocheros",
"keywords": "Venta pescado, Mayorista de Pescado",
"publisher": {
"#type": "Organization",
"name": "Academia Lucense de Balonmano",
"logo": {
"#type": "ImageObject",
"url": "http://dechado09.softgalia.com/logo/facebook/1/logo-trochero-01.jpg?1504175529",
"width": "1200",
"height": "830"
}
},
"url": "http://dechado09.softgalia.com/productos/index",
"datePublished": "2017-08-08 12:24:11 UTC",
"dateCreated": "2017-08-08 12:24:11 UTC",
"dateModified": "2017-08-22 07:43:53 UTC",
"description": "Thunnus alalunga.",
"articleBody": "Thunnus alalunga.",
"mainEntityOfPage": "http://dechado09.softgalia.com/productos/index"
}
},
{
"#type": "ListItem",
"position": 1,
"item": {
"#type": "Article",
"headline": "Merluza",
"alternativeHeadline": "Merluccius merluccius",
"image": {
"#type": "ImageObject",
"url": "http://dechado09.softgalia.com/producto/imagenes/facebook/4/merluza-primer-plano.jpeg?1504525751",
"width": "1200",
"height": "830"
},
"author": "SoftGalia Aplicaciones Informáticas S.L.",
"editor": "Pescados Trocheros",
"keywords": "Venta pescado, Mayorista de Pescado",
"publisher": {
"#type": "Organization",
"name": "Academia Lucense de Balonmano",
"logo": {
"#type": "ImageObject",
"url": "http://dechado09.softgalia.com/logo/facebook/1/logo-trochero-01.jpg?1504175529",
"width": "1200",
"height": "830"
}
},
"url": "http://dechado09.softgalia.com/productos/index",
"datePublished": "2017-09-04 11:49:13 UTC",
"dateCreated": "2017-09-04 11:49:13 UTC",
"dateModified": "2017-09-05 08:38:27 UTC",
"description": "Merluccius merluccius",
"articleBody": "Merluccius merluccius",
"mainEntityOfPage": "http://dechado09.softgalia.com/productos/index"
}
}
]
}
</script>
There are two ways to implement a list format for your structured data:
Summary page + multiple full details pages
List item A single, all-in-one-page list
My case is a sumary page of articles, and google guide say: "The summary page has a short description of each item in the list, and each description points to a separate details page that is focused entirely on one item."
well the markup must be.
{ "#context": "http://schema.org",
"#type": "ItemList",
"itemListElement":
[
{
"#type":"ListItem",
"position": 0,
"url": "http://dechado09.softgalia.com/productos/bonito-de-norte"
},
{
"#type":"ListItem",
"position": 1,
"url": "http://dechado09.softgalia.com/productos/merluza"
}
]
}
This is an example of JSON-LD for a Schema.org Product:
<script type="application/ld+json">
{
"#context": "http://schema.org/",
"#type": "Product",
"name": "Executive Anvil",
"image": "http://www.example.com/anvil_executive.jpg",
"brand": {
"#type": "Thing",
"name": "ACME"
},
"aggregateRating": {
"#type": "AggregateRating",
"ratingValue": "4.4",
"ratingCount": "89"
},
"offers": {
"#type": "AggregateOffer",
"lowPrice": "119.99",
"highPrice": "199.99",
"priceCurrency": "USD"
}
}
</script>
But I have a lot of more properties for my product.
For example a related gallery, related videos, a long main text.
There are not these properties in Product.
Do I have to leave them? Or is there a way to use them?
For content about the product (like a video, a gallery, an article, etc.) you could use the Product item as value of the about property:
{
"#context": "http://schema.org/",
"#type": "VideoObject",
"name": "Video about your product",
"about": {
"#type": "Product",
"name": "Your product"
}
}
With JSON-LD’s #reverse, you can specify these within the Product item, if you prefer it:
{
"#context": "http://schema.org/",
"#type": "Product",
"name": "Your product",
"#reverse": {
"about": {
"#type": "VideoObject",
"name": "Video about your product"
}
}
}
I would like to make rich snippets for product pages appear in google SERPS. It's for a page that:
Contains multiple products that each have individual prices
Has an average aggregate rating
As far as I understand it's possible to add multiple products to one page in schema org using multiple offers. The problem is that I couldn't find the documentation on how to do that using JSON-LD. I've tried it myself in the code below but have no idea if this is correct. Can I just add offers like this or do I need to add them in a different way?
<script type="application/ld+json">
{
"#context": "http://schema.org/",
"#type": "Product",
"aggregateRating": {
"#type": "AggregateRating",
"ratingValue": "[rating variable]",
"reviewCount": "[count variable]"
},
"name": "[product name]",
"offers": {
"#type": "Offer",
"price": "[price of product]",
"priceCurrency": "[currency]"
},
"name": "[product name]",
"offers": {
"#type": "Offer",
"price": "[price of product]",
"priceCurrency": "[currency]"
},
"name": "[product name]",
"offers": {
"#type": "Offer",
"price": "[price of product]",
"priceCurrency": "[currency]"
},
}
</script>
just create an array of the offers.
<script type="application/ld+json">
{
"#context": "http://schema.org/",
"#type": "Product",
"name": "[name]",
"image": "[logo]",
"aggregateRating": {
"#type": "AggregateRating",
"ratingValue": "[rating],
"reviewCount": "[votes]"
},
"offers": [{
"#type": "Offer",
"priceCurrency": "[currency]",
"price": "[price]",
"category": {
"#type": "thing",
"name": "[name product]"
}
},{
"#type": "Offer",
"priceCurrency": "[currency]",
"price": "[price]",
"category": {
"#type": "thing",
"name": "[name product]"
}
},{
"#type": "Offer",
"priceCurrency": "[currency]",
"price": "[price]",
"Category": {
"#type": "thing",
"name": "[name product]"
}
}]
}
</script>
I am able to see the event in email but not in Google Now app. I am triggering email from Google App Script. The markup has been verified by Google's markup tester and is valid. Below is JSON-LD format:
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "EventReservation",
"reservationNumber": "IO123456789",
"modifyReservationUrl": "http://www.searshomeservices.com",
"modifiedTime": "2015-03-04T02:30:00-06:00",
"underName": {
"#type": "Person",
"name": "John Smith"
},
"reservationStatus": "http://schema.org/Confirmed",
"reservationFor": {
"#type": "Event",
"name": "Event Confirmation",
"startDate": "2015-03-05T04:30:00-06:00",
"performer": {
"#type": "Person",
"name": "Jitendra",
"image": "https://lh3.googleusercontent.com/-qYfc01xZOSg/Uw46cceE_EI/AAAAAAAAABw/xNYxVibhDSs/s70-no/cara_verde.png"
},
"location": {
"#type": "Place",
"name": "Moscone Center",
"address": {
"#type": "PostalAddress",
"streetAddress": "800 W Howard St.",
"addressLocality": "Chicago",
"addressRegion": "IL",
"postalCode": "60626",
"addressCountry": "US"
}
}
}
}
</script>