Free Website Tips
Recent Twitter Posts
Facebook OpenGraph Error - Extraneous Property: Objects of this type do not allow properties named
When I used Facebook's Debugger (Linter) to peek at how Facebook parses the advanced OpenGraph data I'd included, I was greeted by errors like:
|Extraneous Property:||Objects of this type do not allow properties named 'og:longitude'.|
|Extraneous Property:||Objects of this type do not allow properties named 'og:latitude'.|
|Admins And App ID Missing:||fb:admins and fb:app_id tags are missing. These tags are necessary for Facebook to render a News Feed story that generates a high clickthrough rate.|
And perhaps most frustrating, even though I had clearly set:
|Meta Tag:||<meta property="og:type" content="restaurant" />|
In spite of the Debugger reading that in, it ignored it and still set og:type to website:
And I wasn't the only one who had run into something similar. A bunch of folks had posted similar issues on StackOverflow and elsewhere. Some answers focused on adding the fb:app_id - which is a good idea, but doesn't solve the og:type and extraneous property issues.
Worst of all, the examples I had modeled my meta tags after came directly from Facebook's OpenGraph documentation. Finally, I came across a Facebook documentation page listing the Built-in Object Types. The listed types didn't correspond at all to the types I had seen listed before (which included og:type restaurant and og:type product, hotel, activity, landmark, etc., etc.
Here is the full error listing:
Turns out, in September 2011 Facebook revamped their OpenGraph implementation and wiped out the old pre-built types. They were replaced with the new "Built-in Object Types" and for any others you could build your own custom objects and actions for your app. There is a video by Facebook explaining it all from a high-level.
I noticed later, the original documentation page I had found was actually (inconspicuously) listed under "Archived" documentation - would have been nice to make it a bit more obvious!
In short, here is what it means for your website:
- You must use one of the new Built-in Object Types (or create your own custom object types)
- It is a good idea to define your fb:app_id meta tag as Facebook now links everything back to apps and profile pages.