Help Me Choose RSS or XML-RPC

It really depends on where you want your focus to be. Here’s a case for and against each:

XML-RPC

It sounds like your standard process is:

  • Log in to main site
  • Write post in X category
  • Publish post
  • Post is copied to the child site specific to X category

In this setup, XML-RPC makes the most sense. You write a post on one site, and that site should then be responsible for pushing the content out to the category site. So XML-RPC would be enabled on your child sites but not necessarily on the main site.

You could set this up with a single plugin on the main site that ties in to the post publication hooks and inserts posts on the child sites.

Also, you can push updates to the child sites from the main site. Let’s say you publish your post and it gets pushed out. Then 10 minutes later you notice a glaring typo in the title. You can edit the original post on the main site and automatically push the update to the child sites still using XML-RPC.

I’m not trying to make this sound easy (it won’t be), but it will be possible.

RSS

RSS turns the process around:

  • Log in to main site
  • Write post in X category
  • Publish post
  • The child site specific to X category polls the main site’s RSS feed on a regular interval and updates itself accordingly

The child site is basically just calling home every now and then to see if it needs to be updated. RSS makes sense because it’s lightweight. Also, by keeping XML-RPC turned off, you’re not opening any additional access points to your site.

You can also pull in updates of content from the child site. When you pull in the RSS feed, you can check to see if anything’s changed and update content accordingly.

Again, not trying to make it sound easy … but possible.

Which one would I recommend?

Having worked extensively with XML-RPC (I’ve written some of the interface and consult on it frequently), I’m tempted to suggest that route.

WordPress’ XML-RPC system already includes all of the code necessary to authenticate requests, insert posts, upload media, update posts, etc. Everything you need to create a post on the child site already exists. The bulk of what you’d need to write is the plugin on the main site that pushes content out.