Do intranets need an archive machine?

We’ve all used the UK Government Web Archive by The National Archives. It’s a great way of viewing a snapshot of a website at a particular moment in time. I’ve used it myself for compiling screenshots of a site’s redesign history.

Do we need something similar on our intranets? Is there a case for going back to a snapshot of the intranet at a particular date? I think there is. And it usually boils down to legal reasons where evidence is required to settle a dispute or clarify information.

Take the example, where a Trade Union rep asks to see a copy of the conduct and behaviour policy from 2 years ago for use in an Employment Tribunal case, operating under the rules in place at that time. You updated the policy on the intranet 6 months ago with a new document from HR, overwriting the existing policy so as not to clog up the intranet with numerous variations of documents. After all, the intranet is not an electronic document management system. There are other platforms outside the intranet to store documents, such as the fabulous TRIM.

Your efficient HR department haven’t bothered to keep the documentation up to date in TRIM. They think the intranet is the place to store endless versions of their documents. So they are up in arms when they discover that you haven’t done their work for them.

You end up having to go to your IT department to restore a backup of the intranet from 2 years ago and you manage to extract the PDF document in question.

Now compare that with being able to point your HR people to your intranet archive where they can navigate back 2 years and get a copy of the document in minutes.

GovIntranet gets a People Profile and Staff Directory

As part of the latest release of the intranet theme, we’ve integrated a set of customised Staff Directory templates.

On the intranet

You can search the staff directory from the main intranet search box or the staff directory pages. You can find people based on their name or job title. If you don’t know a name you can search on a particular skill or area of expertise. You can search for a team or a department. And you can search for the number on a missed call to see who it was.

Typeahead staff search
Type-ahead search for people

In their personal profiles, staff can upload their photo, specify their line manager and the team that they work in. This information helps to build the organisation tree which is shown on each individual profile page as a clickable tree of line managers and direct reports. To navigate sideways through the organisation tree, staff can jump to anywhere within the team structures to view staff at the same grades.

The staff directory is displayed initially as an A to Z lookup showing index cards of staff members. You can browse the directory by letter and there are switches to view by first name or last name. You can also browse by grade or team.

NIO staff directory
Staff directory lookup pages

Individual staff profiles show a photo, bio and contact information including links to teams, and a mini organisation tree with links to the staff member’s line-manager and direct reports. For staff who are active in the forums or blogging areas, we include links to their posts. Links to the staff profile are integrated into search results, forums and blogs.

My favourite enhancement is to the main intranet search box allowing type-ahead lookup of people based on their name, job title or skills.

Turkish speaker
Type-ahead search on people skills

Like any search-based functionality, all this will only work well if staff fill out their profiles and keep them updated. The directory is in use at NIO and will soon be launched at DCMS.

There is a mini-demo of the staff directory templates on the GovIntranet showcase site.

The technical stuff

The templates work in conjunction with bbPress or BuddyPress and allow us to integrate the staff profile with existing forums and activity streams. We’ve also configured the Relevanssi search plugin to index the staff profiles. This means that we now have tighter integration between the staff forums, individual staff profiles and search. Using the Pods framework, we’ve extended the core WordPress user profiles to add extra fields for:

  • Job title/role
  • Telephone and mobile numbers
  • Working pattern
  • Skills and experience
  • Team
  • Line manager
  • Grade

In the user profile, this gives us a nice user interface.

User profile edit screen
User profile edit screen

We configured Relevanssi to index user accounts and the extra custom user meta fields. And we tweaked the autocomplete search plugin to integrate with Relevanssi, giving us a type-ahead staff lookup via the search box.

We have also introduced teams as part of the staff directory allowing you to create a hierarchy of directorates, groups and teams. The team listing displays staff organised by grade. And you can specify a team leader for each team, regardless of grade.

Teams are implemented as a taxonomy so it’s possible to categorise any content on the intranet with a team. The current templates work with pages, projects, tasks and guides and include links in the “Related” sidebar area along with other related links.

Setting up the staff directory in an existing GovIntranet theme will take a bit of manual tweaking. Instructions are on the GovIntranetters site. Bon courage!

How to track documents as pages in Google Analytics


“But where are my downloads?” cried the website manager upon looking at her Google Analytics reports.

“They’re under Events,” replied the support guy.

“Oh,” said the confused manager.  “…What’s an event?”

People don’t like documents on the web or the intranet as a general rule. They prefer HTML pages. But sometimes they’ll go to the lengths of downloading a large, image-heavy PDF brochure or a 16 page, typeset application form.

Sound the trumpets! An event has occurred! Someone downloaded a document!

But hold on. This isn’t an event. It’s just someone reading your content, which happens to be in a different format to HTML. Why track it in a different section of your analytics? Shouldn’t you track it as part of your content?

If you track documents as part of your content, they become part of the content flow. They become page views and, as such, will have bounce rates, timings, referrers and unique views. This gives so much more information than a simple count of events.

