When you are working with a WordPress development or staging site in conjunction with a live site, there are often times when you just want to migrate a couple of blog posts, for example, from staging to live, without re-migrating the whole site. Or you may be looking for a way to share content between your sites.
While there are some tools, like WP Migrate DB (pro), that let you sync databases pretty easily, that can be overkill for some situations, and they tend to be more developer-centric.
This post previously discussed the WP Site Sync plugin as a user-friendly solution to this problem of syncing content between WordPress sites. But the plugin has unfortunately shut down, although at last check it still works and you can download it for free from their Github page.
But you’re more than likely not going to want to use an old, unsupported plugin! Fortunately I have discovered an alternative which works really well – the Distributor plugin from 10up.
10up is an enterprise level agency that builds WordPress sites for the likes of the White House, GoDaddy and other huge companies. They make various tools that they use in their own process, available for the community.
The Distributor plugin isn’t in the usual WordPress repository, but you can download it here: https://distributorplugin.com/
You have to give your email address to receive a registration key, but it’s free.
Distributor works whether you are syncing posts between different sites, or whether you need to synchronize content on your multisite.
How to use the Distributor plugin
If you are on a multisite, the plugin will automatically detect other sites in the network and make them available for pushing/pulling content.
When syncing content between different sites, you will need to install Distributor on both sites that you want to synchronize.
- Download the zip file from https://distributorplugin.com/
- In your WordPress site, go to Plugins > Add New > Upload plugin and upload the zip file.
- You will then see the Distributor menu on the left side. Go to the Settings tab.
- Enter your email and registration key to make sure you get plugin updates. You can also configure some basic settings here, regarding the author bylines and media handling.
Then you need to set up the other site(s) as External Connections.
- Give it a name, usually the name of the site works best
- Choose the authentication method, I typically use username/password
- Enter your site URL and click Authorize Connection
- You will then be taken to the login page for your specified site and prompted to authorize the connection on that site.
- Then you’ll follow the same process in the External Connections settings, using the other domain.
- You will need to authorize the connection between the two sites. Click “Yes, I approve of this connection”.
- On the next screen you can confirm which user roles you’d like to be able to push/pull.
Now you’re ready to start syncing content!
Go to the Pull Content menu and you will see a list of content from the external site.
I use Pull as Draft, but that’s optional.
Click pull as draft, and magically that post appears in your site!
Distributor offers true synchronization if you want it. Meaning that if you update that post on its source site, the pulled version will update as well.
However, if you are just using that post as a starting point and want to edit it separately, you just need to unlink it:
On the flip side, you can also push content from your original site to the external one.
Go to the Edit screen for any post and click the Distributor tab in the sidebar. Then click “Distribute Post”
Choose which site (if you have more than one) and click Distribute. And again, like magic it appears in your external site.
Distributor makes the process of syncing content between WordPress sites or within multisites really easy!
I haven’t come across too many other solutions for syncing content between WordPress sites. In the regular WordPress repository, if you search you will likely come across the plugin Sync Post With Other Site. It’s very similar in concept, but less polished and intuitive than Distributor. If for some reason you are not able to use Distributor, you could try Sync Post With Other Site, it does work, but I don’t recommend it as whole-heartedly!