Benefits/drawbacks to different Schema markup languages (ie. JSON-LD, Microdata, RDFa)
-
Just a question (or questions) I have wondered about. What's the difference, besides the actual encoding, between the three? Why have three? Why not just the one? Seems to me that Microdata is the easiest, but maybe I am wrong. Is there a reason to use one versus another? I have not found anything explaining this on schema.org - I suppose this is just a discussion versus getting one right or wrong answer. I am just curious of the opinions of people in the SEO MOZ community. Unless of course there is one answer. I'll take that too.
-
Great, Peter. Thanks for the answers. I now understand the difference. Much appreciated.
-
That's right. JSON-LD doesn't require change of HTML compared with Microdata and RDFa. And this is one of answers why JSON-LD is beautiful. Second is because you can make changes in JSON-LD without touching HTML. Like adding new fields, parameters, etc.
About placing. I think that this can be just on home page. Placing in each page is pure rich snippet spam.
-
Hi Peter,
Thanks for the answer. So, as I understand it, and keep in mind this is coming from someone that is not very code-savvy, with JSON-LD, one could put the script anywhere in the HTML, the header, the body, the footer, etc. and it won't show up on the actual page, but the search engine will be able to read it. This implies that no changing or tweaking of the actual HTML is necessary, no messing around with 's or
's like you would with Microdata or RDFa, correct?
A follow up question, if I may, how would you implement something like a "local business" schema with JSON, would you put the script on every page, in the footer perhaps? Or would you just put it on the home page? Does it matter?
Thanks
-
So far we have Microdata, RDFa and JSON-LD.
I'll cover Microdata and RDFa in same because they're similar. So they both are addition to HTML attributes indicating what Schema.org field names correspond with what user-visible text on the page. Works perfect but need lot of developer work and designer changes. Because both backend (admin interface) and frontend (HTML) must be changed. And there are many issues that can be messed - incorrect implementation, "rich snippet spam", software bugs, etc. Look easy as 1-2-3 but in reality it's pain (PIA) for implementation and support. Example - only product implementation require in backend least 10 edit boxes if they're manual filled.
JSON-LD - it's relative new protocol based on Schema.org. The main benefit is that you split representation layer (HTML) from semantic layer (JSON-LD). In prev. formats - they're same and linked each other. Now they're split. This give you much more freedom than before. You can place HTML data whatever you wish and just add hidden JSON in head or in content that will add semantic marking. This is future (for now).
If you wish to read more about creation of JSON-LD then this article is for you:
http://manu.sporny.org/2014/json-ld-origins-2/
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Can i do Partial Multilang for same country but different language ? If yes then how ?
Hi, We have a marketplace website with blog post section (which we only have 1 version of the article which is in english).My question isCan we just use hreflang tag for only specific pages like categeries & product pages.leave Home page and blog section in single langauge in english ?
Intermediate & Advanced SEO | | lims0 -
Is rel=prev/next necessary for ecommerce?
We are currently not using rel=prev/next for paginated categories. My predecessor instead canonicaled paginated pages back to the parent. This obviously needs to be fixed. The pages should self-canonical. Is using the parameter handling function of Google Search Console enough, or do we need to have our dev team implement rel=prev/next?
Intermediate & Advanced SEO | | Satans_Apprentice0 -
Schema for E-Commerce websites
Hi Guys. I am running a cleanup for the on page schema we use and will be moving the on page elements into tag manager. I have all the metas and schema for the products boxed off. My question today is what schema should I use for category pages. Granted there is Json-LD for aggregated reviews but I cant see or work out how or what to use for the category pages that have the lists of products on. Any assistance appreciated. Alex
Intermediate & Advanced SEO | | JBGlobalSEO1 -
Any WordPress themes better for schema
I'm putting together a holiday listing sits and as seo is key would like to add schema data. Does anyone know of any themes that are easier to do this with for a non techie - have looked at plug ins but they get a mixed review Thanks Neil
Intermediate & Advanced SEO | | neilhenderson1 -
How should I setup schema.org for ecommerce site?
I understand how to do products, what I am more curious about is the organization schema. Is it worth it to set it up as an ecommerce business? I would have to set it up on the About Us page for the site, does it matter to Google that it is not located on the homepage?
Intermediate & Advanced SEO | | EcommerceSite0 -
Should we show(to google) different city pages on our website which look like home page as one page or different? If yes then how?
On our website, we show events from different cities. We have made different URL's for each city like www.townscript.com/mumbai, www.townscript.com/delhi. But the page of all the cities looks similar, only the events change on those different city pages. Even our home URL www.townscript.com, shows the visitor the city which he visited last time on our website(initially we show everyone Mumbai, visitor needs to choose his city then) For every page visit, we save the last visited page of a particular IP address and next time when he visits our website www.townscript.com, we show him that city only which he visited last time. Now, we feel as the content of home page, and city pages is similar. Should we show these pages as one page i.e. Townscript.com to Google? Can we do that by rel="canonical" ? Please help me! As I think all of these pages are competing with each other.
Intermediate & Advanced SEO | | sanchitmalik0 -
How Come Meta is different based on different query?
We have a site we added a number to in the meta description. Once we did that we did a fetch as google to hopefully recrawl the page quicker. A few days later and we cleared W3 cache on WP and clear computer cache, then did search on common search for the site/page. WidgetA for example. The url is OurClient.com/widgetA/ - on organic in meta on SERP and we see our new meta with number. We then do a search on a similar term WidgetingA for example and the same url shows: OurClient.com/widgetA/ BUT THE meta description is different on SERP! It is the old meta. When we look at the element using mozbar, it shows the new meta as it should same as when we look at it under the original search term. So, search for WidgetA, get new meta in serps and search for WidgetingA (which returns same url as WidgetA) and we get the old meta. Thoughts???
Intermediate & Advanced SEO | | RobertFisher0 -
How do i redirect www.domain.com/ to www.domain.com/index.php
I keep getting in my analytics www.domain.com/ and www.domain.com/index.php how do i make it consistently redirect to one version and not to both. I know about htaccess redirect and am already using this so am puzzle to which is the best one to use. below is the example .htaccess file im using. Options +FollowSymlinks
Intermediate & Advanced SEO | | mattmillen
RewriteEngine on
rewritecond %{http_host} ^domain.co.uk [nc]
rewriterule ^(.*)$ http://www.domain.co.uk/index.php$1 [r=301,nc] which is better for SEO should i forward to www.domain.com/ or www.domain.com/index.php0