Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
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
-
Disallow: /jobs/? is this stopping the SERPs from indexing job posts
Hi,
Intermediate & Advanced SEO | | JamesHancocks1
I was wondering what this would be used for as it's in the Robots.exe of a recruitment agency website that posts jobs. Should it be removed? Disallow: /jobs/?
Disallow: /jobs/page/*/ Thanks in advance.
James0 -
Is it possible to have organization markup schema for sub domain ? and how should it look like ?
Can we have organization markup schema for subdomain ? For example if my main domain is xyz.com and subdomain is sub.xyz.com If i plan to have organization markup schema for subdomain how should it look like ? Should the markup schema must have main domain url or sub domain url in markup schema ? Should it be like this ?
Intermediate & Advanced SEO | | NortonSupportSEO0 -
What can we do to optimize / be mobile-friendly for PDFs?
I'm getting a "Your page is not mobile-friendly." notice in the SERPs for all of our PDFs. I check the pdf on the phone and it appears just fine. rFtLq
Intermediate & Advanced SEO | | johnnybgunn0 -
SameAs Markup for Google Knowledge Graph
I am trying to get my content in the Google Knowledge graph. Everything I've read thus far about Knowledge Graph tells us how to get in for branded terms (e.g. company name or your own name). But I am looking for ways to have my content be indexed and shown in Google graph. For example, if you search for "mayonnaise for hair" you will see Knowledge graph show us a snippet from an article on RealSimple.com. **How do you get your content to show here? ** I've been reading a lot about SameAs markup, but it seems to only help for branded terms, so companies can have a knowledge box for their brand. But does it help for non-branded keywords? I appreciate any advice. Thanks.
Intermediate & Advanced SEO | | TMI.com1 -
How to rank for a location/country without having a physical address in that location/country
How do I go about it if my physical address (office) is in Country A but I want to rank my website in Country B, C and D (without having an office or physical address in the countries B, C and D)? I am aware of people setting up virtual offices in other countries/cities and adding them to Google Places/Maps with toll free phone numbers, but I don't wish to do any of that. I know Google will catch up with this one day or the other and punish me hard for trying to play games with it. Is there a way rank a website in another country without actually having a physical location there? If yes, please guide me how to go about it.
Intermediate & Advanced SEO | | KS__0 -
Merging two different domains - subdomain or subfolder?
My company has two sites on different domains. We are considering merging the sites into one and keeping only the dominant domain. The dominate site is already a sub-domain of a larger organization so the new sub-domain would be two levels deep. I realize this is a little abstract so below is an example Dominant company site: company.root-domain.com Secondary company site: other-root-domain.com When they merge, everything will be on company.root-domain.com. Should it be other.company.root-domain.com or company.root-domain.com/other Note: The other site has several hundred pages. Both sites have strong authority and link profiles. I want to maintain as much of the value on the other site as possible with the merge.
Intermediate & Advanced SEO | | SEI0 -
Keyphrase / Keyword arrangement
Hi all, What are your thoughts on the arrangement of keyphrases / words? For example, does it make a difference if the words are arranged in the following way: "Keyword 1 Keyword 2" or "Keyword 2 Keyword 1" Both ways make a phrases which is favourable in the search engines. Can I stick with 1 way or should I be going with both arrangements. Hope that is clear 🙂
Intermediate & Advanced SEO | | wtfi0 -
Serving different content based on IP location
I have city centric website. For sake of simplicity, say I only have 2 cities -- City A and City B. Depending on a user's IP address, they will either get City A or City B. Users can change their location through javascript on pages. But there is no cross-linking between cities. By this, I mean that unless you can read or execute javascript, there is no way for you to get from city A to City B. My concern is this: googlebot comes to my site, and we serve them up City A. How does City B get discovered if Googlebot doesn't read javascript? We have an xml sitemap plus plenty of backlinks to City B. Is this sufficient? Should I provide a static link to City B (and vice versa) on the homepage for crawling purposes?
Intermediate & Advanced SEO | | ChatterBlock0