Listening to our community: ranking blog posts with social metrics
October 3, 2013
The Chapman Blogs have over 4,000 entries.
…and we receive a couple hundred new posts each month. Our team has spent a lot of time looking at data from Google Analytics and numerous social networks and we’ve noticed a seemingly obvious pattern: when readers enjoy a story, they tell the world about it.
So we invented an algorithm to rank all the content…
Rank = Social Shares + Page Views + Comments
When an article is viewed, it gains points. When shared on social networks, it gains points. If users click “Like” on a story, or re-tweet it, or even comment on it on a social service, that data is tracked all the way back to our network and the story gains points. Comments posted directly on our blog are worth extra points.
TIP: As a blog author at Chapman, the best way to increase the position of your post is to share your article on social networks; we track nine of them:
- Digg
- Delicious
- StumbleUpon
- Google+
We’re doing quite a bit of math behind the scenes to ensure that each metric is equally weighted. Time of publication is also factored in. Our student intern, Devon Wagstaff, created a mathematical function which combines all of these metrics and then gradually reduces the rank of a piece of content as time passes.
Robots ranking our content. Scary, right? Actually the computer isn’t ranking content at all.
People are voting with their clicks, likes, shares, and forwards.
Each time someone shares a link on Facebook, it acts as a nomination for a good piece of content. From there, more people might click “Like” on a story, comment on it, or re-share it for their friends. Each of those actions count as additional votes.
We’ve essentially created a democratic process where our community of students, alumni, and Chapman family all have the power to tell us what content works well… except that we’ve automated the voting process by using data from actions that already take place naturally on the internet. We plan to use this data to help us decide which stories to highlight.
What this means for our blog authors:
Write
concise titles
which tell the reader what the story is about and use
high quality featured images
which show the story in one glance. When readers see the story on social network feeds, they will often see only the title and featured image and then decide if it is worth their time to click through and read the full story.
Share your story and enlist others to do the same. If your readers like your content and re-post it, our algorithms will pick up on that and give your story a boost!
What this means for our readers:
We have given you the power to tell us what you want to read. If you enjoy a story, share it on a social network or post a comment or question for the author. Not only will you help others to find the story, but you’ll be casting a vote each time and helping us decide what content to highlight.
For web developers
If you are a web developer looking to implement a system similar to this then I recommend using the free service
SharedCount.com
, or to query individual social networks use these APIs:
- Facebook*: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
- Twitter: http://urls.api.twitter.com/1/urls/count.json?url=%%URL%%&callback=twttr.receiveCount
- Reddit:http://buttons.reddit.com/button_info.json?url=%%URL%%
- LinkedIn: http://www.linkedin.com/cws/share-count?url=%%URL%%
- Digg: http://widgets.digg.com/buttons/count?url=%%URL%%
- Delicious: http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
- StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url=%%URL%%
- Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%
- Google +1 +1 counts are retrieved via a JSON-RPC POST call.
Or please get in touch with me if you have ideas on how to contribute to this project!