Using an itemprop from one itemtype in another itemtype - schema.org

I just started adding Microdata to the product pages of an online retailer. I'm using Schema.org’s Product type and at this point I'm only referencing product manufacturer, name and description. Google has picked up that this site now has structured data and is listing the pages (and with no errors).
I have a URL on the product pages that links to more items by the same manufacturer. I would like to markup this URL on each page but the property in the type for Product doesn't seem applicable. The description for url in Product seems to indicate it's a URL to the product and of course I'm already on that product and am linking to related products.
I came across the property relatedLink from WebPage that seemed more applicable to my reference so my questions are:
Can I use the property url from Product for the type of URL I am referencing?
If it's more applicable to use relatedlink (or a different property) do I have to specify that the type for that property is CreativeWork? My concern is that while that property might be more applicable the type it comes from is definitely not.

Don’t use url. As you rightly point out, the url property is for the URL of the current item (i.e., the product), and not for URLs of related items.
While the definition of the relatedLink property seems to be appropriate for your case, this property can only be used for WebPage items (and its sub-types), not for Product. With some exceptions, you may only use the properties that are listed in the table for that type.
If the link targets are also Product items, you could use one of these properties:
isRelatedTo:
A pointer to another, somehow related product (or multiple products)
isSimilarTo:
A pointer to another, functionally similar product (or multiple products).

Related

Is there a way to display the Product Title before the Brand Name in Facebook Page Shop?

