Which Schema types are considered by Google to show review snippets with star-rating votes? - schema.org

My webpage is devoted to generic places, where users vote for them, and I'm trying to make Google to show rich snippets with star-rating votes for such webpages.
I've been reading the Schema.org documentation, and found two types which can help me:
Place
Article
However, I've been browsing the webpage of Google dealing with review snippets, and they claim that publishers can "supply ratings for the following content" types:
Books
Local businesses
Movies
Music
Products
Recipes
Are such categories the only accepted ones to show review snippets?
I see some webpages using Article or just the hReview-aggregate Microformat without mentioning the type, to show review snippets.
Which would be the best solution? Place? Article? Just Microformat?

Schema.org is quite flexible to mix elements as you wish, but so far Google will handle only some specific cases, the ones listed in their reference page

Related

Schema.org organization json-ld does content need to be on page

I am looking to add JSON-LD data to our company's site and have been using the structured data testing tool to validate my schema data and it all seems ok.
My question though is whether the content in the JSON-LD schema needs to be human readable as part of the human readable page content as well?
Google guidelines on the matter.
At Google, our first priority is to help our users find relevant, engaging answers for their search queries. High-quality structured data must not create a misleading or deceptive experience for search users. It should be an up-to-date and accurate reflection of the topic and content already found on the page, such as text, images, and videos. For example:
Markup should not be used to hide content not visible to users in any form, since it might create a misleading or deceptive search experience. For example, if the JSON-LD markup describes a performer, the HTML body should describe that same performer.
Source - Google, Quality guidelines

Do aggregateRatings need to reference where those ratings originate or do they need to be on the same page as the individual reviews?

While the actual code markup is pretty well explained, in Google developers docs, it is unclear where in a web page or on which pages the markup needs to occur and in what relation to the actual reviews that are aggregated.
For example, I see many pages around the web that are getting rich snippets with reviews, however when you visit the page, there are no visible reviews or indication of where those reviews are coming from. (Example Google search: radio connections Los Angeles )
I think this type of implementation may be against Google guidelines, but the guidelines are unclear. Do aggregateRatings need to reference where those ratings originate? Do they need to be on the same page as the individual reviews or ratings?
I'm talking in a strict 'white-hat' way, because it seems that to get the rich snippet in Google, the aggregateRatings do not actually need to reference or be connected anything and are essentially self-contained.
The Schema.org type AggregateRating doesn’t even offer a property to reference the single ratings, or to specify the source.
On top of that, not all aggregate ratings are based on ratings that are available online. Think of ratings collected per phone, paper etc.
Anyway, the guidelines for Google’s Reviews/Ratings Rich Snippets are only documenting in which cases Google Search would consider displaying this rich snippet for your page. If you don’t follow their guidelines (e.g., you don’t provide a property "required" by Google), the worst that happens is that no rich snippet is shown (leaving aside cases of intentional misleading or spamming). Google is just one of many Schema.org consumers, and there are plenty of useful Schema.org uses that don’t necessarily comply with one of Google’s Rich Snippets.
The vocabulary Schema.org does not require any properties.

Facebook og:type meta-tags - should I just make up my own?

I'm putting the required meta-tags into my pages and I have a list I saved from facebook's documentation at https://developers.facebook.com/docs/opengraph/#types
Two problems. One is that my list of business types is, in total:
bar
company
cafe
hotel
restaurant
which is a little crazy. Every type of commercial entity in the world can be categorised as one of those five things? There's not even "store"?
That list is confirmed by this page: http://www.netmagazine.com/tutorials/optimise-your-website-facebook but my second problem is, Facebook no longer seems to be providing a list at all. The documentation says it was updated a month ago.
The tutorial holds out the interesting promise that "Facebook says that it will actively monitor the most commonly used types and add them to the list of supported og:types in due course." so it seems I can make up my own, say "store" or "supermarket" and that won't be an error.
What good or harm will it do to make up my own? What does Facebook use this metadata for anyway?
According to the .NET link article you provided, these are the types you can use:
Activities
activity
sport
Businesses
bar
company
cafe
hotel
restaurant
Groups
cause
sports_league
sports_team
Organizations
band
government
non_profit
school
university
People
actor
athlete
author
director
musician
politician
profile
public_figure
Places
city
country
landmark
state_province
Products and Entertainment
album
book
drink
food
game
movie
product
song
tv_show
Websites
article
blog
website
Now, the list is limited of course, but you can keep it generic by stating something like og:type="website" - it may sound stupid and obvious stating website as the type, but remember tht the web isn't just about web pages - there are all sorts of media to consume.
Or, as you mention, make up your own. If you're sensible about it and specify something like og:type="ecommerce", over time, this may be something others are using and will therefore become a popular choice; with the hope it becomes adopted. If it doesn't, then there's no actual harm that can come of it.
In reality, it doesn't matter what you put there and I suspect Facebook only specifies these types because it wants to know what it's working with for its advertising activities.
But Facebook isn't the only medium that will use these tags, so don't be locked into their methods only. It's best to keep it logical and sensible.
Hope this helps.

