- Why schema markup is not only about rich snippets: schema and machine learning
- Microdata is better than JSON-LD: Google’s lies
- Cross-site/cross-page connection between objects
Schema Markup Tests
This section will have schema markup testing cases with description and links to details.
Superevent – Subevent Markup
Strangely so, there are not many resources about proper usage of superEvents and subEvents. Almost no examples, too. I will just quickly run the tests and later finish this piece.
- subEvent: https://nazaruk.ca/google-bot-testing/schema-markup/microdata-subevent-testing/
Why additional meta is important?
Schema markup is not only about rich snippets. There’s more to it although not as obvious.
The fundamental idea behind schema is to add valuable context to the information so that bots could find it easier to parse content. It may be better to give prepared correct answers to bots instead of having them guessing. It is probably a lot easier for a person to make an error in schema than for Googlebot to understand what’s what on an average page.
The most obvious use for schema that is being explicitly fed to SEOs is rich snippets. Automatically, the vast majority of SEOs conclude that markup that doesn’t immediately and directly contribute to rich snippets has little to no value at all. Therefore, you usually notice only a few lonely itemscopes with a few boring itemprops set and nothing else.
My claim is that the number of schema properties and objects that are being used by search engines is growing and we can enforce some pages with schema, adding that missing bit of context for them to rank properly.
Microdata VS JSON-LD
Again, most of SEOs are too eager to just blindly believe Google’s instructions. Ones of us who had the black-hat experience are more ironic when they read google’s guidelines. You have to apply a good measure of skepticism to what Google claims to understand it in a right context.
JSON-LD is better indeed. For Google. Because it gives Google a lot more competitive advantages. If every site uses JSON-LD markup, all other search engines would stop showing the vast majority of their rich snippets, which makes their search results less informative and user-friendly. Guess who wins from it? Google does! Guess who loses? Those poor SEOs who believed Google and now lost a chunk of their traffic from other search engines. I know, it’s not much, but now you get an idea. At the time of this article (beginning of 2018), the only recognizable search engine that parses JSON-LD is Google.
JSON-LD is better indeed. For web-devs. Because it’s a lot easier to just shove a bunch of json in some container than do the actual manipulations with the template. But, wait a sec! The main idea of microdata is adding context to existing elements, right? Adding implies modifying properties of existing containers. What JSON-LD does? It tends to duplicate content in json.
Content duplication in this context is not an issue at all. It’s fine. But it creates two rather dangerous situations:
- There is now a real temptation to have less on-page information since we can now just use it in JSON.
- The information in JSON and on the page is now, actually, not the same thing.
Why is it important?
Because developers don’t know that it enforces schema to have its objects and properties visible. And because there are a lot more bugs than one could expect. I actually encountered a number of cases when on-page information didn’t match the schema information and my clients got nonsensical ranking behavior. It is really difficult to debug for junior SEOs when the data is in JSON-LD.
Cross-page connection between instances
Schema is significantly limited. It doesn’t have a good solution for when the relation between various objects spreads across the pages. But there are a few ways to hack around it:
- Itemrefs and IDs
- URL property of an thing