My problem is that using the following code I can not share on google plus using microdata but uses OpenGraph data located at the top of the website. Why?
<div itemscope itemtype="http://schema.org/Article">
<div class="quote-txt">
<span itemprop="name">Frases Celebres</span>
<span itemprop="description">El principio más profundo del carácter humano es el anhelo de ser apreciado</span>
<img itemprop="image" src="http://www.frasecelebre.net//resources/images/social_logo.png">
</div>
<div class="qfooter col-xs-12">
<div class="qsocial">
<a class="googleplus social-icon" href="https://plus.google.com/share?url=http%3A%2F%2Fwww.frasecelebre.ocioportales.com%2Ftemas%2Fsentimientos%2Fbesos.html" title="Compartir frase en Google plus" target="_blank"></a>
</div>
</div>
</div>
The URL you are sharing to Google+ is the list page and Google+ take the metadate from that page. If you want each article to have unique metadate it needs it's own unique URL as well.
Related
I want to create a breadcrumb navigation with the Microdata format.
So I'm using following BreadcrumbList markup and Google Structured Data Testing Tool recognized it:
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="https://example.com/home">
<span itemprop="name">Home</span>
</a>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" href="https://example.com/home/fashionn">
<span itemprop="name">Fashion</span>
</a>
<meta itemprop="position" content="2" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="name">Coats</span>
<meta itemprop="position" content="3">
</li>
</ol>
But from Bing Markup Validator I receved following message:
We are not seeing any markup on this page. Please ensure the markup has been implemented correctly.
Regarding Bing documentation the following markup is correct for breadcrumb:
<ol>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a itemprop="url" href="https://example.com/home">
<span itemprop="title">Home</span>
</a>
</li>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a itemprop="url" href="https://example.com/home/fashion">
<span itemprop="title">Fashion</span>
</a>
</li>
<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<span itemprop="title">Coats</span>
</li>
</ol>
So is there a way to create a breadcrumb navigation with Microdata format which would be valid both for Google and Bing?
To rephrase your goal, as far as I understand it: You want to markup your breadcrumbs
with Microdata
using two vocabularies (Schema.org and Data-Vocabulary.org)
without duplicating your content
so that Bing’s and Google’s testing tool still validate it.
Microdata makes it hard to mix vocabularies:
In itemtype, you can only use types from the same vocabulary.
In itemprop, you can mix properties from different vocabularies, but only the properties from one vocabulary can be specified in the shorter string form, while the properties from all other vocabularies have to be specified as absolute URIs.
(This isn’t a problem if consumers support the absolute URI form for the properties they recognize.)
(By the way, RDFa supports mixing vocabularies way better, so you might want to consider using RDFa instead of Microdata.)
A way to avoid the problem, maybe.
Use Data-Vocabulary.org for Bing and Google.
While the vocabulary Data-Vocabulary.org is deprecated and deleted (I wonder why Bing is still recommending it), Google still seems to support it, too (probably because it’s still used on many websites from back then, when Google recommended it, too).
I don’t know if it really works, but at least Google’s SDTT doesn’t give any warnings/errors for your Data-Vocabulary.org snippet.
Solutions, maybe.
Unfortunately, I can’t test it in Bing’s tool (because an account is required), so the following snippets don’t necessarily work.
itemref + absolute URIs for Data-Vocabulary.org’s title
This snippet uses Schema.org as primary vocabulary. An empty div outside of Schema.org’s BreadcrumbList is used to create the item for Data-Vocabulary.org’s Breadcrumb. This item references the a elements via itemref. It reuses the url property (because it’s named the same in both vocabularies) and provides Data-Vocabulary.org’s title property as absolute URI.
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb" itemref="b1 b2">
</div>
<ol itemscope itemtype="http://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="item" itemscope itemtype="http://schema.org/WebPage">
<span itemprop="name">
<a itemprop="url" href="https://example.com/" id="b1">
<span itemprop="http://data-vocabulary.org/Breadcrumb/title">Home</span>
</a>
</span>
</span>
<meta itemprop="position" content="1" />
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="item" itemscope itemtype="http://schema.org/WebPage">
<span itemprop="name">
<a itemprop="url" href="https://example.com/fashion" id="b2">
<span itemprop="http://data-vocabulary.org/Breadcrumb/title">Fashion</span>
</a>
</span>
</span>
<meta itemprop="position" content="2" />
</li>
</ol>
It works in Google’s SDTT (it should be fine to ignore the warning that Breadcrumb/title is not recognized; it’s specified as absolute URI, so it can be used everywhere).
Whether it works in Bing’s testing tool depends on if Bing recognizes http://data-vocabulary.org/Breadcrumb/title as title property.
As the vocabulary is deleted, I’m not sure if it really was http://data-vocabulary.org/Breadcrumb/title instead of http://data-vocabulary.org/title, but if I remember it correctly, it should have been the first one.
itemref + absolute URIs for Schema.org’s name
Same idea like in the snippet above, but this time Data-Vocabulary.org would be the primary vocabulary, while Schema.org’s BreadcrumbList gets created in an empty div.
This is harder, because Schema.org’s structure requires more properties, so you have to create more empty elements.
<div itemscope itemtype="http://schema.org/BreadcrumbList">
<div itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="item" itemscope itemtype="http://schema.org/WebPage" itemref="b1">
</span>
<meta itemprop="position" content="1" />
</div>
<div itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<span itemprop="item" itemscope itemtype="http://schema.org/WebPage" itemref="b2">
</span>
<meta itemprop="position" content="2" />
</div>
</div>
<ol itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<li itemprop="title">
<a itemprop="url" href="https://example.com/" id="b1">
<span itemprop="http://schema.org/name">Home</span>
</a>
</li>
<li itemprop="title">
<a itemprop="url" href="https://example.com/fashion" id="b2">
<span itemprop="http://schema.org/name">Fashion</span>
</a>
</li>
</ol>
It works in Google’s SDTT (it should be fine to ignore the warning that name is not recognized; it’s specified as absolute URI, so it can be used everywhere).
I have just started trying to get my head around using Schema.org. I have customised a bit of schema into the text in my website footer (on WordPress).
When I test my page with Google Structured Data Testing Tool, it's coming back as errors and I need to figure out why.
I live in Wareham, Dorset, UK but the Google tool doesn't seem to recognise my location?
My Microdata is as follows:
<div itemscope itemtype=”http://schema.org/ProfessionalService“>
<link itemprop=”additionalType” href=”http://www.productontology.org/doc/Wedding_photography” />
<b><span style="color:#88cccf; font-size: 15pt" itemprop="member" itemscope itemtype="http://schema.org/Organization">Velvet Bliss Photography</span></b><br>
<em>Photography by <span itemprop="name">Brett McNally</span></em><br> <br>
<div>
I am a professional freelance <span itemprop="jobtitle">photographer</span> based in <span itemprop=”address” itemscope itemtype=”http://schema.org/PostalAddress”>
<span itemprop=”addressLocality”>Wareham</span>,
<span itemprop=”addressRegion”>Dorset</span>. I provide <span itemprop=”name”>Wedding Photography</span> & <span itemprop=”name”>Portrait Photography</span> services in Dorset and I take on commissions for wedding photography all over the <span itemprop="addressCountry">UK</span>, as well as internationally for destination weddings.
</div><br>
<div>Contact me: <span itemprop=”telephone”>07470 201325</span>
</div>
<link rel="author" href="https://plus.google.com/u/0/117967472486546237170">
<link rel="publisher" https://plus.google.com/u/0/114441860370278522542">
<br>
<em><span style="font-size: 9pt">You can also find me on these social media websites:</span></em>
Here in the UK, my address is:
Town / City: Wareham
County: Dorset
but schema doesn't seem to recognise that we are on the map?
I see! It was not obvious first, but I think I have found the issue it was non standard quotation marks. I replaced them and then tested in Google testing tool and now it is showing all green (just one tag i.e. jobtitle not part of professional entity) otherwise all schema recognized, test this please:
<div itemscope itemtype="http://schema.org/ProfessionalService">
<link itemprop="additionalType" href="http://www.productontology.org/doc/Wedding_photography" />
<b><span style="color:#88cccf; font-size: 15pt" itemprop="member" itemscope itemtype="http://schema.org/Organization">Velvet Bliss Photography</span></b><br>
<em>Photography by <span itemprop="name">Brett McNally</span></em><br> <br>
<div>
I am a professional freelance <span itemprop="jobtitle">photographer</span> based in <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="addressLocality">Wareham</span>,
<span itemprop="addressRegion">Dorset</span>. I provide <span itemprop="name">Wedding Photography</span> & <span itemprop="name">Portrait Photography</span> services in Dorset and I take on commissions for wedding photography all over the <span itemprop="addressCountry">UK</span>, as well as internationally for destination weddings.
</div><br>
<div>Contact me: <span itemprop="telephone">07470 201325</span>
</div>
<link rel="author" href="https://plus.google.com/u/0/117967472486546237170">
<link rel="publisher" https://plus.google.com/u/0/114441860370278522542">
<br>
<em><span style="font-size: 9pt">You can also find me on these social media websites:</span></em>
I've had structured markup set up on a website now for around a week and Google has indexed about 20% of it however it's still not displaying. After checking the markup was correct in the validating tool I noticed this:
Everything looks fine other than the
offers [Offer]: http://www.website.co.uk/price-excluding-tax-990
Now take a look at the source code:
<div class="product-view" itemscope itemtype="http://schema.org/Product">
<span itemprop="sku">PM90-0100</span>
<div class="product-name">
<h1 itemprop="name">Basket PM90-0100</h1>
</div>
<p class="availability in-stock">Availability: <span>In stock</span></p>
<div class="price-box">
<span class="price-excluding-tax">
<span class="label">Excl VAT: </span>
<span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="price" id="price-excluding-tax-990">
<link itemprop="availability" href="http://schema.org/InStock"/>
<meta itemprop="priceCurrency" content="GBP" />
<span itemprop="price">£30.00</span>
</span>
<div itemprop="description" class="std">This is a brand new basket to fit various Freerider mobility scooters.</div>
[code continues...]
Does this all look symantically correct? Somehow in Webmaster Tools it is grabbing the price-excluding-tax-990 ID and using it in the offers [Offer]: - which seems odd.
I have the following HTML which is indexed by Google Custom Search. I am using Microdata with Schema.org.
<p>
<link itemprop="url" href="/static/Books/A_Good_Foundation.pdf">
<a href="/static/Books/A_Good_Foundation.pdf" onclick="trackOutboundLink(‘A Good Foundation’);">
<button type="button" class="btn btn-default btn-md">
<span class="glyphicon glyphicon-book"></span> Read
</button>
</a>
</p>
I want to be able to get itemprop on the URL not the HTML page which hosts the URL. I can't modify the PDF.
Any ideas?
You're already declaring the .pdf URL to be the URL of the book, although your code doesn't show the itemtype to which your itemprop belongs. The <link> isn't necessary unless it's required for other purposes: the url property can just as readily be attached to the URL.
<p itemscope itemtype="http://schema.org/Book">
<a itemprop="url" href="/static/Books/A_Good_Foundation.pdf" onclick="trackOutboundLink(‘A Good Foundation’);">
<button type="button" class="btn btn-default btn-md">
<span class="glyphicon glyphicon-book"></span> Read
</button>
</a>
</p>
sdsf
We are developing a new site and I'm keen to implement rich snippets and more descriptive meta data for our products and services pages in the form of Rich Snippets.
My problem is that our products and services cannot be purchased directly from the website as they are bespoke and custom built based upon users requirements. As a result they don't have a price and stock level.
I notice from the Google guidelines that they state:
The product should be available for purchase directly on the page
My question is, what is the best and most appropriate way to use rich snippets to describe these products and services? Can I use rich snippets at all to describe these products and services?
Consider using schema.org/AggregateOffer for Product Rich Snippets. Although main use case for it is marking one product available from different sellers, it seems suitable for you as well. It allows to indicate lowest and highest price - I guess you have some price limits even for bespoke products.
If you have reviews for those products on your site Review Rich Snippets are applicable for you. Use schema.org/Review or schema.org/AggregateRating for this.
Example for both:
<div itemscope itemtype="http://schema.org/Product">
<img itemprop="image" src="cute_dress.jpg" />
<span itemprop="name">Very Cute Dress</span>
<div itemprop="aggregateRating"
itemscope itemtype="http://schema.org/AggregateRating">
<span itemprop="ratingValue">87</span>
out of <span itemprop="bestRating">100</span>
based on <span itemprop="ratingCount">24</span> user ratings
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/AggregateOffer">
<span itemprop="lowPrice">$1250</span>
to <span itemprop="highPrice">$1495</span>
</div>
</div>
will give you
Breadcrumbs is another option for you. Use data-vocabulary.org for this purpose since breadcrumbs in schema.org are messy and incomplete.
Example:
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="http://www.example.com/dresses" itemprop="url">
<span itemprop="title">Dresses</span>
</a> ›
</div>
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="http://www.example.com/dresses/real" itemprop="url">
<span itemprop="title">Real Dresses</span>
</a> ›
</div>
<div itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="http://www.example.com/clothes/dresses/real/green" itemprop="url">
<span itemprop="title">Real Green Dresses</span>
</a>
</div>
will give you