So, How to Post to Multiple WordPress Sites at Once
First of all you have to install and activate the plugin only on one website – the main website from which you are going to crosspost the content to the other sites.
The next step is to add the websites you are going to share the content to in plugin settings.
1. Add sites you would like to post to in plugin settings
Please go to Settings > Crosspost and then navigate to the Sites tab. Here you can add an unlimited amount of WordPress websites you are going to sync posts between.
In order to add a website you have to provide:
- Site URL – you can type it in any format – with https:// or http:// or without, it doesn’t really matter, because in the end your website should be available at https://, so please double check that it has SSL certificate.
- Login – it is your username on that website. Actually it can be any user who has all the necessary capabilities to publish or update posts. For this specific user you should also create an application password.
- Application Password – it is not a user password, keep that in mind. But it can be easily created in user profile settings, more info here.
- (for WordPress.com sites) Client ID – your application client ID.
- (for WordPress.com sites) Client Secret – your application client secret.
In case you have an error adding a website, please double check that REST API is turned on. Usually it is turned on by default, but your website developer or some plugin could turn if off for some reason. Just type in browser:
your-website-url/wp-json to check it. Or you can contact me via the support page – I am always here to help.
2. Configure the plugin
It is a completely optional step but I let’s take a quick look at plugin settings pages.
On the General tab you can:
- Decide what post types are allowed to be shared between WordPress sites. If the field is empty, the crossposting is going to be turned on for all publicly registered post types.
- The plugin crossposts a post only when you publish it, but if you can make the posts to be crossposted even when you save them as drafts. Custom post statuses are also supported.
- My plugin also allows to automatically remove the posts from all sites they were published to if they have been removed from the main website. This option is turned off by default, but you can turn if on.
Now let’s take a look at the Fields tab.
On this tab you can decide exactly what should be copied between sites. Maybe you don’t need post excerpts or some meta keys – great, you can turn them off here.
Or sometimes you do not need the posts to be published on other websites right away. Just turn off Post Status here – it allows to copy the posts as drafts.
3. Start syncing posts between sites
Now, once the plugin is configured and the sites you would like to post to should appear in Publish on section.
In order to make it perfectly clear how WordPress content sync is actually working, I’ve created a table below.
|You create a new post on “Site 1” and check “Site 2” and “Site 3” in Publish on section||The post will be published on “Site 2” and “Site 3” (or created as a draft if post statuses are turned off it in the plugin settings).|
|After makings some changes in post, you uncheck “Site 3” in Publish on section and then you click Update button.||The changes will be automatically reflected on “Site 2” but not “Site 3” (because the checkbox is unchecked).|
|You installed the plugin on “Site 2” and added “Site 1” in plugin settings.||Now you can sync content between sites in both ways.|
You can also use this plugin to sync products with multiple WooCommerce stores. My plugin uses WooCommerce API for that and no additional configuration is required. Don’t forget to add a site though.
Example how it works for variable products and their variations:
In case you’re using WooCommerce, some additional options are available in plugin settings:
And of course you can exclude specific WooCommerce product data from syncing, for example stock quantities or prices (may be useful if your stores have prices in different currencies).