Structured data logo is not visible in Google Search - magento2

We have one website on Magento where we added the structure data for the website logo and contact. Here is the code:
{
"#context" : "http://schema.org",
"#type" : "Organization",
"name" : "Website Name",
"url" : "https://www.website.com/",
"logo" : "https://www.website.com/pub/media/logo/stores/1/logo_1.png",
"contactPoint" : [{
"#type" : "ContactPoint",
"telephone" : "+1-111-222-333",
"email" : "in...#website.com",
"contactType" : "customer service"
}],
"sameAs" : [
"https://www.facebook.com/website-World-LLC-258456985/",
"https://twitter.com/Website",
"https://www.linkedin.com/company/website-url-llc",
"https://plus.google.com/+websiteUrl/about",
"http://www.pinterest.com/website/"
]
}
We have validated the code onto the structured data testing tool and there is no issue on that.
We added this code since before 6 months but still, logo, contact and the social icon does not show in the Google Search: https://prnt.sc/jlnvrs
Also, we added the Google schema for the product reviews on the website and validated on the structured data testing tool and there is no issue on that but still reviews are not displayed on Google search result.
Can anyone have an idea, why the business logo is not displayed on this?

According to the Google guide to Logo:
The image must be 112x112px, at minimum.
Your logo that you specified does not have the required sizes. Create a match for this requirement by Google.
Also in this guide says:
The image URL must be crawlable and indexable.
However, your logo does not match this: with the operator site and with the operator info.
Create also a match with this requirement.

Related

Multiple Responses with Dialogflow (aka Api.ai)

I'm trying to create a chatbot which once "greetings" process is done goes on and initiate a new topic without any user query. It has to be something like the following:
bot : hello
user : hello
bot : how old are you?
user : 35
bot : Great.
bot : Let's talk about politics. Are you american?
Until the "great" line everything works but then I cannot trigger the event that will prompt the line "Let's talk about politics...."
The doc is vague, can I do this without webhooks? And if not, how would a webhook like this look like?
You can define multiple responses in Dialogflow's console as seen in the screenshots below by clicking the Add Message Content button in the response section of the intent you'd like to add the response to. You can also send multiple messages for some platforms (depending on platform feature availability) with webhook fulfillment using rich messaging responses documented here: https://dialogflow.com/docs/rich-messages
Go to the response section of the intent you'd like to add a 2nd response to:
Click ADD MESSAGE CONTENT and select Text response:
Enter you second message in the second text box provided:
Yes, you can define multiple responses. If you are planning to use Facebook Messenger platform to show the responses you can use the code below. Change "Response 1" and "Response 2" to your desired text and dump the my_result object as json and return it back. You need to change the "platform" if you want to use any other platforms than messenger.
my_result = {
"fulfillmentMessages": [
{
"text": {
"text": [
"Response 1"
]
},
"platform": "FACEBOOK"
},
{
"text": {
"text": [
"Response 2"
]
},
"platform": "FACEBOOK"
}
]
}

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.

Auto create google groups from sheets

Searched the net, youtube, and google forums/documentation but can't seem to find this one even if it is possible.
I'm using a google form as a starting point for a workflow that then gets turned into a google group. Is there any scripts that can auto create a google group from the google forms output in sheets once form is submitted?
Thanks in advance.
I haven't tested this yet, so just give it a try. This is what I've found. Directory API let's you create a group by making a POST URI request:
https://www.googleapis.com/admin/directory/v1/groups
with request body:
{
"email": "sales_group#example.com",
"name": "Sales Group",
"description": "This is the Sales group."
}
Since you are using Google Forms, the option would be to use AppScript to perform the XHR request.
Try to make use of Class UrlFetchApp in Appscript.
var options =
{
"method" : "post",
"payload" : payload
};
UrlFetchApp.fetch("http://example.com/upload_form.cgi", options);

real time updates for facebook page blues