To setup documents to appear as part of your content you’ll need to change your tracking code and setup some filters in Google Analytics.

Don’t pass this point if you don’t want to get your hands dirty!

Setup the tracking code

The trackEvent function is used in Google’s examples as a way to track document downloads. You need to change any existing tracking code for documents on your pages from the trackEvent function to the trackPageView function. See example code below.

If you don’t currently track documents, you can add a bit of jQuery to every page that will run when pages load, going through and adding the onClick event to the document download links, triggering the tracking code when the link is clicked. You’ll need to put this code within a SCRIPT tag on every page or include it as a separate .js file. Make sure that you have already included your regular Google Analytics tracking code.

Code available on jsfiddle

function gaTrackDownloadableFiles() {

var links = jQuery(‘a’);

for(var i = 0; i < links.length; i++) {
if (links[i].href.indexOf(‘.pdf’) != “-1”) {
jQuery(links[i]).attr(“onclick”,”javascript: _gaq.push([‘_trackPageview’, ‘”+links[i].href+”‘]);”);
} else if (links[i].href.indexOf(‘.csv’) != “-1”) {
jQuery(links[i]).attr(“onclick”,”javascript: _gaq.push([‘_trackPageview’, ‘”+links[i].href+”‘]);”);
} else if (links[i].href.indexOf(‘.doc’) != “-1”) {
jQuery(links[i]).attr(“onclick”,”javascript: _gaq.push([‘_trackPageview’, ‘”+links[i].href+”‘]);”);
} else if (links[i].href.indexOf(‘.ppt’) != “-1”) {
jQuery(links[i]).attr(“onclick”,”javascript: _gaq.push([‘_trackPageview’, ‘”+links[i].href+”‘]);”);
return true;

In Google Analytics reports, the domain name does not appear in the page URL for regular HTML pages, you’ll just see the initial backslash followed by the page URL. However, documents will appear with the full URL including the domain name. This can look a bit messy and is hard to read on your reports, when all you’re actually interested in is the document name which appears way down the end of the URL.

To present this in a better way when running your reports, we can add some filters to the GA account which will prettify the incoming document data.

Configure Google Analytics

You’ll need to create a filter. In your Analytics account, go to the Admin section.

Google Analytics admin button

Then within your View panel, choose Filters.

Google Analytics Filters button

Add a new filter and call it “remove domain name”. Then choose Custom filter, followed by Advanced.

Add filter - step 1

In the next form, choose Request URI  for both Field A and Output To.

Add filter - step 2

In Field A you’ll need to specify the URL pattern for your document folders. The URL pattern needs to be in a specific format, known as regular expressions. You need to work out what your common folder path is.

Here are some example folders:

Example 1

Example 2

In example 1, the common path is /docs/ since all documents are stored in this folder.

In example 2, the common path is /anything/downloads/ since all documents are stored in a downloads folder, somewhere within a hierarchy of folders. Note that anything could represent forward slashes in addition to other letters and characters.

When you have worked out your common folder path, add your domain URL to the start, then take off the http:// or https:// bit, so that you have something like:

Example 1:
Example 2:

Apply the following rules:

  • add a backslash in front of any dots \.
  • add a backslash in front of any forward slashes \/
  • replace anything with (.*)

Example 1: intranet\.luke\.co\.uk\/docs\/
Example 2: intranet\.luke\.co\.uk\/(.*)\/downloads\/

Finally, add (.*) to the end, giving you something like:

Example 1: intranet\.luke\.co\.uk\/docs\/(.*)
Example 2:

Et voila! This is your regular expression. Add your expression to Field A.

Then count how many times (.*) occurs in your expression. Use this number in the Output To field, preceded by $A

Save the filter.

There’s one more thing that you can do to improve your reports. By default, the documents will be entered into Google Analytics with the page title of the HTML page where the click to download the document occurred. To include the document filename in the page title in addition to the title of the page being viewed when the link was clicked, it’s back to filters again.

Add a new filter and call it “page titles for documents”. Setup the filter as follows:

Field A: Request URI

Field B: Page title

Output To: Page title
$A1 ($B1)

Page titles for documents filter Save the filter.

On your filters lists, make sure that your page titles filter is below your remove domain name filter, otherwise your page titles will appear with the full URL. If necessary use the assign filter order option to change the order.


Now you should start to see documents appearing in your content reports, including Realtime:

Realtime analytics showing documents and source page
Realtime analytics showing documents and source page

NOTE: changes to filters have a permanent effect on your data view, so make sure that you have a copy of your raw data in another view or profile.

Northern Ireland Office goes live with DCMS intranet theme

To kick off the New Year, the Northern Ireland Office launched their new intranet, using the GovIntranet WordPress theme, based on the DCMS intranet.

Una Flynn, Head of Communications at NIO, wanted to improve the existing intranet, which was a collection of documents that had grown organically by content publishers.

Having introduced social media to our comms strategy and migrated our website to GOV.UK, my next project is a radical overhaul of the intranet.
Una Flynn

After initial meetings with the comms team in August 2013, we kicked off the intranet project in September. The project brief was a little different to DCMS, who had already completed their information architecture and content planning. Two days of the NIO project were devoted to content publisher training for 8 of the comms team, bringing them up to speed on writing in plain English, search engine optimisation, categorising and tagging content and working with the GovIntranet WordPress CMS. We also spent a day cardsorting with staff to create the main content categories on the intranet.

Publishers have been busy rewriting content that was buried in Word docs and PDFs, making it much more accessible to staff, and the search engine. In addition to writing good content, they’ve been taking advantage of other WordPress features and plugins. On the Justice intranet, I remember having to upload a monty spreadsheet of budget codes every month. Staff would have to download the new document each month and then wade through the spreadsheet tabs to get the latest information.  At NIO, publishers have used the TablePress plugin to produce some useful ajax lookup pages, allowing staff to quickly search and browse through the table of expense codes, online without refreshing the page.

Expense codes
Finance staff can search up-to-date expense codes.

The new intranet went live in early January to staff in the London and Belfast offices. Static content on the old intranet is being kept live for a month while remaining content is being added to the new intranet.

The NIO intranet uses the blogging features of the GovIntranet theme and is already seeing blog posts from Directors. And, like DCMS, staff forums are in place, aiming to improve local staff engagement and collaboration between London and Belfast offices.

In a weird turn of events, the NIO intranet has benefitted from other developments to the GovIntranet theme, going live with new features ahead of the other departments that originally commissioned them. Having only asked for an intranet “the same as DCMS”, the NIO now have an intranet with a Staff directory, an A to Z index, an autocomplete omni-search box and a new look and feel, all developed by other departments yet to go live with the new features. This is the beauty of open source. And of course it also means that the other departments are getting advanced beta testing  and bug fixes before they go live.

The new intranet has taken four months from kicking off the project to launch, including content inventory and audit, cardsorting, publisher training and a total rewrite of all content by NIO publishers. The cost was around £8K.

Tags vs Keywords

Many of our clients use WordPress-driven websites and intranets. Tags are a core feature of WordPress. Keywords are not. But we do use them on intranets.

Keywords on the web

Keywords don’t really pack much punch on the web. They were initially designed to aid search engines in indexing content but due to abuse, search engines have long since ignored them.

Keywords on the intranet

Keywords on the intranet are a great way for the intranet search engine to index words that wouldn’t otherwise appear on a page. Employee restaurant, staff canteen, lunch menu, food and drink are all words that people might use to search for the lunch menu. Not all of these words will appear on that page. So we use keywords to help people that search using words that do not appear in the main content of a page. And although the search engine will read and index the keywords, these keywords will not appear on the front end pages.

You don’t need to repeat words that already exist in the page title or body content again in keywords. Keywords are not obligatory. It’s fine to leave them blank. And I stress this because some publishers will enter any words they can if they feel they have to and this can damage search results.

Don’t include your company name as a keyword. It’s really not necessary. Unless the page is specifically about your company and this is the page that should appear in search results if someone, on your company intranet, searches for your company name.

When you add a keyword, think of it as an instruction to the search engine to include the page as a possible entry in search results when anyone uses the word in a search query. Be very specific.

Keywords are also a good way of promoting internal campaigns. Include the message Search for “funderpants” in an offline poster and make sure that you have the obscure/unique word as a keyword in one intranet page only.  Then it will appear all alone at the top of the search results pages, if staff search.

Tags on the intranet

Tags are not an alternative to keywords. Tags are for grouping  content. They are not designed solely for the search engine to index. And they are visible in the front end.

Ideally, you should apply a single tag to more than one page. For example, you can apply the tag “meeting” to pages for booking a meeting room, ordering catering for a meeting, collecting guests for a meeting and how to operate the projector.

When adding tags to a page, check that a similar tag doesn’t already exist to avoid creating different variations. If you create a new tag, check which other pages might also benefit from the same tag.

Tags on the web

The only benefit of this shotgun approach of adding lots of tags is that the visible, front-end content will get indexed. On the web, this is a benefit as keywords are generally ignored.

Managing tags

I find, in practice, that publishers fall into two categories. Those who organise and manage their tags, and those who treat tags as keywords.

Those who manage their tags will build a controlled vocabulary of words and terms that can be used. On the DCMS intranet there are just 65 tags to cover all the content. You click a tag; you get a nice bunch of pages relating to that tag.

Those who treat tags as keywords add them in a less controlled manner. This can result in having hundreds of tags, which in itself is not necessarily a bad thing. It produces pages with lots of tags. But it also produces lots of single tags that apply to only one page. Groupings happen by chance.  Variations on words start to appear, on the frontend too.  Tag clouds become very flat, as all the singleton tags appear at the same size and colour.  You click a tag; you get one page, or a few if you’re lucky.

On the intranet, it’s best to use tags to group content, and keywords to aid the search engine.