3PO
Say hello to the 3PO extension for YSlow. It checks your site for integration with popular 3rd parties, such as Facebook, Twitter widgets, Google Analytics and so on.

3PO (3rd party optimization) extension currently has 5 checks: two of them generic to all 3rd parties and three specific to Facebook plugins. I'm looking forward to adding more checks and more specific to a particular provider's best practices.
The extension is currently available as a bookmarklet, but since YSlow is a platform available on many platforms, it can be built as a Firefox or Chrome extension, command line tool, etc.
Install
Click this link to test, or drag to your bookmarks to install
YSlow +3PO
And the code is available in my YSlow fork on Github.
Checks
Here's a the list of checks along with some explanation.
Load 3rd party JS asyncrhonously
Category: Common
Use the JavaScript snippets that load the JS files asynchronously in order to speed up the user experience. Most providers offer you an asynchronous version of the script you're including on your page. If they don't, let them know and meanwhile do it yourself
If you don't include the script asynchronously, you create a SPOF (Single Point of Failure) and your site effectively goes down when the 3rd party goes down. See for yourself.
Load the 3rd party JS only once
Category: Common
Loading the 3rd party JS files more than once per page is not necessary and slows down the user experience. Sometimes people copy-paste snippets multiple times on the page, e.g. when you have one widget per blog post in a blog post listing. The script only needs to load once and serve multiple widgets.
Define XML namespace
Category: Facebook
If you use tags like <fb:like> you need to define an XML namespace to make the plugin work in old IE versions. Same for any tag that has :
Add an #fb-root element
Category: Facebook
The Facebook JS SDK needs an element with id="fb-root". So add this to your page, before you include the Facebook JS SDK
<div id="fb-root">
Include OG (Open Graph) meta tags
Category: Facebook
Open graph tags let you better describe your content. To learn more, see the documentation. And run the tool to validate your page.
This entry was posted on Wednesday, June 27th, 2012 and is filed under performance, yslow. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Get notification for future posts: follow me on Twitter or subscribe to my RSS feed

June 27th, 2012 at 12:09 pm
Hey Stoyan,
That js file is trying to load
http://localhost/~stoyanstefanov/yslow
June 27th, 2012 at 3:13 pm
oops, thanks, fixed
June 28th, 2012 at 2:07 pm
[...] 3PO is a handy bookmarklet from Stoyan Stefanov that checks pages for integration with common third-party content, such as analytics and social sharing buttons. True to its claim, it was easy to install by just dragging it to my bookmarks. When I visit a page, one click launches the tool, and it generates a nice little report that not only assigns a letter grade to the page but also gives tips on how to fix issues that it identifies. [...]
July 2nd, 2012 at 2:43 pm
Stoyan, it appears that the check for DIV#fb-root returns a false negative. http://wholemedicine.net/ DOES contain this element but 3PO claims it doesn’t.
July 4th, 2012 at 6:21 am
[...] 3PO is a handy bookmarklet from Stoyan Stefanov that checks pages for integration with common third-party content, such as analytics and social sharing buttons. True to its claim, it was easy to install by just dragging it to my bookmarks. When I visit a page, one click launches the tool, and it generates a nice little report that not only assigns a letter grade to the page but also gives tips on how to fix issues that it identifies. [...]
July 5th, 2012 at 1:46 pm
Bart is right. It returns a false negative for my website also. But awesome work, Stoyan! Thanks for making it available.
July 6th, 2012 at 8:19 am
I added a to my page, but it still throws an error and tells me that it didn’t find a . Also I never included that “Like” button or anything related to FB. The only thing that could be Facebook are the “AddThis” buttons.
July 6th, 2012 at 8:22 am
Edit: this page doesn’t have a but the tool says it does.
July 16th, 2012 at 11:08 pm
How Can this new ruleset be added to YSlow commandline?
July 26th, 2012 at 9:59 pm
[...] Stoyan Article : http://www.phpied.com/3po/ [...]
October 1st, 2012 at 1:25 am
[...] qui potete installare il bookmarklet di YSlow + 3PO, l'autore garantisce la compatibilità con Chrome e Firefox, io l'ho testato sul secondo e va molto [...]
October 9th, 2012 at 7:00 pm
[...] SPOF-O-Matic, 3PO for YSlow [...]
October 17th, 2012 at 8:34 am
[...] SPOF-O-Matic, 3PO for YSlow [...]
October 24th, 2012 at 7:48 pm
[...] SPOF-O-Matic, 3PO for YSlow [...]
December 11th, 2012 at 6:46 pm
[...] http://www.phpied.com/3po/ [...]
December 27th, 2012 at 10:32 pm
[...] in a web application. The most notable ones being webpagetest.org, SPOF-O-Matic chrome plugin and YSlow 3PO extension. At eBay we wanted to detect SPOF at a very early stage, during the development cycle [...]
January 2nd, 2013 at 8:02 am
[...] SPOF-O-Matic, 3PO for YSlow [...]
January 22nd, 2013 at 1:33 pm
[...] in a web application, most notably webpagetest.org, the Chrome plugin SPOF-O-Matic, and the YSlow 3PO [...]
March 2nd, 2013 at 11:07 am
[...] SPOF-O-Matic, 3PO for YSlow [...]
March 13th, 2013 at 12:46 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
March 14th, 2013 at 12:33 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
March 31st, 2013 at 8:32 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
April 3rd, 2013 at 2:00 am
[...] SPOF-O-Matic, 3PO for YSlow [...]
April 26th, 2013 at 11:57 am
I really like your blog.. very nice colors & theme. Did you make this website yourself or did
you hire someone to do it for you? Plz answer back as I’m looking to create my own blog and would like to know where u got this from. kudos
May 4th, 2013 at 11:54 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 2:57 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:48 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:54 am
I have fun with, cause I found just what I was having a look for. You have ended my four day long hunt! God Bless you man. Have a nice day. Bye
May 5th, 2013 at 11:07 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 11:47 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 7:44 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 7:49 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 9:34 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:05 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:10 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:42 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 5th, 2013 at 10:45 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 6th, 2013 at 12:24 am
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]
May 6th, 2013 at 5:02 pm
I’ve read several excellent stuff here. Definitely worth bookmarking for revisiting. I surprise how much attempt you put to create this type of wonderful informative site.
May 12th, 2013 at 10:40 pm
[...] also recommend the YSlow extension 3PO, which checks your site for integration with popular third-party scripts like Twitter, Facebook, [...]