i am having a heck of a time getting facebook real time updates to work for a page. true, this question may have been asked - more than once - but i have not seen a definite routine given as an answer. mostly just disjointed suggestions. as a disclaimer - allow me to add i have read the documentation all over many times. you will see this when i post my routine. i am getting no updates after all of this.
create a page. named Testerthree, category : brands & products : app page, website : _http://< mydomain >.com, page id :
developers.facebook.com
i create an application : Testerthree
a. settings : Testerthree namespace : tester_three
b. create a platform : website : Site URL : Mobile Site URL : _http://< mydomain >.com
c. add a platform : page tab :
Page Tab Name : Testerthree Secure Page Tab URL : _http://< mydomain >.com
d. app domains : _http://< mydomain >.com
e. app details : i fill out all the info for the top box. category : apps for pages
this is where things get kinda weird. there's a button there under "App Page" to create a new page for the app....sometimes this works automatically and sometimes it doesnt. basically i do know now how to connect a page to this field. however erratic the process is. basically, listed here for "App Page" - is a page i created with the same name : Testerthree
app id : < app id > app secret : < app secret >
so at this point what i would have is a page : Testerthree
and an app : Testerthree
I have the page listed in the App Details page as the role of App Page
then i begin trying to get the requests to query and configure facebook. this process appears to work, and create a subscription, but nothing is ever sent from my page to my server through the app. if i subscribe to USER fields through the app, they update. if i subscribe to the PAGE fields, i get no update. either way, here goes :
get access token :
_https://graph.facebook.com/oauth/access_token?client_id=< app id >&client_secret=< app secret >&grant_type=client_credentials
not sure if this is needed, but it was a piece of the puzzle i never let go :
_https://graph.facebook.com/oauth/authorize?client_id=< app id >&redirect_uri=_http://< mydomain >.com/fb/return.php&scope=manage_pages,offline_access,read_stream
creating the subscription :
_https://graph.facebook.com/< app id >/subscriptions?access_token=&object=page&fields=feed,description,general_info&verify_token=&method=post&callback_url=_http://< mydomain >.com/fb/facebook-subscribe.php
now i DO have the entry point on my server at _http://< mydomain >.com/fb/facebook-subscribe.php
the code in it looks liike the code specified here (facebook-subscribe.php) :
http://mwc.byteshaman.us/fb/fbsubscribe-code.php
which should take any post data and output to a file. honestly prior to all this i put a small random fopen, to create an output txt file, if this .php is ever viewed or pinged. when i create the subscription, the txt is made. when i test my subscription, no txt is made.
either way
i check the subscription with this :
_https://graph.facebook.com/< app id >/subscriptions?access_token=&method=get
and it DOES show a subscription like this :
{
"data": [
{
"object": "page",
"callback_url": "_http://mydomain.com/fb/facebook-subscribe.php",
"fields": [
"description",
"feed",
"general_info"
],
"active": true
}
]
then i connect the page with the app with this :
_https://www.facebook.com/dialog/pagetab?app_id=< app id >&redirect_uri=http://< mydomain >.com/fb/return.php
this is an insane amount of steps to subscribe to a feed. cheers to facebook. someone please aim me in the direction to the part in their documentation where they give one complete cohesive example of any of this....
well, it appears as if i have a subscription setup after all this. the page is listed in my app details. the subscription is showing subscribed.
yet when i update my page feed, or change some of the description data (which is supposed to be subscribed to) I get nothing.
anyone please help?i've done all the homework possible, and this post is my last attempt after 3 days, before gaining the absolute belief that this routine is impossible and there's actually no such thing as realtime updates for facebook pages, like the Easter bunny, or Santa claus.
is it possible? does anyone know the routine? can anyone identify where i messed up?
thank you.
i have the answer : cron jobs. the facebook real time api is erratic when it comes to pages. the solution was to never use the facebook realtime update api and just use a cron job instead. thanks for playing. there was no winner or loser.

Graph API direct message for page: how to retrieve link to attached file

I need to store the link to a file attached to a direct message (for a page, retrieved with "/conversations"). How can I do that?
I know how to get the link of an image. The JSON-object for an image ("attachments") contains the tag "image_data", which contains the tags "url" and "preview_url" for accessing the image.
For attached files (in my case e.g. a PDF), FB only sends "id", "mime_type", "name" and "size", but no additional data. Example:
"id": "m_id.158623824339344"
....
"attachments": {
"data": [
{
"id": "7b84fd4c0f18fb4060ae0fe0dcfeb42e",
"mime_type": "application/pdf",
"name": "Attachment1.pdf",
"size": 80798
}
]
}
But when I log into FB as a user and click the attachment in the browser, I get this link:
https://www.facebook.com/ajax/messaging/attachment.php?attach_id=<attach_id>&mid=id.<mid>&pageid=<pageid>&ext=<ext>&hash=AQCafpYeZj2pSjRk
By trial and error I found out that it is possible to access the file without the "hash" and "ext"-part. This means that in theory I am able to generate this link in my application ("attach_id" and "mid" are provided with the message and I know my pageid).
But this seems to be very unreliable. This link might change anytime, breaking my application.
I searched a lot but couldn't find any documentation about this. Does anybody know a better solution? Or can someone point me to some documentation regarding this issue?
Thanks a lot!
Barbara
Sorry this is not available as of v2.5.
If this becomes a new feature in the future, you should be able to find it in the documentation:
https://developers.intern.facebook.com/docs/graph-api/reference/v2.5/message/attachments