41 votes

What is the use of @id in json-ld syntax?

The @id keyword allows you to give a node a URI. This URI identifies the node. See Node Identifiers in the JSON-LD spec. (The equivalent in Microdata is the itemid attribute, and the equivalent in ...
unor's user avatar
  • 21.7k
17 votes
Accepted

Linking external JSON-LD schema (from Schema.org)

The script element can be used for two things: dynamic/classic scripts data And for data, the spec defines: When used to include data blocks, the data must be embedded inline […] So you may use ...
unor's user avatar
  • 21.7k
16 votes
Accepted

Why is my itemprop='image' markup incorrect?

schema.org/BlogPosting image permits ImageObject and URL, however Google only permits ImageObject, hence the error. The intended markup is: <!-- my code --> <div itemprop="image" itemscope ...
grg's user avatar
  • 3,207
16 votes
Accepted

How to specify publisher in schema.org's Article structured data?

Something like this, though of course other properties are required for this to meet Google's requirements for article features in search results. <div itemscope itemtype="http://schema.org/...
GDVS's user avatar
  • 7,795
15 votes
Accepted

BlogPosting Publisher Logo 'logo.itemtype has an invalid value' on Google Structured Data Testing Tool

Turns out, because BlogPosting is one of the types supported by Google as a possible Rich Snippet, they apply more validation: Google Search Documentation Guidelines for Articles This requires an ...
Arth's user avatar
  • 619
12 votes

Should Schema.org Organization data about my company be on every page?

A quick point on this. A site I work on recently got a manual action penalty from Google for having organization JSON-LD markup across every single page on their domain. It didn't affect rankings of ...
Anthony Lavall's user avatar
11 votes

BlogPosting Publisher Logo 'logo.itemtype has an invalid value' on Google Structured Data Testing Tool

A brilliant and helpful answer by @Arth above. To complement the answer above (not compete with it), here is the same Structured Data using the same schema.org vocabulary, but this time in JSON-LD: ...
Rounin's user avatar
  • 2,335
10 votes

Structured data for FAQ page?

There is this: https://schema.org/QAPage and these: https://schema.org/Question + https://schema.org/Answer Which you can indeed use … and validate: https://search.google.com/structured-data/...
Christian Zagarskas's user avatar
10 votes
Accepted

How to use more than 1 schema.org schema on a web page

In JSON-LD (instead of Microdata/RDFa) you have to repeat the property and its value for each node. Instead of using a separate script element for each node, you could also use a single script ...
unor's user avatar
  • 21.7k
9 votes
Accepted

schema.org/Book with multiple authors using JSON-LD

your code contains error, thats why two authors aren't recognized. If you have more then one author, you should add them as list without entity duplication. Here the correct code: <script type="...
Evgeniy's user avatar
  • 10.1k
9 votes
Accepted

Schema.org 'name' and 'headline'

You can use both properties (headline and name) for the same content. <h1 itemprop="headline name">Title of the post</h1> Google requires headline for their Articles search feature (and ...
unor's user avatar
  • 21.7k
9 votes

Can I mix Microdata and JSON-LD on the same page for different entity

It should be fine to use different syntaxes on the same page. It has one drawback, though: If you want to connect entities specified in different syntaxes, you can’t nest them. You have to use URIs ...
unor's user avatar
  • 21.7k
8 votes

How to get social profile links to show up in a business listing aka "Knowledge Graph" on the right of the Google search results?

The structured data of the website social profiles are correct. From the tests I made it doesn't have to do with the fact that it's a local business, but with the google search preferences used when ...
marcanuy's user avatar
  • 2,644
8 votes
Accepted

What is the correct way to use the CollectionPage type for a 'category' page?

You should use CollectionPage instead of WebPage, not in addition to it. CollectionPage is a more specific WebPage. It seems that significantLink (for URL values) as well as hasPart (for CreativeWork ...
unor's user avatar
  • 21.7k
8 votes

What is the use of @id in json-ld syntax?

Reading the following link from Google Developers - Data types - Local Business in the Local business properties section you have: [...] The ID should be stable and unchanging over time. Google ...
benetj's user avatar
  • 335
8 votes

Schema.org and SEO

What is known (= what search engines document) It can enable features in the search engine interface. Providing certain structured data can give you the chance to get a certain user-visible feature. ...
unor's user avatar
  • 21.7k
7 votes

Are alternate links included in the 50,000 URL limit for sitemaps?

As closetnoc suggests in comments, the 50,000 URL limit for sitemaps refers to the number of URLs in the sitemap file itself. ie. the number of <loc> elements. This is an individual sitemap ...
MrWhite's user avatar
  • 42.8k
7 votes
Accepted

Schema Multiple Areas Served (AreaServed)

I think each value should represent a single area. If you were using the more expressive AdministrativeArea/GeoShape/Place values, you would (by definition) use one type per area (a Place always ...
unor's user avatar
  • 21.7k
6 votes
Accepted

For tour and travel packages, should I use the Product or Service schema markups?

If it has a price and/or if it can be booked, you have to use an Offer item. The item that gets offered could be a Product (this is not only for tangible things!), a Service, an Event, or a ...
unor's user avatar
  • 21.7k
6 votes
Accepted

How do I mark up multi product pages with Schema.org and JSON-LD?

I assume you mean two Offer items for one Product (like your example suggests). Instead of repeating the offers property, you have to use one offers property with an array value (in [ and ]): "...
unor's user avatar
  • 21.7k
6 votes
Accepted

What is the proper schema type for a personal portfolio

You typically need multiple different entities for representing everything in structured data. You are a Person. The page where you list your works could be a CollectionPage. You could specify the ...
unor's user avatar
  • 21.7k
6 votes
Accepted

Rich Snippets only appear with "site:" search in Google

I've come across similar issue, Google will display rich snippets if they are correctly implemented using "site:" but they wont display it on normal results if they are not sure about the quality. ...
John Could's user avatar
5 votes
Accepted

How to find correct schema definitions for my website

The website http://schema.org/ is the relevant and the only canonical source for Schema.org types and properties. Type vs. property. A type represents a thing, a property is for providing information ...
unor's user avatar
  • 21.7k
5 votes

Can I have multiple JSON-LD scripts in the same page?

Yes, you can. The first script indicates the URL of internal site search to be shown in Google SERP between your main entry and sitelinks. The second script indicates your social media accounts to be ...
Mikko Piippo's user avatar
5 votes
Accepted

Inaccurate currency displayed in Google Rich Snippet

Not a Schema issue, it's a website and Google issue The problem you are experiencing is pretty common and a side effect of GEO IP detection. The issue that your encountering is occurring due to the ...
Simon Hayter's user avatar
5 votes
Accepted

NewsArticle not validing: "The attribute image.width has an invalid value."

See Google documentation: https://developers.google.com/search/docs/data-types/articles Images should be at least 696 pixels wide. So this one works for me: <script type="application/ld+json"&...
Milo Tischler's user avatar
5 votes

What is Schema @id and does inaccessible URLS within it matter?

I think this is a (long-standing) bug in Google’s SDTT. Relevant Stack Overflow question: Why does Google Testing Tool use the “id” attribute to generate a URL for the Microdata item? In Microdata, ...
unor's user avatar
  • 21.7k
5 votes
Accepted

Google Tag Manager Multiple URL Exceptions not Working

When adding exception operations, there's a note above it: Fire this trigger when an Event occurs and all of these conditions are true You'll need to create two separate rules, each containing just ...
L Martin's user avatar
  • 4,003
5 votes
Accepted

Using URL without query parameter for Sitelinks Searchbox?

Of course it should be possible to use any kind of URL design. It wouldn’t make sense for Google to exclude many sites just because they don’t use the URL’s query component for the search function. ...
unor's user avatar
  • 21.7k
5 votes
Accepted

What is the benefit of ImageObject schema org markup for images?

First of all, for the image property, Schema.org expects either an URL value or an ImageObject value. This is typically the case for other properties taking an image value, too. So for the image ...
unor's user avatar
  • 21.7k

Only top scored, non community-wiki answers of a minimum length are eligible