The Washington Post uses AI to generate Olympic content

Peter Kafka for Recode:

The Post is using homegrown software to automatically produce hundreds of real-time news reports about the Olympics. Starting tomorrow morning, those items will appear, without human intervention, on the Post’s website, as well as in outside channels like its Twitter account.

The idea is to use artificial intelligence to quickly create simple but useful reports on scores, medal counts and other data-centric news bits — so that the Post’s human journalists can work on more interesting and complex work, says Jeremy Gilbert, who heads up new digital projects for the paper.

Optimising a WordPress news site for content editors

I’ve produced OU News, a news and media WordPress site for my employer, The Open University (OU). It complements and may eventually replace an existing press release repository.

  <img src="http://static1.squarespace.com/static/5051d6b824ac3544de31ef8b/5051d73de4b040c6b9bcd681/5648eb1ae4b00accac88529c/1447619383331//img.png" alt=""/>

It’s aimed at a wider audience than just journalists: students, staff, alumni as well as the general public.

I approached it with a firm focus on content strategy, and this post outlines some choices I made to make it useful and usable for its readers as well as making the content publishing process as quick and easy as possible for editors.

The existing OU news site

I believe the press release site to be nearly 15 years old. It’s had minor incremental improvements since then, but mostly to stop things breaking rather than proactive enhancements.[1] Various features have been removed or deprecated, such as the RSS feed.

The site isn’t terribly useful for its intended audience: navigation isn’t great, and it is quite restrictive in terms of what can be included in a post. Just text and a thumbnail image. I understand the content publishing process can be laborious and time-consuming.

New OU sites are typically built using Drupal[2] and OU ICE, a front-end HTML, CSS and Javascript framework for quick and easy production of accessible and brand-compliant sites. This suitable for the vast majority of cases. In the 5–10% where something more is needed, OU IT will produce and support custom Drupal themes or sub-themes. In this case, IT weren’t able to support the design and build, so we embarked upon it ourselves.[3]

Building a WordPress replacement

I hadn’t used WordPress in anger for several years and, if I’m honest, I didn’t have terrific memories of using it. When I started this site (the one you are reading) I didn’t even consider it.

I spent a couple of days downloading, installing and testing a dozen or so CMSs. The majority were wholly unsuited for this project. They required technical expertise beyond what would be expected of the team who manage the content—their skills are in media relations, not wrangling static site generators using the command line.

It was obvious that I should leave any bias behind. WordPress ticked the most boxes: a couple of the team had used it before, it’s thoroughly extensible, and there’s a huge support community in case things go wrong.

CMS chosen, I looked at themes. The intention was always to buy a flexible theme and to customise it to better suit our needs. We chose Sense. It has good navigation and UX out of the box while being much more visually appealing than the previous site. There are a large number of ways to organise and lay out posts.

There are several other good things about Sense. It has a highly usable drag and drop interface for building page layouts and uses widgets to build sidebars and footers in a intuitive way. Site editors can drop in URLs from media and social media sites and they automatically embed the content—no need for shortcodes or embed codes.[4]

Choosing plugins to help editors

Part of the reason I hadn’t had a terrific experience with WordPress on a previous project was that I had bad experience with plugins failing or being incompatible. This time round, I spent a lot of time searching for reliable plugins to make my life and the editors’ lives easier.

Here’s a rundown of the plugins I used:

  • Advanced Custom Fields. I ended up using this less than I expected. It allows you to customise the fields used in your posts in order to structure your content in a much more useful way. One for the content modellers out there. As the project developed, it was apparent that most of our content types were well served by WordPress’s standard content types and fields.
  • Avatar manager. Allows me to upload images of the site editors rather than them using Gravatar.
  • Better writing. Adds a readability score to all posts using the Flesch reading ease test. As a university we’re prone to unnecessary verbiage; this plugin is a reminder to editors to speak plainly for a general audience.
  • Broken Link Checker. Periodically scans your site for 404s (internal and external). Prints the results on the admin dashboard and emails them to the editor who published the post. I’m unsure how resource-intensive this plugin will be as the site grows, so I’ll keep my eye on it.
  • Google Analytics (Yoast). Makes it easy to add tracking code regardless of theme and see headline metrics in your WordPress admin interface.
  • ImageInject. Lets editors insert Creative Commons images based on the post title or a search string of their choosing. Adds them in the body of the post or as a featured image, and includes attribution information consistent with the licence.
  • Inline Tweet Sharer. Lets you turn quotes or other short passages of text into anchor text for Tweetable links. I might remove this as the editors haven’t really taken to using it.
  • P3: Plugin Performance Profiler. If you’ve looked at this list and thought, “That’s a long list of plugins”, you’ll like this one. It undertakes an on-demand scan of your site to see if any plugins are drastically affecting site performance. (For the record, there isn’t anything in this list causing alarm.)
  • Radio Buttons for Taxonomies. I have a compulsion that all posts should sit in a single category and have multiple tags, so I’ve enforced that on the editors using this plugin. Forces editors to choose one term from your taxonomy or taxonomies.
  • UK Cookie Consent. Adds a cookie banner to the site and produces a cookie information page. I discarded the default text, preferring to rewrite the OU’s existing cookie information into slightly better text so that it explains what a cookie is, why we use them, and which cookies are used.
  • WP Help. This is pretty great—it allows administrators to add custom help documentation for editors. I’ve made it quite granular, so there are entries for how to source and use images, guidelines for categorising and tagging content, improving readability scores, that sort of thing.
  • WP Hide Post. Allows you to publish a post to the live site but hide it from the main page, or its category page, or the author page, etc. Limited use cases, but potentially very helpful.
  • WP Super Cache. If you’ve used WordPress before then you probably know this one: a fast caching plugin to speed up sites. I adjusted the settings while building the site so I could see changes as I made them.
  • Yoast SEO. Probably the most important plugin we use, and another one you’ve probably heard of. We expect the posts to be shared widely on social media, and it makes it trivially easy to add Open Graph and Twitter metadata for better presentation in Facebook, Twitter and other platforms. It reminds the editors to optimise their posts for search by adding a primary keyword and ensuring that it is included in the title, URL, metadata and body content. The editors seem to like it as it focuses them on the user and what they might search for. There’s a useful analysis tab where you can review how well your content is optimised for search and readability. There’s now an equivalent Drupal module which I’d like IT to add to our standard distribution.

We’ll likely add Yoast’s Google News plugin in order to create a dynamic XML sitemap that conforms with the Google News schema.

All in all I’m hugely impressed with the options available to optimise a WordPress site for better content strategy. And I only managed to delete all the site content once! (That was a hairy hour or so while I arranged for it to be restored from a recent backup. Don’t tell my boss.) WordPress and its community hardly need my patronage but I’ll definitely use it for future projects (where appropriate). I’m considering moving this site across to it.


  1. I haven’t worked at the OU for this long, so this is what I’ve heard rather than experienced.  ↩

  2. The major exception being the prospectus site, which was rebuilt using Kentico in 2014.  ↩

  3. This explains the current URL. The site may well move to become part of the main OU information architecture, but for the moment it uses a non- *open.ac.uk domain name and is hosted externally.  ↩

  4. I think this is the theme doing this—since this site was produced I’ve played with other themes where it hasn’t done this.  ↩