WordPress Content Syndication with FeedWordPress

October 8, 2015

Categorized: WordPress

I was looking for a way to easily move posts from one WordPress installation (hub) to another (spoke), without migrating or moving sites.

The export, hub, or sending site is a private “author’s hub” where all posts are written. Import, spoke, or receiving sites are the actual blogs where the content goes public. The hub site needed to retain a copy of the post.

Note: There are no SEO concerns here regarding duplicate content, because the sending site is private.

Other Solutions

Why Standard WordPress Export/Import Didn’t Work for Me

The most common answer I found at first was the built-in WordPress Import & Export. However standard import/export:

  • Doesn’t do attachments. Plugin solution Attachment Importer — didn’t work for me.
  • Doesn’t let you select posts/pages/etc. individually. I found WordPress Exporter which fixed this.
  • Grabs every author, every time. I didn’t need that, I just needed the author who wrote the single post I was pulling. The big problem here is that the sending site currently has many author accounts, so for each import you had to click through the list of authors and decide what to do with their accounts. This was a big waste of time for the person doing the importing.

Altogether, the standard export tool seems to be for migrating all content, not just some content… so I was having to fight most aspects of the plugin to get it to work the way I want it to.

Copy / Paste and Manual Transfer

Of course, this would have worked in a sense: nothing quite like human labor! But unfortunately this process is not a good long-term solution for us, as there might be dozens of blog posts ready per day in the future. Even when the number of posts needing transfer is under five it’s still a lot to ask for human intervention, as not only does the post content need to be transferred, but a lot of other stuff, too: featured images, embedded images, categories, tags, All In One SEO Pack post meta data… that’s a lot to ask of someone, and it’s easy to make a mistake with such a process.

Feed WordPress

I wound up using FeedWordPress by Charles Johnson to get posts, with the add-on SIC ‘Em to fetch images. In short: we’re now pressing one button and making two edits instead of a five-step process of import/export and tons of human intervention.

It’s working really nicely and doing virtually everything I need it to do: it creates a post as a draft on the spoke site, syndicated from the hub site, discarding categories and grabbing tags. SIC ‘Em grabs my images and uploads them onto the spoke site from the hub. And the options — there are a seriously amazing number of options.

The Set-Up

  • On the sending site, I created a custom “Publishing” taxonomy.
  • Terms can only be applied by Editor-level users or above, so that our Contributors don’t have the ability to publish.
  • I created a term within Publishing for each of our receiving sites.
  • On the receiving sites, I set up FWP with my desired settings. This was kind of a pain, and if you have 100+ sites it really hurts that there doesn’t seem to be a way to export/import settings. But my number of sites was manageable.
  • I added the RSS feed for the relevant Publishing term as a feed for FWP.

Apparent Limitations

  • All in One SEO Pack post meta. Almost certainly a way to do this, though.
  • While it does download my images to the receiving site’s Media library and replace the img src URLs for relevant images… it doesn’t get the href URLs for the images’ links. Not ideal, but better than it was because we’re embedding images on-site and they exist in the media library.
  • Featured images — it doesn’t actually pick up the “Featured Image” on the hub site, but on the receiving site it will use the first image as the featured image if you ask it to in the settings. Not a big deal — we just delete the first image on the receiving site, and we’re good to go!
  • Not a limitation of FWP but the set-up itself — the categories on the sending site are vastly different from the categories on the receiving site. The sending site doesn’t mirror the category structure of all sites because that would be kind of ridiculous (10+ sites’ worth of categories on one install = messy, and maintaining that seems unfun). So this does require manual editing by a human, but this and the featured image thing are the only things needing intervention.

Other Syndication Attempts

I did try a number of other syndication plugins:

  • WP Syndicate — Got the content, but it didn’t touch the attachments. Some attachments — namely, those using Jetpack’s Photon on the hub site — seemed to break on the “spoke” site. In addition, this plugin is sort of poorly documented, and seems all-around “fragile.” That said, it was the second-best option I discovered because it worked!
  • Syndicate Out — Couldn’t get this one working with a bunch of different settings attempted. This one made me sad because it would be the easiest amount of set-up (only install SO on the hub site, nothing to do on all the spoke sites).
  • Syndicate Press — Doesn’t create the posts on the receiving site, not acceptable solution for my purposes.
  • Content Syndication Toolkit — immediate PHP error on trying to access settings page. Didn’t try to troubleshoot by removing plugins/theme because this was the first I tried and I saw there were at least 3 other options at the time.

Relevant Threads

I posted on Reddit’s /r/WordPress community for help, and then shared my solution.