Są dwie opcje:
-łapać zdarzenie share (ajaxem przesłąć do drugiego skryptu )i zwiększać w bazie liczbę shareów danego linka (często nie działa i można oszukać)
-cronem używając fql na stronie fb pobierać ilość sharów i aktualizować liczbę shareów linków coś w tym stylu:
Kod
https://api.facebook.com/method/fql.query?query=SELECT share_count, like_count, comment_count, total_count FROM link_stat WHERE url in("link1","link2")
No i oczywiście sortować po ilości sharów