Open Graph product schema enum property values - facebook

I would like to know what are the allowed values for the Open Graph og:product type, og:availability property. It is defined as an enum property (see http://graph.facebook.com/schema/og/product#availability).
I have struggled for a while trying to make Open Graph product tags work according to Pinterest Rich Pins specification without any success. (see http://developers.pinterest.com/rich_pins/ -> Open Graph -> availability). The example there works fine, both Facebook and Pinterest debuggers parse it correctly.
<meta property="og:availability" content="instock" />
But if this value is changed by any of the ones which are described in the Rich Pins documentation (in stock", "preorder", "backorder", "out of stock", "discontinued"). Both Facebook and Pinterest debuggers fail to parse the content of this og:availability property.
Also the documented value documented in Rich Pins for the meta tag property looks wrong to me but og:availability and product:availability are valid ones

The latest version of the Facebook documentation lists the following as valid values for the og:availability property: instock, oos, pending.

The correct answer for "instock" is "in stock" with space. After many tries, and consulting the product Schema, this works.

Related

Schema.org in JSON LD format recognized by Google, but Facebook pixel helper does not detect it

I have added schema.org tags in JSON LD format using <script>, when I test my page using Google structured data testing tool, I can see all my tags.
But, when I installed Facebook pixel helper chrome extension to test my page, schema.org tags were shown as blank. Not sure why Facebook pixel helper is not able to detect it.
Would appreciate any help.
I found that Facebook Pixel is more strict in its parsing of structured data. Blank line feeds in fields will cause it to throw up warnings. This occurred to me when I had line feeds in an address. The address was correctly interpreted by google, but Facebook Pixel put up warnings in the console.
Adding the following code resolved it in my case:
$address = preg_replace( "/\r|\n/", " ", $address );
Of course, as pointed out here JSON doesn't support real line-breaks.
Late for the party, but still for people who come here. FB pixel now supports JSON-LD: https://www.facebook.com/business/help/1175004275966513
For me, there was an error in multiple spaces (as I understand it). Therefore, I use this code:
$description = preg_replace("#\r|\n|(\s+)#iu", " ", $description);
The JSON extension also adds Schema markup in JSON-LD format for all other webpages, which Google prefers. “Facebook pixel” does not read Schema meta tags or JSON-LD (Pinterest reads Schema meta tags, but not JSON-LD – yet).
It sounds like you may be a bit confused – Facebook does not read Schema markup – Facebook reads Open Graph meta tags. You can find details of the standard here: http://ogp.me/.
FYI https://www.withintheflow.com/facebook-pixel-helper/
You might happen to have fbq('set', 'autoConfig', 'false') in the init call.
The Facebook pixel will send metadata to your pixel setup but in the init code if you have autoConfig set to false, Facebook Pixel will not send this additional information.

Google Structured Data Testing Tool error "url: missing and required" for Microdata markup of logo

I am trying to use Microdata to mark up my webpage. When I got to marking up the logo I am stuck, I keep getting the error "url: missing and required". Must I include a url when I am declaring logo as an item property?
Error in the Structured Data Testing Tool:
This error says that Google’s SDTT requires the url property for an Organization item. The value would be the URL of the organization (typically the homepage), not the URL of the organization’s logo.
Note that "requires" does not mean that you must provide the url property to have valid Microdata + Schema.org (neither Schema.org nor Microdata require any properties). It’s only Google that requires it for showing something based on your markup in Google Search (e.g., a Rich Snippet, or a Knowledge Graph feature like Corporate Contacts). If you don’t provide it, Google probably doesn’t show it, but nothing else happens.
You have organisation under organistaion. Remove Line 8 and 10.
you have a <a><a>...</a></a>

Implementing custom namespace for non-opengraph supported og:type objects

I've successfully added a Facebook like button to my page, using opengraph tags to define it as an object in the graph so it is liked as an object, rather than a link.
I am using an ogtype=product meta tag, but the Facebook parser generates an error (see below) which seems to be elated to the fact Facebook no longer support the "product" type.
When liking the object, it is shown as a "Product / Service". This seems good, but with the parser error, and a need to understand a bit more, I'd like to resolve it and take the advice given to implement my own custom type which I may full use later.
My pages are review pages for existing product (single object product, multiple reviews on the same page), so I need to define a custom namespace to be able to do this. However, I am not sure I am doing it right...
I'm a little confused in general because it seems I have to have an app in order to do this and define a custom object and action (even though I have no immediate plans to utilise an action).
So I have setup a namespace (mySiteName) in my "App" in Facebook and I have defined an object "ski" and action "review" (for later).
Then comes my custom name space declaration:
http://ogp.me/ns#mySiteName:
http://ogp.me/ns/apps/mySiteName#">
This initially passed the debug test, but then I noticed I had an extraneous tag which I removed and I got a load of new errors:
Initial debug error:
The parser's result for this metadata did not match the input
metadata. Likely, this was caused by the data being ordered in an
unexpected way, multiple values being given for a property only
expecting a single value, or property values for a given property
being mismatched. Here are the input property =>content pairs that
were not seen in the parsed result: 'og:type => product'
Code (no errors):
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{lang}" lang="{lang}" xmlns:fb="http://ogp.me/ns/fb#">
<head>
<head prefix="og: http://ogp.me/ns#mysitename: http://ogp.me/ns/apps/mysitename#">
<meta property="og:type" content="mysitename:ski" />
New debug error removing extra where only the mysitename namespace seems to be used:
Extraneous Property: Objects of this type do not allow properties
named 'og:mysitename:type'. Extraneous Property: Objects of this type
do not allow properties named 'og:mysitename:title'.
etc
Meta Tag: Meta Tag:
etc
Thanks for any input - I've been trying things for hours with no joy.
The parser works against the current Open Graph APIs, but 'og:type = product' is from the earlier version of the markup which was launched with the Like button in 2010 - documentation currently here: https://developers.facebook.com/docs/opengraphprotocol/
It should still work, but Facebook's Debug Tool won't pass it, as it's looking for tags associated with the Custom actions and objects markup used with the current version of the Open Graph
For custom objects, the title, etc should be added with og:title, not og:namespace:title tags, maybe that's the issue with your 'ski' object?
In the Open Graph settings for your app, the object definition has a 'get code' button beside it which includes sample tags for that object:
- see how that compares to what you're doing

Is it possible to "og:read" an "og:article" using Facebook's OpenGraph?

It appears that both "read" and "article" are built in actions / objects on Facebook's open graph. Unfortunately, it's not clear how to use the two together.
I tried to create a "my-namespace:read" action on the object "og:article", but I can't find the object "og:article." (even though https://developers.facebook.com/docs/opengraph/ lists article as a type).
This is a problem for me because I'm trying to register a user action on existing websites that already uses the open graph protocol. This page, for example, has the type "og:article." If I try to define my own "read" and my own "article", it won't work as FB will tell me "< said webpage > is of type 'og:article' and not of type 'my-namespace:article.'
Under Connected Objects, try choosing the "article" that appears in the typeahead when you don't have your own article defined. That is og:article.
You can also change the og type and it won't impact your existing likes.

Facebook Business LIKE box is giving an Open Graph error

You supplied an Open Graph type via
one of the supported meta tags, but
the type you specified "link" is not
valid.
The above is the error I get when the "LIKE" button is clicked.
I tried to set all sorts of OG meta tags. You can see the code live at http://luxe.sonikastudios.com
I looked at many different forums etc. but no clear answer is given. I don't even have an og type "link" specified.
I put my page through the linter provided by Facebook (http://developers.facebook.com/tools/lint/) and I don't see any errors coming up as far as I can tell (but then I don't even know what this screen is supposed to look like in case there is an error).
Any help would be appreciated.
Appears to be a known FB Bug: http://bugs.developers.facebook.net/process_bug.cgi
I think it doesn't like your <meta property="fb:link"> tag. Where did you get it from?
Just remove everything and leave only required params listed here. I would also recommend setting type to article. See if that works. If it does then start adding new params one by one until it fails.