WordPress Crosspost cross-posts content from your self-hosted WordPress blogs to your WordPress.com sites. Updates are crossposted, too.
WordPress Crosspost posts to your WordPress.com (or self-hosted JetPack-enabled) blog of your choice whenever you hit the “Publish” (or “Save Draft”) button. It can import your reblogs and other posts on WordPress.com. It even downloads the media attachments in your WordPress.com posts and saves them in your self-hosted WordPress Media Library.
Transform your self-hosted WordPress website into a back-end for your WordPress.com-hosted website. Create original posts on your local computer, but publish them to WordPress.com. Import your WordPress.com reblogs. Always have a portable copy (a running copy) of your entire WordPress.com blog.
This plugin uses WordPress.com’s REST API to keep posts in sync; when you edit your WordPress post, it updates your crossposted post. Private WordPress posts stay private on the remote site, deleting a post from WordPress that you’ve previously cross-posted deletes it from the remote site, too, and so on. Scheduling a WordPress post to be published any time in the future will add it to the remote site’s future publication schedule, too. See the Other Notes page for a complete listing of features.
WP-Crosspost is very lightweight. It just requires you to connect to your WordPress.com account from the plugin options screen. After that, you’re ready to cross-post!
Other options and features enable tweaking additional metadata from your WordPress entry (notably categories and tags) to the remote site, switching comments and pingbacks on or off, and more.
WP-Crosspost transforms your self-hosted WordPress website into a back-end for your WordPress.com-hosted website. Create your posts locally on your own computer’s WordPress, but publish to WordPress.com’s servers. This means you’ll always have a portable copy of your entire blog, and you can stop worrying about whether your backups are up to date. Create new content locally, then move them to the server automatically, instead of the other way around!
Servers no longer serve, they possess. We should call them possessors.
Learn more about how you can use this plugin to own your own data in conjunction with the “Bring Your Own Content” self-hosted Web publishing virtual appliance.
Maintaining this plugin is a labor of love. However, if you like it, please consider making a donation for your use of the plugin, purchasing one of Meitar’s web development books or, better yet, contributing directly to Meitar’s Cyberbusking fund. (Publishing royalties ain’t exactly the lucrative income it used to be, y’know?) Your support is appreciated!
This plugin is inspired by and based on Tumblr Crosspostr.
Full feature list
WP-Crosspost turns your self-hosted WordPress blog into the back-end of one of your WordPress.com sites. Crossposting between self-hosted WordPress blogs is theoretically supported (but untested) if you have JetPack installed and enabled on the remote self-hosted WordPress blog.
You can crosspost (push):
Some notes on crossposting (push-posting):
When sync’ing is enabled, you will import (pull):
Wondering if WP-Crosspost can do something you don’t see on this list? Ask about or search for it in the WP-Crosspost plugin support forum! Also, I’m just one guy working on this whenever I get the time to, so I prioritize the most often requested features. If your feature isn’t high on my list, please be patient or, better yet, donate to support my work on this plugin so that I have more time to devote to this work. Thanks! 🙂
See also the Screenshots section for a visual walk through of this process.
If you are having trouble installing or using WP-Crosspost, first make sure have the following necessary components installed on your server:
Moreover, WP-Crosspost makes use of Manuel Lemos’s oauth_client_class
for some core functions. Most systems have the required packages installed already, but if you notice any errors upon plugin activation, first check to ensure your system’s PHP include path is set correctly. The lib
directory and its required files look like this:
lib ├── OAuthWP.php ├── OAuthWP_WordPressDotCom.php ├── WPCrosspostAPIClient.php ├── httpclient │ ├── LICENSE.txt │ └── http.php └── oauth_api ├── LICENSE └── oauth_client.php
It’s also possible that your system administrator will apply updates to one or more of the core system packages this plugin uses without your knowledge. If this happens, and the updated packages contain backward-incompatible changes, the plugin may begin to issue errors. Should this occur, please file a bug report on the WP-Crosspost project’s issue tracker.
When you first install WP-Crosspost, you'll need to connect it to your WordPress.com account before you can start crossposting. This screenshot shows how its options screen first appears after you activate the plugin.
Once you create and enter your client ID and secret, click "Save Changes." The options screen prompts you to connect to WordPress.com with another button. Press the "Click here to connect to WordPress.com" button to begin the OAuth connection process.
After allowing WP-Crosspost access to your WordPress.com account, you'll find you're able to access the remainder of the options page. You must choose at least one default WordPress site to send your crossposts to, so this option is highlighted if it is not yet set. Set your cross-posting preferences and click "Save Changes." You're now ready to start crossposting!
You can optionally choose not to crosspost individual WordPress posts from the WP-Crosspost custom post editing box. This box also enables you to send a specific post to a WordPress.com site other than the default one you selected in the previous step, and crosspost the post's excerpt rather than its main body.
Get help where you need it from WordPress's built-in "Help" system.
Yes. WordPress’s tags and categories are also crossposted to your other WordPress sites. If you’d like to keep your local WordPress tags or categories separate from your crossposted ones, be certain you’ve enabled the “Do not send post tags in crossposts” or “Do not send post categories in crossposts” setting.
Additionally, the “Automatically add these tags to all crossposts” setting lets you enter a comma-separated list of tags that will always be applied to your crossposts.
Yes. Go edit the desired post, verify the crosspost option is set to Yes
, and update the post. WP-Crosspost will keep the original post date.
If you edit or delete a post, changes will appear on the remote site accordingly.
Yes. WP-Crosspost respects the WordPress post visibility setting and supports cross-posting private posts. Editing the visibility setting of your WordPress post will update your remote site’s cross-posted entry with the new setting, as well.
Not yet, but with your help it can be. To help translate the plugin into your language, please sign up as a translator on WP-Crosspost’s Transifex project page.
wp_crosspost_prepared_post
lets other plugin authors customize the data about to be crossposted.E_NOTICE
errors in strict environments.rel-syndication
IndieWeb pattern as implemented by the recommended Syndication Links plugin. rel-syndication
is an IndieWeb best practice recommendation that provides a way to automatically link to crossposted copies (called “POSSE’d copies” in the jargon) of your posts to improve the discoverability and usability of your posts. For Tumblr Crosspostr’s rel-syndication
to work, you must also install a compatible WordPress syndication links plugin, such as the Syndication Links plugin, but the absence of such a plugin will not cause any problems, either.