Open graph warnings when validating page with facebook object debugger? - facebook

I have those open graph tags on demo.outsourceproject.co.uk:
<meta content='Demo Shop' property='og:title'>
<meta content='restaurant' property='og:type'>
<meta content='http://demo.lvh.me:3000/images/screenshots/layouts/005_small.jpg' property='og:image'>
<meta content='http://demo.lvh.me:3000/categories/15-starters' property='og:url'>
<meta content='demo#ordys.co.uk' property='og:email'>
<meta content='02010203040' property='og:phone_number'>
<meta content='78 York Street ' property='og:street-address'>
<meta content='London' property='og:locality'>
<meta content='W1H 1DP' property='og:postal-code'>
<meta content='United Kingdom' property='og:country-name'>
When I validate it with with facebook object debugger it reports warnings like:
Extraneous Property:Objects of this type do not allow properties named og:email.
Do you have any idea why og:email, og:locality etc it is not allowed for og:type=restaurant?
Thanks,
Michal

Those are all deprecated. See http://ogp.me/ for the markup.
You can make your own schema's using the Open Graph section of the developer app. http://developers.facebook.com/apps

is there a better url for us to look at?
"Error Parsing URL: Error parsing input URL, no data was scraped."
I'm thinking you might have a 301/302 redirect happening. I don't think the linter tool likes to do 302 redirects.

Related

Facebook Scraper and Angular App with HTML5Mode Hashbang urls

I added seo support in my Angular app
http://staging.lovented.com
I configured Html5Mode including Hashbang urls
$locationProvider.html5Mode(true).hashPrefix('!');
By doing this both urls are valid
http://staging.lovented.com/contest/extension_test_contest
http://staging.lovented.com/#!/contest/extension_test_contest
Then I setup the meta tags like
<meta name="description" content="{{description}}">
<!--Facebook Meta Tags-->
<meta property="og:title" content="{{title}}" />
<meta property="og:url" content="{{siteUrl}}#!{{contentUrl}}" />
<meta property="og:description" content="{{description}}" />
<meta property="og:image" content="{{serviceUrl}}{{imageUrl}}" />
If I go to this page http://staging.lovented.com/contest/extension_test_contest
the meta tags set dynamically, the way google crawl the site by appending escaped fragment at the end of url and system will take the snapshot. You can click on the below link and see the source of the page. Everything is there.
http://staging.lovented.com/contest/extension_test_contest?_escaped_fragement_=
But the way facebook crawler would work, it looks for #! in the url and replace it with escaped fragment so for fb share I would share this url http://staging.lovented.com/#!/contest/extension_test_contest
But If I run this url in Facebook Debugger, it not seems to scrape the site.
https://developers.facebook.com/tools/debug/og/object/
So, Google crawler would definitely work but I am not sure why Fb not scrape my page. Any suggestion please?
It is because facebook is not using <meta name="fragment" content="!"> when scraping, so if there is no #! in url - facebook will fetch it as a regular page without adding _escaped_fragment_ query parameter…
The same is true for other social networks(at least it was, when I was doing SEO for my application)…
To handle this issue you can add detecting based on user agent.
There is good examples how this can be done from prerender.io:
Apache: https://gist.github.com/thoop/8072354
Nginx: https://gist.github.com/thoop/8165802

Facebook og:image ignored when og:url points to location other than current url

I'm trying to define a Facebook Open Graph Object for the URL http://www.storeyourboard.com. Therefore, I include a Facebook meta tag for this URL in my code:
<meta property="og:url" content="http://www.storeyourboard.com" />
I would like to specify the image used for this object. Therefore, I include a Facebook meta tag for this image in my code:
<meta property="og:image" content="http://spirecollective.com/temp/gopro/img/gopro_promo.jpg" />
The URL on which I am trying to create this object is located here: http://spirecollective.com/temp/gopro/
I used the Facebook debug tool to see if the object is created successfully. You can repeat this by visiting the Open Graph Object Debugger and debugging the url mentioned above.
As you will see, the Facebook scraper seems to be ignoring all of the meta tags on my page, and instead being redirected to the og:url location. It's then reading the meta tags from that page instead of the ones specified on my website.
Here are all of the meta tags on my site for reference:
<meta property="og:title" content="I just registered to win a GoPro Hero 3 Camera!" />
<meta property="og:site_name" content="StoreYourBoard.com" />
<meta property="og:description" content="StoreYourBoard.com features board racks and accessories for however you shred. Reshare this post to be entered to win a GoPro Hero 3 camera!" />
<meta property="og:url" content="http://www.storeyourboard.com" />
<meta property="og:image" content="http://spirecollective.com/temp/gopro/img/gopro_promo.jpg" />
Is this the intended behavior? Why is Facebook ignoring all of my meta tags? The open graph object documentation does not mention anything that would make me think this is expected behavior. Am I missing something here? Thank you very much for the help!
Your og:url should be
http://spirecollective.com/temp/gopro/
and not
"http://www.storeyourboard.com"
From http://ogp.me/#metadata:
og:url - The canonical URL of your object that will be used as its permanent ID in the graph, e.g., "http://www.imdb.com/title/tt0117500/".

