Google Schema Tag for site ratings/reviews not working - schema.org

I've added Schema Tags in order to show star ratings in google search like in the screenshot
I've added the below code
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "WebSite",
"url": "https://mysiteexample.com",
"potentialAction": { "#type": "SearchAction",
"target": "https://mysiteexample.com/search/?keyword={search_term_string}",
"query-input": "required name=search_term_string" },
"aggregateRating": {
"#type": "AggregateRating",
"ratingValue": "4.8",
"bestRating": "5.0",
"ratingCount": "45"
}
}
</script>
But it not being shown by google. I don't know what the problem is. I've also verified the schema tag from schema analyzer and its alright. Please help me understand what i'm I doing wrong here. Thanks in advance.

Google does not always show review stars, even if the markup is syntactically correct. Check the Google structured data guidelines.
Some possible reasons:
WebSite is not a specified type that can get review stars
The page with the markup should clearly relate to what is being
reviewed
The reviews should be very visible on the page
The reviews should be directly acquired by the page (submit review
option?)
Home pages do not get review stars

Related

"There is an error in your Sitelinks Search Box template: INVALID_SYNTAX"

The following error occurs on all pages of my site:
https://www.newworldproductions.net/{search_term_string}Video, Production, Services, Marketing, Minneapolis, Minnesota, Corporate Videos, Commercial Videos (There is an error in your Sitelinks Search Box template: INVALID_SYNTAX.)
The error takes place on line #9:
{
"#context": "https://schema.org/",
"#type": "WebSite",
"name": "New World Productions",
"url": "https://www.newworldproductions.net/",
"potentialAction": {
"#type": "SearchAction",
"target": "https://www.newworldproductions.net/{search_term_string}Video, Production, Services, Marketing, Minneapolis, Minnesota, Corporate Videos, Commercial Videos",
"query-input": "required name=search_term_string"
}
}
It would seem that the target is implemented wrong, as detailed in this article. There is no need to list your desired search terms in the string, and you aren't even looking for a query in your current code anyway. Try implementing the following:
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "WebSite",
"url": "https://www.newworldproductions.net/",
"potentialAction": {
"#type": "SearchAction",
"target": "https://query.newworldproductions.net/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script>
Also, keep in mind that not every website qualifies for the searchAction schema. If they did, everyone would be doing it. There are guidelines, which are touched on in the linked article. More research may be required on your part.

how to show an image in gmail inbox preview

I have been receiving promotional emails with an image along with the subject line. i have seen this only in Gmail.
Not emojis, but image preview right below the subject line portion in the inbox preview
The emails are much more catchy with this. I have been checking google for a while to see what this feature is called but could not find any clue on the same.
Any information on this is Greatly appreciated.
Gmail Promotion Annotation
Since 2018 you can, indeed, add images with a preview in Gmail by using JSON-LD markup in the email's head.
Gmail Promotions Tabs can have/show:
Logo
Image
Subject
Deal Badges with Dates Frames
Discount Code within a Badge Design
The customization is quite strict, as of now, but the google guidelines are commented in the code snippet below:
<script type="application/ld+json">
[{
"#context": "http://schema.org/",
"#type": "Organization",
// WARNING: Before sending email, either point the logo
// at your own image or delete the logo annotation.
//
// If showing a logo, we recommend using an https URL.
// It's not a requirement today, but may be in the future.
"logo": "https://www.gstatic.com/images/branding/product/1x/googleg_48dp.png"
},{
"#context": "http://schema.org/",
"#type": "EmailMessage",
// Use this optional alternative subject line to avoid duplicate text
// between the subject, deal badge, and discount code.
"subjectLine": "[Important] Please add subject line in annotation"
},{
"#context": "http://schema.org/",
"#type": "DiscountOffer",
// Describe your discount, this will be shown as a badge (eg "25% off" or "free
shipping")
"description": "20% off",
"discountCode": "PROMO",
"availabilityStarts": "2019-07-21T03:42:38-07:00",
"availabilityEnds": "2019-07-24T03:42:38-07:00"
},{
// Promotion card with single image.
// We recommend using an https URL. It's not a requirement today, but may be in
the future.
// Any image size will work and will just be cropped automatically.
// GIF & WEBP images are not supported and will be filtered out.
// Sample image is 538x138, 3.9 aspect ratio
"#context": "http://schema.org/",
"#type": "PromotionCard",
"image": "https://www.google.com/gmail-for-marketers/promo-tab/markup-
tool/sample.png"
}]
</script>
Resources for this answer can be found in Google Developers Documentation:
Promotion Tab Documentation
enter image description here
This is the image of gmail inbox preview for product listing.
Add a Event onmouseover=FuntionName() to each GridView row, and show the popup which will include the message. But get it from client side

Google email markup not showing

I'm trying to make a simple view action using Email markup from Google inside my emails (https://developers.google.com/gmail/markup/reference/go-to-action#view_action)
I use this ld+json inside my email template
<script type="application/ld+json">
{
"#context": "http://schema.org",
"#type": "EmailMessage",
"potentialAction": {
"#type": "ViewAction",
"target": http://google.com",
"url": "http://google.com",
"name": See ticket"
}
}
</script>
I used Google email markup tester to valid this code.
I use registred emails (https://developers.google.com/gmail/markup/registering-with-google)
But I still can show the emails markup on Gmail.
Did I miss something ?
Do you have any clues ?
Thanks

Google Structured Data Delegation

I am attempting to get events to show up in the Google Knowledge panel for a business. I have created an organization SD JSON object in the header of the business homepage and delegated the events to another website with proper event markup (microdata) on the page.
I used the following documentation
https://developers.google.com/search/docs/data-types/events#delegation_markup
I have had Google reindex the page and the structured data object shows up in the cached version of the website. I have also waited 3 days before posting here to ensure it had time to get captured by Google and related in searches.
I would like to know if there is something wrong with the following markup, etc in order to get the delegated events to show up in the Google Knowledge panel.
<script type="application/ld+json">
{
"#context":"http://schema.org",
"#type":"Organization",
"legalName":"Diversified Design and Manufacturing",
"address":"165 Boro Line Road, King of Prussia, PA 19406",
"email":"www.diversifieddesignmfg.com/",
"telephone":"(610) 337-1969",
"event": "http://www.burbio.com/groups/diversified-design-and-manufacturing"
}
Also I noticed most release notes and documentation refers to MusicGroups, etc. Is event delegation supported for Organization type SD objects?
Google provides the following information for trouble-shooting events:
Troubleshooting events in Knowledge Graph cards
Knowledge Graph card display is governed by a complex algorithm, so if you don’t see your artist or your artist’s events in the Knowledge Graph card, try these steps:
Make sure that the artist is in both Wikipedia and MusicBrainz, and that the artist's official home page is recorded properly on both those sites.
For events missing from a Knowledge Graph card, check that the events
are shown correctly with no errors in the Structured Data Testing
Tool.
If all fields look correct, report the missing events using the Feedback link under the Knowledge Graph card in Google search.
Please report it asgeneral feedback and be sure to use the term events in your description of the problem.
It also states that event information should come from the *ticket seller's website** and that you cannot use delegation to link to your own website.
SOLUTION -
Firstly, it appears only certain artists are expected to appear in Knowledge Graph Events.
Secondly, your structured data does not contain any information about the specific event, eg start or end time, location or name. The event field must be of type http://schema.org/Event OR a hyperlink to a webpage with http://schema.org/Event markup - the link you included does not refer to any specific event.
If the destination does not contain http://schema.org/Event structured data you can include it manually by nesting it inside http://schema.org/Organization (not delegate) event data inside the Organization as follows:
<script type="application/ld+json">
{
"#context":"http://schema.org",
"#type":"Organization",
"legalName":"Diversified Design and Manufacturing",
"address":"165 Boro Line Road, King of Prussia, PA 19406",
"email":"www.diversifieddesignmfg.com/",
"telephone":"(610) 337-1969",
"event": {
"#context": "http://schema.org/",
"#type": "Event",
"name": "Chinese New Year Festival",
"url": "http://chinesenewyear-2017.org/festival"
"startDate": "2016-01-28T06:00",
"description": "The best Chinese New Year party in 2017",
"location": {
"#type": "Place",
"name": "Missoula, MT",
"url": "http://www.missoula.com/",
"address": {
"#type": "PostalAddress",
"addressLocality": "Missoula",
"addressRegion": "MT"
},
}
}
Google requires certain fields to be included, such as startDate, Location, see at the bottom of this page from google's documentation
Finally, in your example code the email field contains a website URL - not an email address.

How to get social media links from Google Knowledge

Currently I'm working on a project that require me to collect celebrities followers number (from instagram or facebook).
To get that number, i have to get
1. celebrities instagram link
2. celebrities facebook link
3. send a request to instagram or facebook API to get their followers number
I have been researching for google knowledge API for celebrities instagram and facebook link. but what I get from it isn't satisfying.
For example, I put a request on google Knowledge,
https://kgsearch.googleapis.com/v1/entities:search?query=Ariana+Grande&limit=1&indent=1&key={API-CODE}
and the result is
{"#context": {
"#vocab": "schema.org/",
"goog": "schema.googleapis.com/",
"EntitySearchResult": "goog:EntitySearchResult",
"detailedDescription": "goog:detailedDescription",
"resultScore": "goog:resultScore",
"kg": "g.co/kg"
},
"#type": "ItemList",
"itemListElement": [
{
"#type": "EntitySearchResult",
"result": {
"#id": "kg:/m/09gkdy4",
"name": "Ariana Grande",
"#type": [
"Thing",
"Person"
],
"description": "Singer",
"image": {
"contentUrl": "t0.gstatic.com/images?q=tbn:ANd9GcS3KH3ae6ChLCPLguyQXbLbEXDTNMZ1Sb2LsMx6Vr-pjeuHg5AZ",
"url": "da.wikipedia.org/wiki/Ariana_Grande",
"license": "creativecommons.org/licenses/by/2.0"
},
"detailedDescription": {
"articleBody": "Ariana Grande-Butera, known professionally as Ariana Grande, is an American singer and actress. She began her career in the Broadway musical 13, before landing the role of Cat Valentine on the Nickelodeon television series Victorious in 2009. ",
"url": "en.wikipedia.org/wiki/Ariana_Grande",
"license": "en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"
},
"url": "www.arianagrande.com"
},
"resultScore": 802.862244
}
]
}
There's no information regarding her instagram or facebook link from the result, but if we search manually on google, it shows her instagram and facebook link on search result.
My question are:
1. Any way to get those link from Google knowledge?
2. Or any easier way to get follower number from celebrities beside my way? (jugling from 2-3 different APIs)
Thanks.
I really appreciate any comment and help.
You can use wikidata.org. There are steps:
Search https://www.wikidata.org/w/api.php?action=wbsearchentities&search=Ariana+Grande&language=en&format=json
{"searchinfo":{"search":"Ariana Grande"},"search":[{"id":"Q151892","concepturi":"http://www.wikidata.org/entity/Q151892","url":"//www.wikidata.org/wiki/Q151892","title":"Q151892","pageid":153289,"label":"Ariana Grande","description":"American actress, singer, composer and dancer","match":{"type":"label","language":"en","text":"Ariana Grande"}}],"success":1}
Get id Q151892 from the response and get the entity https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q151892&format=json&props=claims
There is a big response. You need the value arianagrande of claim P2003 from a list of claims. It refers to Instagram username (P2013 for Facebook)
Get public info from https://www.instagram.com/arianagrande/?__a=1
user:
follows:
count
followed_by:
count
media:
count