W3 Cache plugin and Facebook sharing

LATEST UPDATE (June 13th 2012)

I can’t figure out what’s wrong with my codes.
When I want to share one of my blog posts and use either the Facebook share button or copy the link of the blog post directly into Facebook all that pops up is the URL itself, not the meta info such as description or featured image!
I filled out the meta data for each and every post and I also added Open Graph to my code.

Yet, when I try to share my blog post links on Facebook, neither the meta description nor a thumbnail would show up for the majority of my blog posts. It’s like something is blocking the information. I’ve run out of ideas. I really hope you guys can help me figure out what’s wrong!
(obvioulsy I replaced the fillers above with my own data!)

I also used the Facebook Debugger and all it tells me is:

Can’t Download: Could not retrieve data from URL.

Updated Information:

I finally was able to figure out what was wrong thanks to Milo and MathSmath!
The W3 Cache Plugin is interfering with the Facebook sharing progress, but it’s quite easy to change that. Scroll down to see my answer! Works like a charm!

Solutions Collecting From Web of "W3 Cache plugin and Facebook sharing"

I’d guess this has something to do with your caching layer. The Facebook linter says it’s getting a 206 response to the example link you posted. A 206 means the response contained only partial content, and is often the result of a caching mechanism. It also has some pretty strict validation rules, and your response header may be malformed (for example, it looks to me like it’s missing a content-type header, just at a glance).

Try disabling your caching plugin, and reverting your htaccess to the bare-bones WordPress version (the lines between the “begin WordPress” and “End WordPress” comments at the bottom). See if that helps?

I’ve come across this same problem before… a few things you can do.

In your website, make sure you have…..

  • An appropriate image close to the top of the page, title and alt tag are relevant

  • A “description” META tag this is a tag that occurs in the <head></head> of the page
    example: <meta name="description" content="enter your description here" />

  • A chunk of web friendly text within a <p> tag somewhere on the page. By web friendly I mean actual text… not an image embedded with text.

I found these 3 things helped me improve that little publish to facebook functionality.

Hope that helps.

Heres a great article I found on custom meta tags today
http://umairj.com/29/modify-how-the-shared-item-appears-on-facebook/

Are you using a plugin that does mobile detection? visiting your site with an iOS user agent returns a bunch of garbage characters, I’ll guess you have some user agent issues with the Facebook crawler and it’s not getting your site’s actual markup. click the link in the FB debugger that shows exactly what the crawler sees, your site’s head tag is almost completely empty.

Thanks to Milo’s and MathSmath ideas, I was able to figure out a solution myself.
Apparently a lot of people have issues with W3 Cache and sharing on Facebook.
There’s quite a simple solution to it, though!

Go to the W3 Cache plugin settings, more specifically to “page cache” and make sure to reject these user agents:

facebookexternalhit

FacebookExternalHit/1.1

FacebookExternalHit/1.0

This will block W3 Total Cache from sending cached pages to Facebook.

Personally I still have issues when using the “like” or “share” button in my blog.
The “Like” button sometimes doesn’t provide the right thumbnail, but I’m sure I can fix that, too. I might update this answer then.
The “share” button I use doesn’t work at all. I guess I need to find another code for the Facebook share button and try again.
Copying the URL directly into Facebook to share something works fine now!

Applied the above solution – modifying the user agents. The procedure that solved the issue was from the facebook developers site.


Go to the following link.

https://developers.facebook.com/tools/debug to determine if Facebook detects your og:image. If not, add some code.

With the new Facebook Open Graph stuff, you can define a thumbnail for that page in your “head” of the form<meta property="og:image" content="[image url]"/>