How To Manage The Content In Your WordPress Multisite Media Empire

If you publish more than one WordPress site then the chances are that you’re using the world’s favorite CMS in multisite mode.

You’re already reaping the benefits of easier management and reduced exposure to downtime from centralizing your codebase, your plugins and your themes. Your users love that they can use a single set of credentials to log into all the sites in your network.

So, why are you still letting authors create content across your network? Why haven’t you centralized that process? Why haven’t you created your very own Content Hub?

A diagram of a site network
The Content Hub – the best way to free up more time for media empire building

I first talked about the Content Hub in my first article for WPMU DEV, How to Publish to Multiple WordPress Sites from a Single Install.

In that incarnation, the Hub was a single WordPress site that syndicated or broadcast its content to other WordPress sites, including WordPress.com sites as well as self-hosted sites, using the XML-RPC API. At the time, there was some discussion about multisite and with the recent update to the ThreeWP Broadcast plugin, it seemed time to visit the idea of a Content Hub in a WordPress network context.

The Content Hub : A Quick Recap

The idea of a Content Hub is that content creation takes place in a single location and is then pushed out to a site or sites for consumption by users, a so called “hub and spokes” model.

Whilst based on WordPress, the original article made clear that, in fact, any of the components could actually be based on any technology, so long as they could exchange data in a format that the WordPress XML-RPC API could understand.

Obviously, in this article we are very much grounding the solution on WordPress but the idea of a “hub” pushing out content to a number of “spokes” remains at its core. It’s perhaps also a timely reminder that the XML-RPC API has a limited lifespan with the JSON-based WP API, at the time of writing, now at version 1.1 and scheduled to be part of the WordPress 4.1 core.

A single single site in the network acts as the hub. It is a private site that has all the necessary plugins and customizations necessary for managing content and all content is created and managed in the hub.

Many of the considerations around creating the Hub are the same regardless of whether you are using multisite or not. Setting up your categories, restricting access to the Hub site and optional plugins are all just as relevant to the multisite approach and so it would be beneficial to read the original article, if you haven’t already done so.

The major difference with the multisite approach is that being contained within a network, it doesn’t rely on an API to do the content pushing and so not only is it more reliable, it is also considerably more powerful: content types, attachments, custom fields, automatic updates are all possible.

ThreeWP Broadcast : The Engine That Drives This Hub

The networked content hub is only possible because of the ThreeWP Broadcast plugin.

It provides all the broadcasting functionality and actually uses an approach that is very similar to Push Syndication: create the content in the Hub, select the sites where the content needs to be published and click publish.

Unlike the API approach, all versions of the content have the same post date which means that it can handle scheduled posts. If a post is linked to its parent then all updates are immediately reflected across the network.

The core plugin is free and provides enough functionality to get your hub well and truly up and running but once it is established you may well be tempted to get the Premium Pack, even at $100, which adds even more features.

NOTE: The most recent version of the ThreeWP Broadcast plugin requires PHP 5.4, so check which version of PHP your hosting environment is running. If you only have PHP 5.3 then you’ll need to use an earlier version of the plugin.

Configuring The Plugin

In the Content Hub site, activate the core plugin and, if you want to group sites in your network together, the Blog Groups plugin.

This will add a new menu option to your Hub’s Admin menu called Broadcast which provides access to the plugin’s settings screen.

Settings page showing the setting of roles against features
Settings allow good control over access to the plugin’s features

The main settings screen allows you to configure which roles can perform which tasks.

You’ll probably need to tweak these to get them exactly right for your situation and will obviously depend on your workflow. It may be that you are happy for your authors to have access to all Broadcast’s functionality or it may be that you want to completely control the publishing of content and so will completely restrict anyone but editors from seeing the metabox.

The settings page also lets you determine what action to take when an attachment with the same name is to be updated.

The other useful settings page is the Custom Post Type which allows you to select which custom post types are available for broadcasting. Custom Post Type support is a powerful feature of this plugin.

Settings screen that allows post types to be selected for broadcasting
Select which post types can be broadcast

Broadcast only needs to be configured in the Hub; there’s no need for any configuration in the spoke sites.

Creating Blog Groups

Much like Push Syndication’s Site Groups, Broadcast allows sites (blogs) to be grouped into Blog Groups. This is a simple mechanism: create a group and then select the member blogs.

Selecting the blogs for a particular group
Create blog groups to publish to multiple sites simultaneously

If you then want to publish a post to multiple blogs – having weighed up possible severe penalties for duplicate content – you can do this quickly and easily by selecting the group.

How Broadcasting Works

Publishing, or broadcasting, to one or more spokes is  easy.

Screengrab of the post edit metabox
Control broadcasting from the new post edit metabox

The plugin adds a new metabox to the post edit screen that allows for the selection of target sites (or blog group) along with configuring whether custom fields and taxonomies are also pushed to the spoke and whether the spoke’s post should be considered a child post.

One of the plugin’s great features is that a child post will automatically get updated if the parent post is updated, including changes to featured images, publish dates and even the post status.

Child posts cannot be broadcast themselves but in the Hub situation you don’t need that, so this will nearly always be checked.

Here’s a sample post from the Hub and from the Spoke.

Two screenshots side-by-side showing original content and broadcast content
Tags, images, categories and post date – everything is mirrored on the spoke

Everything gets copied across – featured images, attachments, shortcodes, excerpts, custom fields, tags and categories and authors.

NOTE: to copy across featured images, you need to check the Custom fields option in the Broadcast metabox.

I tested with the full wptest.io content test bed and the plugin performed exactly as expected.

Easy Management Of Your Media Empire

If you have a network of sites that are being regularly updated, then a Hub approach really can make a considerable difference in the time and effort required to manage the content publication process.

A single location for content creation makes it far easier to add functionality such as post by email and to fully customize your workflow without the need to replicate that effort in every site.

Whilst the API approach offers flexibility in terms of using self-hosted and WordPress.com and even non WordPress sites, the tighter integration of the multisite network is very appealing.

The ThreeWP Broadcast plugin really does allow you to centralize the process of content creation by setting up a hub quickly and easily.

And will, of course, allow you to spend more of your time building that media empire.

Do you run multiple sites? Do you use multisite or multiple installs? Would a hub be beneficial to your set-up?