Along with most bloggers, I’ve lusted over Facebook’s “Like” button. There’s nothing that quite matches it on the web. It’s small and simple. What could be easier than putting a harmless little icon on your site to let visitors vote for you right?
But I got a nasty shock when I installed it. It makes at least thirty separate calls to Facebook servers and your site takes forever to finish loading. Any webmaster will tell you that the first step to improving your page speed is to cut down the number of requests to the server. From this perspective, Facebook commits a crime – an unforgivable transgression.
I’ve tried three different ways to install it on WordPress – using the code from Facebook and installing two separate plugins. It doesn’t make a difference. The button is still a resource hog. Here’s a screenshot of the requests from tools.pingdom.com:
This shows only a part of the total requests made to Facebook’s servers. Go ahead and test any page which has the button on tools.pingdom.com. You’ll be astonished at how long it takes to load – scroll down to the bottom and it’s pretty obvious what the cause is.
While it’s true that the button starts loading only after the page has begun to render, there’s something just wrong about such an obscene number of calls. It just doesn’t feel right you know what I mean? For those with slow Internet connections, I can imagine their systems working hard just to display the damn thing.
Google is rumored to be developing its own “Like” button in conjunction with Google Me. I’m eagerly waiting for it in the hope that it’ll go easy with the http requests. After all, it’s Google who’s really pushing for faster speeds on the Internet and even going so far as to link the PageRank to it. Come on Google! Give me an alternative to Facebook bloat.
Agreed. This sucks.
I agree, from a performance perspective it's very badly designed. This small button makes more requests, and takes longer to load than the rest of my page put together. Sort it out Facebook!
In reply to Chris Thompson
No hope of them sorting it out I think… :(
I just installed the Like button on my site and it added 4 seconds to my load time; that's more than the rest of my page combined! And the like button is such a small button too. Those requests just don't seem necessary.
I managed to make a custom version of the regular share button using PHP, but I don't think its possible to do this for the Like button. I'm considering on removing it. It's a useful one click way to share posts, but at the expense of dozens of additional requests.
My recent post WOT vs SiteAdvisor vs SafeWeb – PrizeFly Friday
In reply to Brian
My thoughts precisely. I can't understand why so many requests are necessary for such a simple thing…
Further, the button is over 30kb including scripts. Imagine the millions of views it gets daily… seems like a giant waste of bandwidth and expense for Facebook. Maybe if they were a public company they’d make it more efficient. Meh, I’m also looking for alternatives that tap the same API without all the requests.
In reply to Galen
I’ll be the first to sign up for such an alternative!
This “Like” button is a joke! Wake up Face-buk!
I blocked every facebook server with adblock.
Now the websites load like before.
I just don’t want to wait 5-15 seconds for the LIKE LIKE LIKE button.
I hate facebook, sorry.
What else is facebook doing to my page with Like buttons? I’m just trying to display a Like button link and number of people Liked, it should be 1kb and 1-2 server request! Are they tracking users like Google Analytics?
An alternative would be to use FB Share button, outdated, but it works just like the Like button now(same counter number). Sure, it appears differently on user’s wall, but that’s another story.
Try loading the SDK asynchronously, the button loads much faster.
developers.facebook.com/docs/reference/javascript/