In my line of work, keeping track of the threads is half the battle. At work, we have (for now) three corporate sites, a sandbox, a development environment, and more. We have social media channels – some corporately-managed, many managed by external agencies in support of our campaigns – and an active stakeholder and media community who like to talk to us and about us, along with ten busy ministers.

We’re also expected to respond quickly to news stories which break in the media on the issues we cover, as well as be responsive to our colleagues in the Press Office, including helping them to monitor and evaluate the reach of their material online.

So ever since some nice chaps from the Foreign & Commonwealth Office blew me away with an internal dashboard they had developed for this purpose, I’ve been keen to set up something similar. Something which I can have open all day and which lets me see quickly if our sites are up, what’s hot on them right now, who’s sending us traffic, and what we’re putting out there in terms of news releases, tweets and multimedia.

I’ve stolen their idea pretty much wholesale, tweaked it slightly towards social media, and come up with this (click to open a larger version):

dashboard - annotated

1. Site availability: we have Pingdom monitoring set up watching our various domains to measure their uptime, and this box uses its API to tell us what’s up and what’s down. Green is good.

2. Popular content: Google Analytics has a little-known API and the excellent GAPI PHP library to help you access it. In more or less real time, this box lists the top 30 pages on the site today. There’s a lot more to the API, which I might write about another time.

3. Top referers: if there’s a spike in traffic, chances are somebody important has linked to us – this shows a list of the top 20 referers today, again powered by Google Analytics.

4. Search engine keywords: More Google Analytics goodness, this shows the top 20 keywords people entered into Google recently which sent them to our site.

5. Custom Site Search keywords: Slightly squiffy this, as the Great Google haven’t quite sorted out their own technology, but in principle this shows the popular search terms people have used within our own site search (which is powered by a Google Custom Search, covering all our key domains).

6. News Releases we’ve issued: using the RSS feed of our news releases which we retrieve via COI’s News Distribution Service, this lets me keep track of what press releases have gone out recently, to help cross check against popular pages on the site and to help us know when to press the button on digital activity in support of them.

7. Social media output: powered by the RSS feed of our FriendFeed account plus some PHP jiggery-pokery, this is maybe the box I find most useful. At a glance I can see new YouTube videos we’ve posted (in red), Flickr sets (navy), and corporate tweets (gold). The aqua boxes show me what agencies are putting out there as part of our marketing campaigns.

8. Replies and mentions: it’s useful to see what people find re-tweetable and how they respond to tweets from @bisgovuk – this box runs off the RSS feed from a Twitter search.

9. News coverage: Not enough for full social media monitoring of course, but for those reports which do mention the Department by name, this RSS feed from Google News Search provides a helpful list, right next to the news releases which they often refer to.

10. Blog coverage: Often a surprisingly different focus from the mainstream media mentions, this box runs off an RSS feed of Google Blog Search results.

11. Our issues in the news: Believe it or not there’s a world beyond our doors, and this aggregated feed (a bundle of RSS feeds from sections of BBC News online relevant to our policy areas, gathered together and shared out again via Google Reader) helps me keep track of the big stories.

So there you are. I’ve been refining and tweaking it while I road test it over the last few weeks. It’s surprisingly simple (around 500 lines of PHP all told) but helps me get on with more interesting things while keeping half an eye on the shop I’m supposed to be minding. And there’s a hint of geek cool in there too. Whatever gets you through the day, eh?

n.b. This code was developed in my own time, using my own resources and information, and is not Crown Copyright. I’m happy to offer anyone who wants one (including my employer) a royalty-free, non-exclusive licence to use it, bearing in mind it’s early code and I can’t provide much in the way of support – for now, just leave a comment or drop me a line if you’d like a copy.

Get notified of new blog posts by email


This looks great Steph, really useful. Keeping an eye of all of these things throughout the day challenges me, particularly when (as I’m currently doing) spread across many tabs and apps. It can get distracting switching between Google Reader, Analytics, CoTweet, two CMSs etc.

I’d like to try out your code to provide a dashboard for the Observatory’s Comms team.

It’s a fantastic dashboard and I keep meaning to make good use of it – but failing. Are you genuinely managing to check it often and if so, what’s your secret?

Steph, that is class. Of all the great tools that you’ve built over the last few years, this is the one I would have wanted in my job – on a big screen on the wall above my desk.

Nice one.


Great initiative and thank you for sharing.

Is the code available ?

We’ve been doing a fair bit of work on dashboards – would be nice to experiment with this.

I owe you an email – will drop you a note next week.


Really interesting – has made me think about exactly what kind of information we currently get out of our website and related channels. Have circulated thoughts to colleagues about the lack of website uptime monitoring in particular…

Hi Steph,

Nice one 🙂

This seems to go quite some way beyond the Netvibes web monitoring dashboard you showed us how to make a while back!

Though the words “some PHP jiggery-pokery” and “500 lines of PHP all told” mean I’ll never be able to quite recreate what you’ve done here!

And the Google Analytics stuff you’ve got comes via an API, right? So I can’t just get it as an RSS feed – which I am capable of doing, in contrast to API anything… 😉



Thanks all – I’m slightly taken back by the interest in this one!

Those who have requested code – I’ll package this up and drop you a mail with it in the next couple of weeks. Caveat emptor and all that.

@Neil: yes, I really do have it open all day. I’m not glued to it, but it’s something to glance at between meetings so I can follow what the team are working on

@Matthew: interesting you should say that – for some of our projects, I realised the other day that we could achieve much of this through Netvibes dashboards, but would need an RSS widget to bring in the Google Analytics. My tool here doesn’t currently generate an RSS feed of GA data, *but it could*. Stay tuned!

Hi Steph,

If you do ever work out any RSS widget that can bring in some of the Google Analytics data (into Netvibes) that would be very cool, and v. useful…! 🙂

And very transferable too, as anyone can work Netvibes (if I can!).

There’s a new version of Netvibes around too (called Wasabi) – speeds things up, I think? (I’ve not used it yet). Some of the merged feeds that come through Google Reader (as you outlined in a previous blog post) are maybe a bit slow, I think. Or is it the Twitter searches that are slow to appear…

I wonder if this is all fixed now, with Wasabi?

That said, plenty of staff are now using the Netvibes dashboard(s) here at the Chartered Institute of Library and Information Professionals.

Replying to queries/confusion amongst members – that the dashboard shows us – is a bit more of a hurdle, but is beginning to happen.

Actually letting members themselves view the dashboard, well, that’s another story…


Matthew Mezey
(News Editor, Library and Information Update magazine)