I frequently get emails from users of SFC saying that their Like/Send buttons or Publish buttons are putting in weird content, or getting the wrong images, or things like that. Many presume it to be a bug in SFC itself or some kind of plugin incompatibility. Actually, it’s neither of those. You’re running into what I call the Facebook Cache.

See, Facebook does more than simply let you send things to their pages and so forth. More and more, they’re becoming a search engine. Facebook actually crawls the web, to some degree.

When you click a Facebook Like button, Facebook’s servers retrieve the webpage you’re viewing, and parse it for the OpenGraph meta tags. These tags tell Facebook what content to display for a link. The title, the image, maybe audio or video, etc. SFC does a pretty good job of automatically populating your entire website with these OpenGraph tags, invisibly (side note, Google+ will use these same tags, although they also have their own set of tags you can use too).

Generally, users who email me about this problem are just using SFC for the first time, and have previously had Like buttons on their page manually, or have been sharing their links on Facebook manually at some other point. This is where they run into the issue: Facebook caches the results of this crawl, usually for a long time. So when somebody clicks a Like button, it doesn’t have to pull the contents of the page if it’s already pulled those contents once before. So since SFC is now populating the OpenGraph meta tags, but FB is reading the cached version instead, the data doesn’t match up.

There’s a simple one-time fix for this problem. Facebook has made an OpenGraph debugger tool:

https://developers.facebook.com/tools/debug

On this page, you’ll find a simple box asking for a URL. Put in the URL of the page having the problem, and the tool will go and force retrieve the content of the page and display the parsed OpenGraph meta tags.

Now, this is meant to be a debugging tool for people trying to add OpenGraph tags to their site, but it has a rather nice side-effect. When it forcibly retrieves the page, it also updates Facebook’s cached info for that URL. So all you have to do to make Facebook see your updated content is to take the problem URL, put it in there, and hit the Debug button. Now go back to the page, refresh it, and try the Like/Send button again. Voila, it’s magically fixed to show whatever the Debugger tool saw.

So if you’re having trouble getting some particular page to work in the way you’re expecting, try the debugger tool on the URL first.

Shortlink:

11 Comments

  1. Cheers Otto, you are one of the few people I actually follow and listen to. Thanks for the update.

  2. […] Somehow, this handy tool clears the clutter and refreshes the page so that Facebook can grab the latest goodies. Here’s a much better technical explanation. […]

  3. Not sure you can help, but if you can it would be greatly appreciated. Facebook has labeled us as a SPAM site, and that was done before we ever posted any content on our site. We are just a small remodeling company and do not send out spam, wouldldn’t even know how. Is there anyway to have this corrected. We are unable to post our URL on facebook.

    Terry

  4. When I use debugger for http://on.fb.me/OGRaOK, it returns data, but when I enter the original url http://www.facebook.com/photo.php?fbid=10151107636908664&set=a.174891293663.123123.8010558663&type=1, it returns “Error Parsing URL: Error parsing input URL, no data was scraped.”. Can you please explain that?

    Thank you!

  5. How does a non-programmer debug fb issues. Since the last update the “like” button doesn’t respond on both my Nexus7 tablet and now on my Thunderbolt smartphone. Please help, this is so annoying.

  6. Hi
    I tried the de-bugger for one page of my website but it didn´t help solve my problem unfortunately. It´s a page with many photos and Fb only gives me the option when sharing of showing 1 of 3 thumbnails, and always the same ones from months ago.

  7. I have been “temporarily” denied access to my timeline. FB states that I am not who I am, that my timeline does not represent a real person (untrue, I am very real!) and that until I pass a security check I will not be granted access to my information or Timeline. Fair enough, but I cannot pass the security check without a “code” which is supposed to be texted to me and never arrives. I have sent my license (important info covered) four separate times and no joy there either. Any help at all appreciated as I would love to be back in the loop with my friends ASAP !

  8. Hi, i get notice “Error parsing input URL, no data was cached, or no data was scraped”. i need advice to solve it

  9. Otto
    Several months ago you recommended JetPack’s Publicize to send blog posts to FB with a user specified image. But unlike SFC it does not work. I’ve tried all the tricks you recommended in the past, including using the FB Debugger to scrape information sent to FB from my cache and specifying a default image in the Publicize plug in settings. But nothing works. FB continues to grab a piece of my blog banner instead of the image I specify when I send blog posts to FB. What do I do?

    • SFC does not work. I discontinued it almost 3 years ago. Jetpack’s Publicize does work correctly. We use it everywhere. We use it on WordPress.org. It does exactly what it says on the tin.

      If you’re having problems with it, then your theme is likely the problem. Switch to one of the default themes and test with that.

Leave a Reply to Beiyi Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Need to post PHP code? Wrap it in [php] and [/php] tags.