I'm adding Rich Snippets to a Washington DC area furniture store's website. Nearly all the manufacturers they carry manufacture in the USA and with the push to buy Made in America, I want to ensure that info gets picked up by search bots and in local ads placed on search engines.
I'm drawing a blank looking for a property that declares country of manufacture. Am I just missing it, or did they leave something so important out of the vocabulary?
NOTE: Just stating the country code of a manufacturer says NOTHING about where they actually manufacture their products. Many corporations are in the USA but all their products are made offshore.
I think Schema.org doesn’t define a suitable property.
It would most likely be defined for Product, but the only related property is manufacturer, which, as you described, doesn’t do the job. The only current solution would be to make use of additionalProperty, but it’s probably not that useful without a standardized propertyID.
You could suggest that Schema.org should add such a property:
https://github.com/schemaorg/schemaorg/issues
Related
On https://www.google.com/webmasters/markup-helper/u/0/ what data type should I use for an online course (such as https://www.udemy.com/aws-certified-solutions-architect-associate/)?
If I chose the closest, say Book Reviews, will Google think my online course is a book review instead?
The types Course and CourseInstance are currently in the pending extension (discussion about the terms), and they will likely be published (i.e., moved to core) in the next Schema.org release (3.2).
If you don’t want to wait, you could use EducationEvent for specific course instances, and CreativeWork for the creative work behind the course.
Here is the doku for courses from Google.
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.
I'm currently working on using schema.org for the events database on my site. We don't sell anything, we just try to be able to show all kinds of events (concert, activities for children, art exhibition, etc) some of them are free, some of them are not, and for some we don't even know, and we don't often have precise information on the price(s).
So, my markup is correct according to google's testing tool, but it says I should have an offer object, and I can't seem to know how to put it. In my database, regarding prices I have these fields :
'free', an enumeration ['yes','no','not communicated']
'tariff', an optional free text field, with a price or price range, and general information about prices, like how it's cheaper for young or old people.
From what I saw, when it's free, I can simply put an offer with a price at 0, when it's not I don't have a price, or may be I have it, but something written in my own langage (not a well sorted list of numeric prices), I'm not even talking about when we don't even know if it's free or not.
so my first question is : is it possible to make a schema.org offer with so little information ?
my second problem is about categories, I have categories for my events, like for example, there's an art exhibit showing photographies, so its two categories are 'art exhibit' and 'photography' ('art exhibit' being the main one).
my second question is : how can I use those values to define my events better ? I suppose I must make my categories coincide with schema.org subevents, like musicEvents, or whatever, but I lose a little accuracy there, so I was wondering if there was another way, and I think it's not practical to change the type depending on the categories it fits in.
well, thanks in advance for reading this.
Schema.org does not require any properties, so an Offer without a price is totally fine.
Consumers of the content, on the other hand, might require certain properties/types for whatever they do.
For example, Google lists what is required for showing their Events Rich Snippet. There you can see that having an Offer for an Event (via the offers property) is optional, but if you specify it, price and priceCurrency are required for the Offer.
In general, it’s best to specify as much data as possible, so if it’s an offer but you don’t know the price, use Offer and add all other properties you can provide content for.
However, it might be the case (I don’t know it; if so, it would certainly be a pity!) that Google Search doesn’t show anything at all if you have an Offer without price for an Event, instead of "falling back" to the Event Rich Snippet that doesn’t have an Offer in the first place.
I have in a website a directory of musicians, music groups and institutions (luthiers, concert halls, etc...).
According with the official documentation of schema.org about MusicGroup, I could include also a solo musician.
My questions are:
Should I assign "Person" to solo musicians and "MusicGroup" to music groups?
If I assign "MusicGroup" to solo musicians, his/her thumbnail will be displayed in the Google search list as rich snippet? (I guess if I assign "Person" to solo musicians it will be displayed).
The same as question 2. but with music groups.
The same as question 2. but assigning "Organization" to institutions.
I am very interested in show the thumbnail in the search list, but also to give a logical and correct semantic syntaxis.
As the Schema.org documentation says, a "MusicGroup" can refer to a solo musician, and should be used. It has the benefit that you can have "album" and "track" properties that allow you to define the solo musician's recorded works (which are not present in "Person").
Probably, but that's entirely up to how Google decide to display search results for your site.
As per the answer to (2)
As per the answer to (2)
To expand on my answers to your questions 2,3 and 4:
Google only display thumbnails for search results in a few rare cases. My suspicion (Google's decision-making process is not public) is that thumbnails in search results are more dependent on having a very high-ranking website and therefore - in Google's eyes - a highly trustworthy and reliable source of information, rather than on the particular schema.org "type" you use.
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.