I exported all the tags required by Facebook from my third-party online store (Lightspeed) and the data stream works as expected in terms of automatic updates, but products on my facebook page shop (Shop tab) are displayed with the brand name first — L'Oratoire Saint-Joseph — followed by the product title.
See it live : https://www.facebook.com/osaintjoseph/
The unfortunate result is that the text under many products is exactly the same. Is there a way to display the Product Title before the Brand Name?
Lightspeed support told me I had to take it up with Facebook. I am awaiting their reply. See my questions in the fb developer forum here : https://developers.facebook.com/settings/developer/community/
There are 3 ways to add products to Facebook Shop:
Manually
Data feed (e.g. CSV import)
Third party plugins (which you’re using).
Manually – the user is only able to enter 4 properties; title, description, image & variant. See facebook.com/business/help/293945421560847. There is no concept of product brand.
Data feed – this allows for additional properties, such as brand name. In the table, see example files and select product (csv, tsv or xml) facebook.com/business/help/120325381656392?id=725943027795860. However it looks like all Facebook does is concatenate string, that's the product title becomes "{brandName} – {productName}". It look like brand name is not used anywhere else. Nor is there an option to change the way it's displayed. If you edit the product, you should be able to see this in the Product Title.
Shop tab (third party plugin) – (May be it's me, but I found their documentation hard to follow) – They send an XML feed to Facebook support.shoptab.net/hc/en-us/articles/200583466-XML-Feed-for-Facebook-Storefront-with-ShopTab. They do not appear to have a concept of brand. Try and examine the data. I would expect the brand name to appear in the product title. Alternatively they allow for CSV, which also doesn't contain brand name support.shoptab.net/hc/en-us/articles/200583906-CCNow-Integration-with-ShopTab-s-Facebook-Store-App
Summary
If possible, examine the data that is sent from Shop tab to Facebook.
Try and find out if you’re able to exclude / alter the string concatenation of brand name from product title in Shop tab. If not raise a support ticket with them.
Alternatively see if you can manually edit the product title in Facebook. It’s not a long-term fix, but helps understand how the system are integrated.

Which property to use for WebPage sections?

I have pages that aren't articles and have multiple sections on the page describing different organizations/services and their information. I am defining the page as a WebPage since this page isn't really an article.
Which property should I use to best mark these sections on the page?
WebPageElement or one of its more specific types might be what you're looking for.
There is a full hierarchy of types that should point you in the right direction.
If you're looking to markup contact information such as email, phone etc. you might want to try ContactPoint or PostalAddress.
As #Brad notes, the WebPageElement type would be the closest match for something like a "webpage section". You could use the hasPart property to denote that they are parts of your WebPage.
But I think that it’s typically not useful to provide WebPageElement (or one of its child types) in the first place: don’t say something about how you structure your page, say something about the things you describe on your page.
So if you provide data about an organization, use Organization. If you provide data about a service offered by an organization, use Service (→ provider Organization) etc.
Use the mainEntity property of your WebPage (or one if its more specific types) to link the primary item the page is about:
If the page is about a single organization, you could use:
ItemPage mainEntity Organization.
If the page is about multiple organizations, you could add a list:
CollectionPage mainEntity ItemList
(and each Organization would be its own list item, added via itemListElement)
(By the way, even if Article would be appropriate in your case, you could still use WebPage in addition, so it’s not either-or. In that case, the mainEntity of the WebPage, or the more specific ItemPage, would be the Article item.)

Schema.org markup for a vacation rental website?

I have built a vacation rental website which allows users to add their home to my site, this will include all info, map, reviews and photos.
I am not sure how to mark up each property detail page with the correct Schema.org data.
I have been looking and LodgingBusiness looks close, but these are not hotels, just someone's home to rent for a few weeks. I would ideally tag the name, photo, description, map, reviews, location too, but unsure about the actual main category.
For the places which get rented, you can use the Accommodation type. There are more specific types, like Apartment, Suite, House etc.
It offers the properties you are looking for:
name, image, description
hasMap
review
address (or containedInPlace)
For documentation about all the accommodation-related types and properties, see Markup for Hotels.

Multiple Aggregate Ratings of Schema.org

I have multiple aggregate ratings snippets in one page.
Is there a way to make one of them the default one? The one that will be displayed in the results of Search Engines?
Thanks all!
Update:
That webpage is, essentially, the page of a Brand.
It contains the aggregate ratings of the Reviews of the Brand and a list of its products (with aggregate rating for each product).
Of course the link is like www.site.com/brand, so the main aggregate rating have to be the Brand one.
It is not possible to directly denote which entity should be used for purposes like Rich Snippets.
But you can try it indirectly, by denoting what the page is about (what consumers, like Google Search, do with this information is up to them).
In your case, the page seems to be about the brand. Not sure if you are really using Brand, but this type misses some essential properties, so here I’m using Organization (which can have a Brand via the brand property).
You might have something like this:
Product → manufacturer → Organization
Product → aggregateRating → AggregateRating
Organization → aggregateRating → AggregateRating
By specifying what the current page is about, consumers might deduce which Rich Snippet (or similar) to show. Currently this can be done with the about property:
WebPage → about → Organization
So consumers might understand that this is a page about the organization, so the organization’s rating is more relevant than the ratings of the organization’s products.
In the next Schema.org version, we get two new properties:
mainEntity (draft): "Indicates the primary entity described in some page or other CreativeWork."
mainEntityOfPage (draft): "Indicates a page (or other CreativeWork) for which this thing is the main entity being described."
So then you could specify that the brand‘s AggregateRating is the main entity. However, I’d still say that not the rating should be the main entity, but the brand/organization.

Do I need to repeat all the categories on all sub-pages?

I am marking up the content on my website with microdata. I am a Local Business and use this hierarchy:
Organization/LocalBusiness/TravelAgency/
Do I need to repeat all the relevant Properties for each category: PLace, Organization, Local Buisness and Travel Agency in each page of my website?
http://schema.org/TravelAgency
I have many sub-pages and it is over-kill to repeat everytime on the page the location, address, telephone, etc. of the business.
For specific sub-pages can I cut out the higher categories?
For example: If I have a page: Special Offer Weekend in New York
Do I add all the Properties or can I just add the ones relevant for TravelAgency and potentially Price?
http://schema.org/PriceSpecification
Thanks for your help
PS: I ask this because I have read that it is not good to have invisible content for the user.
Schema.org doesn’t define any required properties, so everything is optional.
But note that there is no concept of "website" in Microdata. The Microdata always gets parsed per document. So if a Microdata consumer parses your "Special Offer Weekend in New York" page, it will not get the telephone/address/etc. of the business, even if these would be specified on all of your other pages.
If you don’t want to markup all the visible content about your business on every page, you might want to link to a page where this data is marked up (e.g., the front page) by using an appropriate Schema.org property.
Example: On "Special Offer Weekend in New York" (Offer), you could use the seller property to link to your front page (TravelAgency).
It’s not defined in Microdata that those links should be followed for parsing Microdata, but that way parsers can (if they want to) understand that all these pages belong to the same TravelAgency.