Why can't the Facebook Debugger Tool scrape my website?

I have a website at http://predictstat.com/. It's powered by Django. I would like to make sure that when a user posts a link from this website onto Facebook, a nice preview image, title and description show up there. This website can also be accessed by using a different domain name: http://percephany.com/. However, I don't really want to use that. I want it to be known to the world as predictstat.com.
To test the Facebook linking/previewing, I have been using the Facebook Debugger Tool. These are the meta-tags that are in my index.html page:
<meta charset="utf-8" />
<meta property="og:url" content="http://predictstat.com/" />
<meta property="og:image" content="http://predictstat.com/static/images/predictStatLogo.png" />
<meta property="og:title" content="predictStat" />
<meta property="og:description" content="Online prediction logging and tracking" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
When I ask the Facebook debugger tool to scrape http://predictstat.com/, It gives me the following error:
Error Parsing URL: Error parsing input URL, no data was scraped.
However, when I change the meta tags to refer to percephany.com instead of predictstat.com, and then ask the Facebook Debugger tool to scrape http://percephany.com/, it works perfectly fine.
Why is this the case? Why does the Facebook Debugger tool like the domain name http://percephany.com/, but dislike the domain name http://predictstat.com/ when they both point to the same underlying website?

Facebook - Object Debugger - Error Parsing URL

For this URL I am getting the following message from the lint tool -
Error Parsing URL Error parsing input URL, no data was scraped.
URL...
http://apps.facebook.com/mischiefshoes/?entry_id=201012
Full link to Canvas frame...
https://www.mischiefshoes.co.nz/facebook/competition/?entry_id=201012
When going to post a open graph action this error is logged...
OAuthException: (#3502) Object at URL http://apps.facebook.com/mischiefshoes/?entry_id=201012 has og:type of 'website'. The property 'shoe' requires an object of og:type 'mischiefshoes:shoe'.
Yet my og meta tags are as follows:
<meta property="og:title" content="Michael R. J. Crosbie's favourite shoe"/>
<meta property="og:description" content="Michael R. J. Crosbie's favourite shoe in the mischief shoes instashoe competition. Win $2000 worth of shoes every month - upload your own today!"/>
<meta property="og:image" content="https://www.mischiefshoes.co.nz/media/client/resources/instashoe/201012/237x_scale/Ciara_Misfits.jpg"/>
<meta property="og:site_name" content="MISCHIEF SHOES • WIN FREE SHOES"/>
<meta property="fb:app_id" content="256092351106970"/>
<meta property="og:type" content="mischiefshoes:shoe" />
Any help would be much appreciated! Cheers, Michael
It appears to be a response time issue. When I take a look at your page in Chrome or using a third party speed test I have to wait over 11 seconds for your server to respond.
Facebook's servers are probably timing out before your server responds.

Unexpected values returned when using facebook open graph and a like button

I have the following HTML in my HTML head:
<meta content="***" property="fb:admins">
<meta content="***" property="fb:app_id">
<meta content="Site.com" property="og:site_name">
<meta content="http://site.com/thumbnail.png" property="og:image">
<meta content="activity" property="og:type">
<meta content="Test Title" property="og:title">
<meta content="http://site.com/page/?Id=56&Source=" property="og:url">
<meta content="Test Activity Description" property="og:description">
But rather than the details I have specified showing up in my facebook feed, instead I get a link to site.com/page (without the URL variables after it), the title seems to be coming from the <title> rather than the <meta content="Test Title" property="og:title"> and the description is coming from the first <p> on site.com/page (which isn't there when you include the URL variables)
any idea what I am doing wrong?
EDIT
Running the page through linter has thrown up some interesting issues.
http://developers.facebook.com/tools/lint/?url=http%3A%2F%2Fwaggleb.com%2F12454874521145474-2%2F
The problem seems to stem from the fact that the image, the URL, the title and description are generated using javascript. When facebook calls back does it not allow the JS to run before fetching the results?
I need to change the data with javascript unless there is a way to pass the whole page through PHP, pick out the data I need and then place the correct URL, title, description and image into the meta tags. I do not have direct access to the database, so I must retrieve this data from the DOM
Maybe it was cached by facebook before you put in these tags.
Try to clean them in Linter: http://developers.facebook.com/tools/lint/