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
-
How to find correct schema type
Dear Moz members, I m currently working on schema optimizations of my website casinobesty.com which review online casino websites. I have a doubt which schema itemReviewed type I have to use in the review pages. Currently I m using type as "Game" but I m not sure it is correct. "description": "",
Intermediate & Advanced SEO | | CongthanhThe
"itemReviewed": {
"@type": "Game",
"name": "LeoVegas Casino",
"url": "https://casinobesty.com/casino/leovegas-casino/"
}, Thank you1 -
Difference LSI and and secondary related keywords
Hi, It is confusing to me. So far what I understand is the following: LSI are synonyms of the keyword your target (the one in the H1 and title tag). For example my keyword would be "Tuscany bike tour" and my LSI would be "Tuscany cycling vacation", "bicycle tour in Tuscany" etc... Then secondary related keyword are for me the other topics I need to cover in my content. In this case for example it would be "Florence", "Siena". But from what I understand a good writer wouldn't use "Siena" or "Florence" multiple times in it's content it would replace it by keywords that support them such as "the town of Florence", "the city of Siena"," the Palio of Siena" etc...Is my understanding correct ? If so what is the use of using those secondary related keyword, is it to rank on other keywords such as Palio of siena tuscany bike tour ? or just not to repeat a secondary keyword too many times. If i write the Palio of Siena isn't it considered as another topic that the topic siena ? Thank you,
Intermediate & Advanced SEO | | seoanalytics0 -
SEO for multiple languages [Arabic]
Hello all, I am currently managing a Marketplace that comes in two different languages: English & Arabic. The English website is, fortunately, doing quite well in terms of SEO performances but, not the Arabic one. The website has two kinds of content: Static content: controlled by me. It includes menu items, navigation, static pages etc which is properly translated among the two languages User-uploaded content: It includes ads/news posted by the user which may not be translated to Arabic if they chose not to do it. Now if somebody goes to the Arabic website and check a news item that doesn't have an Arabic translation, it will show the English title. I am assuming, serving content in a different language that is specified in the hreflang is a straight no, right?
Intermediate & Advanced SEO | | MozammilStorat0 -
Google crawling different content--ever ok?
Here are a couple of scenarios I'm encountering where Google will crawl different content than my users on initial visit to the site--and which I think should be ok. Of course, it is normally NOT ok, I'm here to find out if Google is flexible enough to allow these situations: 1. My mobile friendly site has users select a city, and then it displays the location options div which includes an explanation for why they may want to have the program use their gps location. The user must choose the gps, the entire city, or he can enter a zip code, or choose a suburb of the city, which then goes to the link chosen. OTOH it is programmed so that if it is a Google bot it doesn't get just a meaningless 'choose further' page, but rather the crawler sees the page of results for the entire city (as you would expect from the url), So basically the program defaults for the entire city results for google bot, but for for the user it first gives him the initial ability to choose gps. 2. A user comes to mysite.com/gps-loc/city/results The site, seeing the literal words 'gps-loc' in the url goes out and fetches the gps for his location and returns results dependent on his location. If Googlebot comes to that url then there is no way the program will return the same results because the program wouldn't be able to get the same long latitude as that user. So, what do you think? Are these scenarios a concern for getting penalized by Google? Thanks, Ted
Intermediate & Advanced SEO | | friendoffood0 -
Schema markup for video playlists?
We're adding schema markup for all of our videos, but some videos exist only in a playlist (all integrated into one URL, and loaded after a javascript call). Per Google: "Make sure that your video and schema.org markup are visible without executing any JavaScript or Flash." https://support.google.com/webmasters/answer/2413309?hl=en So we know the current implementation won't work for schema markup... What's the best practice for adding schema markup for video playlists? Should we host all of these videos on individual URLs (but then they appear twice) or is there some other workaround?
Intermediate & Advanced SEO | | nicole.healthline0 -
Ending URLs in .html versus /
Hi there! Currently all the URLs on my website, even the home page, end it .html, such as http://www,consumerbase.com/index.html Is this bad?
Intermediate & Advanced SEO | | Travis-W
Is there any benefit to this? Should I remove it and just have them end with a forward slash?
If I 301 redirect the old .html URLs to the forward slash URLs, will I lose PA? Thanks!0 -
Finding broken links / resources by topic
Hi fellow mozzers! In an effort to ensure we're exploring every avenue when launching our new website, I was hoping to find some useful broken links / resources that we could incorporate into our link building. We have used the standard tools for this (W3C, Xenu etc), but they all seem to have the same issue in that they reveal all the missing links on a site (although some don't actually tell you the page they are on), but you still have to sort them to see if the links/ resource is related to your theme. When you're on a niche site, this obviously isn't an issue, but on a site like Mashable (to use the example given in a recent SEOmoz blog) it could result in wading through hundreds of links to find one relevant one right at the end. Is there a tool that allows you to specify what theme links you are looking for from a site, or better yet one that allows you to check multiple sites for multiple missing themed links in one go? Or is the best way to export the list and just search the document for certain keywords?
Intermediate & Advanced SEO | | themegroup0 -
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