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
-
Medical product schema
Hello guys I would need your help for the schema markup for a medical product. We have companies 'medical' pages and their own products. We need the best people (like you :p) to confirm the markup implementation we should go for. Question 1 https://aumet.azurewebsites.net/en/medical-manufacturers/Jordan/sun-plastic-medical-materials-industries-co-ltd-209415 Should we list the product with the markup medicalentity https://schema.org/MedicalEntity Should we list the products with the markup products https://schema.org/Product Should we add them as List https://schema.org/ItemList or as items owns https://schema.org/owns **Question 2 ** https://aumet.azurewebsites.net/en/medical-manufacturers/Jordan/sun-plastic-medical-materials-industries-co-ltd-209415 Why do have issue with og:property type https://search.google.com/structured-data/testing-tool#url=https%3A%2F%2Faumet.azurewebsites.net%2Fen%2Fmedical-manufacturers%2FJordan%2Fsun-plastic-medical-materials-industries-co-ltd-209415 marked as unspecified type
Intermediate & Advanced SEO | | floaumet0 -
Stuctured data for different sized packages
Hi all, We are currently working on implementing structured data to our webshop, for SEO and for google shopping. We sell stones, pebbles, gravel etc. (to be used in gardens).We offer each product in different sized bags. Customers can buy 20KG minibags, 250KG minibags, 500KG midibags, 1500KG bigbags and bulk quantities (ranging from 3000KG up to 35000KG). For example, we sell Black Beach Pebbles in the bags as described as above (+ the bulk quantities). We have a product page for these Black Beach Pebbles and on that product page customers can choose the desired bag or desired bulk quantity. For google shopping, visitors land on these productpages. A while back that caused a problem; the landing page contained different prices so sometimes google could not match the prices on the landing page with the prices in our productfeed (because of course, each bag has a different price). So, besides SEO, another reason for us to implement structured data. I have two questions regarding the implementation. 1. For the landing page as described above, the idea now is to mark 1 product with different offers (an offer for each bag + an offer for the bulk quantities). This raises a problem regarding the bulk quantities; the price of the bulk quantity depends on the chosen quantity (customers can pick the desired bulk quantity using a dropdown) on the productpage. How should we markup the price? The idea know is to markup 1 product with different offers for each bag and 1 aggregate offer for the bulk quantities (and using the lowest price, so the price for the smallest bulk quantity). So, for the Black Beach pebbles: Product = Black beach Pebbles
Intermediate & Advanced SEO | | AMAGARD
Offer (= 20KG minibag)
Price = ...
Offer (= 250KG minibag)
Price = ...
Offer (= 500KG midibag)
Price = ...
Offer (= 1500KG bigbag)
Price = ...
AggregateOffer (= Bulk quantities)
Lowprice = ... Is combining Offer and AggregateOffer within 1 product the right solution? 2. For the 1500KG Bigbags and bulk quantities we have separate landing pages (because people specifically search for bigbags and bulk quantities). So those landing pages are dedicated to bigbags / bulk quantities. How should we mark up those pages? Should we for example just do this: On the page for te bigbag:
Product = Black Beach Pebbles 1500KG bigbag
Offer (=Black Beach Pebbles 1500KG bigbag)
Price =.... and on the page for the bulk quantities: Product = Black Beach Pebbles bulk quantities
AggregateOffer (=Black Beach Pebbles bulk quantities)
Lowprice=...... Could that cause any confusion for google, because on the productpage with all the available bags, the bigbag is an offer for the product 'Beach Pebbles Black'. And on the second page it is a product on its own. Thanks in advance! Best!1 -
Mixing up languages on the same page + possible duplicate content
I have a site in English hosted under .com with English info, and then different versions of the site under subdirectories (/de/, /es/, etc.) Due to budget constraints we have only managed to translate the most important info of our product pages for the local domains. We feel however that displaying (on a clearly identified tab) the detailed product info in English may be of use for many users that can actually understand English, and may help us get more conversions to have that info. The problem is that this detailed product info is already used on the equivalent English page as well. This basically means 2 things: We are mixing languages on pages We have around 50% of duplicate content of these pages What do you think that the SEO implications of this are? By the way, proper Meta Titles and Meta Descriptions as well as implementation of href lang tag are in place.
Intermediate & Advanced SEO | | lauraseo0 -
Just implemented microdata, what should one typically expect?
Should I expect my rankings to do any weird things over the next couple of days or weeks?
Intermediate & Advanced SEO | | Edward_Sturm0 -
Should /node/ URLs be 301 redirect to Clean URLs
Hi All! We are in the process of migrating to Drupal and I know that I want to block any instance of /node/ URLs with my robots.txt file to prevent search engines from indexing them. My question is, should we set 301 redirects on the /node/ versions of the URLs to redirect to their corresponding "clean" URL, or should the robots.txt blocking and canonical link element be enough? My gut tells me to ask for the 301 redirects, but I just want to hear additional opinions. Thank you! MS
Intermediate & Advanced SEO | | MargaritaS0 -
How do I Syndicating Content for SEO Benefit?
Right now, I am working on one E-Commerce website. I have found same content on that E-Commerce website from manufacturer website. You can visit following pages to know more about it. http://www.vistastores.com/casablanca-sectional-sofa-with-ottoman-ci-1236-moc.html http://www.abbyson.com/room/contemporary/casablanca-detail http://www.vistastores.com/contemporary-coffee-table-in-american-white-oak-with-black-lacquer-element-ft55cfa.html http://www.furnitech.com/ft55cfa.html I don't want to go with Robots.txt, Meta Robots NOINDEX & Canonical tag. Because, There are 5000+ products available on website with duplicate content. So, I am thinking to add Source URL on each product page with Do follow attribute. Do you think? That will help me to save my website from duplicate content penalty? OR How do I Syndicating Content for SEO Benefit?
Intermediate & Advanced SEO | | CommercePundit0 -
If I hired you/your company to do my SEO ...
If i hired you or your company to do SEO for my site (http://goo.gl/XUH3f) what would be the first steps you'd take? I'm pretty sure i've covered all of the basics myself, I'm just left trying to figure out what i should do next... rankings have been going up and down for the last few weeks, but even when they're up, they're not high enough 🙂 (and then they go back down anyway) ... I know some of you are going to say build links, please at least give me an example of one or two sites you'd try to get to link to mine... I'm open to any advice or feedback as I'm just a website owner who's been doing their own SEO & learning on the fly... Thanks a lot!
Intermediate & Advanced SEO | | Prime850 -
One platform, multiple niche sites: Worth $60/mo so each site has different class C?
Howdy all, The short of it is that I currently run a very niche business directory/review website and am in the process of expanding the system to support running multiple sites out of the same database/codebase. In a normal setup I'd just run all the sites off of the same server with all of them sharing a single IP address, but thanks to the wonders of the cloud, it would be fairly simple for me to run each site on it's own server at a cost of about $60/mo/site giving each site a unique IP on a unique c-block (in many cases a unique a-block even.) The ultimate goal here is to leverage the authority I've built up for the one site I currently run to help grow the next site I launch, and repeat the process. The question is: Is the SEO-value that the sites can pass to each other worth the extra cost and management overhead? I've gotten conflicting answers on this topic from multiple people I consider pretty smart so I'd love to know what other people say.
Intermediate & Advanced SEO | | qurve0