OpenGraph or Schema.org? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
The community reviewed whether to reopen this question 1 year ago and left it closed:
Original close reason(s) were not resolved
Improve this question
Just wondering whether you guys out there are favouring the OpenGraph protocol following markup like:
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
Or the Schema.org protocol with
<div itemscope itemtype="http://schema.org/Product">
<span itemprop="name">Kenmore White 17" Microwave</span>
<img src="kenmore-microwave-17in.jpg" alt='Kenmore 17" Microwave' />
<div itemprop="aggregateRating"
itemscope itemprop="http://schema.org/AggregateRating">
Which one should I integrate as I think only 1 is necessary ? [actually can you only integrate one or ?]
Frankly, IMHO - I think OpenGraph is "less intrusive" to the total codebase - as it's easier to implement Partial Views [using ASP.NET MVC] whereas the Schema.org protocol requires [at least in my opinion] disruptive HTML add-ins across your code ?
Edit: Seems I ended up integrating both - not sure whether this is allowed but the documentation on Schema.org is unclear. Notably, this link doesn't provide much info
Q: How does schema.org relate to Facebook Open Graph?
Facebook Open Graph serves its purpose well, but it
doesn't provide the detailed
information search engines need to
improve the user experience. A single
web page may have many components, and
it may talk about more than one thing.
If search engines understand the
various components of a page, we can
improve our presentation of the data.
Even if you mark up your content using
the Facebook Open Graph protocol,
schema.org provides a mechanism for
providing more detail about particular
entities on the page. For example, a
page about a band could include any or
all of the following:
A list of albums
A price for each album
A list of songs for each album, along with a link to hear samples of each song
A list of upcoming shows Bios of the band members
So I assume that they are compatible together.
So, to start with a couple of cliche's and mangled metaphors - we're talking apples and oranges a bit comparing OG and Schema.org, and when it comes to this metadata it's horses for courses.
The right answer depends on your intent, in adding metadata to your page. What is it that you're hoping to gain? What is the win for you here? The different forms of metadata are for slightly different purposes.
Google has made it clear that it's moving away from a focus on microformats and onto a focus on Schema.org in order to build rich-data results for search. If you want to optimize for Google, Bing and other search engines add the Schema.org markup. It's the direction HTML5 has stepped in.
Facebook OG markup is to be added if what you want is to benefit from turning your content into a social object and enable its multi-point connectivity to the social graph that is the Facebook universe.
In my experience most people are looking to gain from both approaches - do as well as they can in search rankings and increase reach and distribution through social channels. So, IMHO, it's probably best to be as thorough as possible adding the Schema.org markup where it fits your content and use Open Graph metadata. They do slightly different, but complementary things.
We are talking about two separate concepts here: syntax and vocabulary.
The Open Graph Protocol and Schema.org are vocabularies. Other vocabularies are, for example, Dublin Core, FOAF, and SIOC.
These vocabularies are typically not coupled to a specific syntax. If you want to describe your content in HTML documents with such a vocabulary, you could use the syntaxes RDFa and/or Microdata.
Which one should I integrate as I think only 1 is necessary ? [actually can you only integrate one or ?]
Your first example uses Open Graph Protocol (= vocabulary) with RDFa (= syntax). Your second example uses Schema.org (= vocabulary) with Microdata (= syntax).
You can mix them up as you like. (You could use both vocabularies with both syntaxes on the same page. You could use both vocabularies with only one syntax. You could use only one vocabulary with both syntaxes, or with only one syntax. …). It totally depends on your specific use case.
What do you want to achieve? If you are interested in a specific 3rd party parsing your content, you should check their documentation. They typically support only certain vocabularies with certain syntaxes.
But if you want to mark up your content with semantic metadata without having a specific use case in mind, you could stick to one syntax and use whichever vocabularies are appropriate for your content. Personally, I’d choose RDFa (Lite). It is based on RDF, which works with other formats than HTML, too. It is a W3C Recommendation (Microdata is not). And most vocabularies you’ll find are defined in RDF(S). See my answer about the future of RDFa and Microdata.
All depends if you're trying to markup your website for a social world (facebook) or search engines. Both are recommended but if you only have time for one then prioritize the company's marketing focus. OGP is huge for facebook, but does not have an ounce of use in SEO. Seo is completely reliant on micro-data and is the way for proper html5 creation.
HTML5Doctor on Microdata
http://html5doctor.com/microdata/
Google talking about markup:
http://www.google.com/support/webmasters/bin/answer.py?answer=1211158
Bing talking about markup:
http://onlinehelp.microsoft.com/en-us/bing/hh207238.aspx
Update
For anyone finding this answer, a lot has changed since I first posted it.
Schema.org is widely used by all major search engines and then some but the markup is now preferred to JSON-LD. Great article from SEO Skeptic outlining the change made by Google.
Google Structured Data provides documentation in JSON-LD and is greatly encouraged although RDFa and microdata is still partial supported.
JSON-LD should be used in conjunction with any social channels you are trying to target OGP for Facebook, Twitter Cards for Twitter, etc
They can both be used safely together. Currently the two efforts use different syntaxes to encode data in HTML (W3C RDFa or Microdata), but there are active discussions at W3C towards eventual convergence of those designs. Or greater compatibility, at least. Whether there will also be convergence at the vocabulary level between Schema.org and OGP, or services that consume both, remains to be seen. But in the meantime they both add value and can be safely combined.
Google does favor schema, and open graph is better for web content that is related to social media. Your sample code looks good, but don't forget to include the prefix
<html prefix="og: http://ogp.me/ns#">
in the head of each page that has ogp.
You can check to make sure the ogp or schema works by using the rich snippet testing tool
http://www.google.com/webmasters/tools/richsnippets
In the case of Schema, you can check by using the SDTT: Structured Data Testing Tool
https://search.google.com/structured-data/testing-tool
Why not use json-ld for markup? I'm thinking of implementing json-ld based schema.org markup. That way it'll not be intrusive. My ghost blog uses it. Don't know if it's well supported by search engines yet. But all examples on schema.org now includes implementation for json-ld.
see here
http://schema.org/WebPage
And all my apps use twitter cards, fb opengraph tags and microformats tags like rel and structured schema.org metadata. And I find implementing schema.org metadata most instrusive. So replacing this last bit with json-ld and keeping code clean is nice. Too many tags and it's recommended to keep your html small ;)
RDFa og serves as uniform way to recognize content better by REST for consideration when embedding within containers not predicted at the time of creation. If the container is predetermined as search results, then schema.org microdata is well-understood by search bots. With og presentation is responsibility of container publisher & such quality freedom might improvise search ranking, while schema.org will improvise search result comprehensibility in the context of content creator's intent. The vocabularies usually are ignored when used with the competing semantic markup technique so best to use microdata with schema.org only and og with RDFa only. Both microdata and RDFa can coexist in same document.
rdfa(opengraph) and microdata(schema) cannot be used on same html page
"3) We’ll continue to support our existing rich snippets markup formats.
If you’ve already done markup on your pages using microformats or RDFa, we’ll continue to support it. One caveat to watch out for: while it’s OK to use the new schema.org markup or continue to use existing microformats or RDFa markup, you should avoid mixing the formats together on the same web page, as this can confuse our parsers."
SRC: http://googlewebmastercentral.blogspot.in/2011/06/introducing-schemaorg-search-engines.html

Anyone have a link to a technical discussion of anything akin to the Facebook news feed system?

I'm looking for a presentation, PDF, blog post, or whitepaper discussing the technical details of how to filter down and display massive amounts of information for individual users in an intelligent (possibly machine learning) kind of way. I've had coworkers hear presentations on the Facebook news feed but I can't find anything published anywhere that goes into the dirty details. Searches seem to just turn up the controversy of the system. Maybe I'm not searching for the right keywords...
#AlexCuse I'm trying to build something similar to Facebook's system. I have large amounts of data and I need to filter it down to something manageable to present to the user. I cannot use another website due to the scale of what I've got to work at. Also I just want a technical discussion of how to implement it, not examples of people who have an implementation.
Are you looking for something along the lines of distributed pub/sub with content based filtering? If so, you may want to look into Siena and some of the associated papers such as Design and Evaluation of a Wide-Area Event Notification Service