Distributor plugin: Share content between your WordPress sites
Meet the newest addition to 10up’s suite of powerful, open source tools for content creators and managers: Distributor.
Distributor is a WordPress plugin that empowers content managers to safely reuse and syndicate content across their websites, supporting sites within a WordPress multisite network and across the web using the REST API. Designed with an intuitive user experience at the forefront, Distributor integrates “push” and “pull” use cases.
The sharing interface is accessible from the admin bar when viewing a single piece of content in the editor or on the front end. Without leaving the content – and with just a couple of clicks – content managers can “push” the content to any other sites where he or she has permission to publish. Think of it as a “retweet” feature for your WordPress sites.
Editors can also “pull” content into the current site, reviewing available, compatible content from their other sites.
Shared copies of content preserve all of the properties of the original post, including post meta (custom fields) and taxonomy terms; copies also automatically inherit changes to the original post, unless unlinked. Shared copies can be unlinked from the original, to modify the content; the link can always be restored again later.
Built with SEO in mind, Distributor protects your content by taking care of canonical links and references.
Designed with the same extensible philosophy as WordPress itself, we want to empower developers to apply it to their unique use cases. Distributor’s “connections” framework – which includes WordPress REST API connections out of the box – supports custom connection types; developers can wire in custom sources like a news wire, asset management system, or an entirely different content management system.
Developed with real world, enterprise-grade use cases in mind, and already in use by select clients, we see Distributor as a foundation for sharing, reposting, syndicating, and reusing content across the web. Whether you have a network of online publications that share stories, a handful of marketing sites that repurpose documentation and product descriptions, or want to prepare content in staging and “push” to production, Distributor provides a foundation.
In short: Distributor is the all-in-one content sharing tool that anyone managing multiple WordPress sites has been waiting for.
Distributor is in a final closed beta, as we seek additional feedback ahead of anticipated support needs. We intend to release the plugin for free in the near future. In the meantime, we’d love to collect more real world feedback from content creators; if you’re interested in getting early access, just tell us a little about your use case, and we’ll send over a copy.
You can learn more about Distributor and request early access at DistributorPlugin.com.
Lisa Linn Allen on
The plugin web site seems to be down, but I’m intrigued by this.
Jake Goldman on
The plugin site is up now – apologies for the mix up.
Jim Luke on
I’m very interested in the Distributor plugin, but the last two links (https://distributorplugin.com/) to signup or give use case for early access don’t seem to resolve.
I manage multi-site networks in higher education used as student blogs connected to course hub blogs. This sounds like a great replacement for our existing RSS feeds-based setup.
Jake Goldman on
The plugin site is up now, after a small domain registrar issue. Apologies for the mix up – go ahead and submit a beta request!
Euan McMillan on
What an amazing Plugin! WOW! this works great! I can publish on 3 sites and pul blogs back from any of them. The Post Image is transferred but does not seem to be set in the posted item! It takes sometime to set up however we have 3 different servers and this handles that no problem!
Great productivity help! Thank you!
Toby on
Just wondering what the intention is with this plugin, as follows:
– Is it currently live?
– Is it supported and is the plan to continue supporting it / is the demand there to support it? (ie. will it be stable for a long period of time)
– If I have 1 master site and, for example, 10 other sites can I set it up so any of the 10 other sites can pull from the master site but not each other?
– can the push/pull be determined by category?
– Will it work with custom templates and custom fields (I am thinking of ACF)
Thanks.
Jake Goldman on
“Is it currently live?” Yes.
“Is it supported and is the plan to continue supporting it / is the demand there to support it?” Many of our own clients depend on Distributor – we have long term plans to support this solution, and a robust roadmap. If anyone wants to help ensure it remains viable and help us maximize the resources we assign to it, we’d love to see organizations sign up for enterprise support packages.
“If I have 1 master site and, for example, 10 other sites can I set it up so any of the 10 other sites can pull from the master site but not each other?” Yes.
“Can the push/pull be determined by category?” Not using the out-of-the-box interface or configuration options, but a developer can extend the plugin to achieve that with modest effort.
“Will it work with custom templates and custom fields (I am thinking of ACF)” Generally, yes, but whether all custom fields and templates will work “out of the box” as expected, depends on how they’re configured and implemented. A simple custom text field with a value you want to display? No problem. A reference to a connected post ID (for example)? That would need developer customization, since the remote sites won’t know what that post ID references.
Al-Burraq Technologies on
Nice post such a wonderful post keep sharing like this post.
AHMAD SYAUQI on
Very good if this plugin can be used for Multisite and connects all posts without having to change the supported URL.
Ess on
Just downloaded/installed on the two different installations – it does not seem to be able to connect in either direction – (seems to recognize other sites within a multisite – still have not tested this yet) – External Connection URL is what I am trying to configure – both on the Distributor site and Recipient site. Only says ‘No connection found.’
Luis Eufracio on
How do categories work?
For example if I push an article from site A, can I decide the categories in site B or are site A’s categories distributed along with the article?
Jake Goldman on
By default, Distributor doesn’t push public facing taxonomies like categories over, as we’ve found that most sites don’t want to “impose” the origin site’s taxonomies on the destination site, potentially creating duplicates or messing up their information architecture. However, a developer can override this behavior: check out the “dt_syncable_taxonomies” filter in the code base.
John Cantlin on
Hello, we have a multi-author site.
Our main site is furzly.com and we have a staging site write.furzly.com. Our goal with this website is to have a bunch of contributors log into the write site just to create and publish posts. We are trying to have the staging site send those posts to our main site.
Will this plugin also import the user’s information?
Jake Goldman on
For a variety or reasons (mostly security related, when it comes to copying users across sites), Distributor does not import user information. By default, the plugin replaces the author name and link with the origin site’s name and link – which would not be helpful in your situation. You can turn off that override using the “Override” setting in the plugin – however, that would result in the person who distributed the post appearing as the author. A developer can, however, override this behavior with limited effort. This Github thread provides some code snippets that might address your specific use case: https://github.com/10up/distributor/issues/435#issuecomment-520507788
Ron on
I would like to have this plugin automatically bulk push content to subdomains in a multisite install. We do about 500 posts per day and a bulk push option would be needed.
Jake Goldman on
A user interface to pre-configure bulk distribution isn’t on the immediate roadmap… however, a developer comfortable with WordPress can use the plugin’s hooks and filters (API) to write some code that enables workflow automation. If you’re looking for professional support extending Distributor with customer workflows, get in touch on our contact page!
sebastienserre on
Hello,
Seems to be a great plugin and exactly what a customer needs…
Is it possible to pull post by cron task ?
Jeff Paul on
Sebastien – there are no WP CLI commands for Distributor. What’s the scenario you have where pulling posts by a cron task would be an optimal solution?
Paweł on
When you’d like to pull 1000 posts.
Jeff Paul on
Paweł – This makes sense as a legitimate use case, batching is generally something we need to think through on how best to handle but working around things for now using cron seems good. I’ve gone ahead and opened a placeholder issue in GitHub for folks to discuss options and approach on batching, feel free to subscribe and share your thoughts there… thanks!
Chris Carpenter on
Hi there, So I manage three WP sites for the same company, they are separate instances. Can I use this plugin to distribute content? Thanks. Chris
Jeff Paul on
Chris – yes, Distributor works for different WordPress instances, with multiple sites within a multisite setup, and with a blend of those two as well.
Alvin on
Hi there, can Distributor support external connection with multisite setup? what i mean is, both source and target sites are multisite, thanks.
Jeff Paul on
Alvin – yes, Distributor can connect sites from different multisite networks using external connections.
watii on
hello i dont see the plugin in the wordpress
Jeff Paul on
@watii – Distributor is not available on the WordPress.org plugin repository, but you can download it here (https://distributorplugin.com/) and then upload the ZIP to your WordPress installs to utilize it for your content distribution needs.
Ebe on
What is the reason why Distributor is not available on the WordPress plugin respository? You have your other plugins in the WP repository. Thanks!
Jeff Paul on
Ebe – we’ve chosen to more closely control how the Distributor plugin is distributed (currently via GitHub only). Do you have an issue with this plugin distribution method that impacts your ability to use Distributor?
Patrick Roesch on
Hi Guys,
I have a subdirectory based multisite that provides sub-sites for members. The purpose is to give them the same content as the main site, except for the about us page, some unique outgoing links and their own email address as recipient on contact forms.
I have just created the first sub-site by using NS Cloner, then making the adjustments relevant to the specific member. So this appears to be a reasonable ongoing solution to create each sub-site.
My greatest concern from an SEO perspective however is the search engines seeing duplicate content. I don’t think the best solution is setting rel=no index on every sub-site for 90% of posts/pages/projects…
I wanted to know – 1> Does the Distributor plugin, by taking care of canonical links and references, address the ‘duplicate content’ issue?
2> Would I need to create each sub-site differently (as in not cloned) to achieve the intended plugin ‘Content Distribution’ from Main Site to Sub-sites strategy?
3> Would I need to go into edit mode for every single page, post & project on the main site, then push the content to the destination sub-site, assuming the sub-site is effectively a clone of the main site structurally but without any content in the target pages, posts & projects?
I hope the above all makes sense and I am extremely grateful for your feedback.
Kind Regards, Patrick
Jeff Paul on
Patrick –
1) As noted in Distributor’s Known Caveats/Issues, the default handling of canonical URLs of distributed posts is to point to the original content which corresponds to SEO best practices.
2) Distributor keeps a record of the distributed copies of a post, so you’re best off cloning a base site and then distributing necessary posts/pages/custom post types after the site has been set up. That way Distributor’s mapping on the origin site will know the cloned sites/posts/etc. exist. If you clone a site with existing distributed posts/pages/custom post types, then Distributor will not know those cloned copies exist and will not keep those in sync with any changes to the origin content.
3) Yes, that would be the ideal approach to ensure that your origin site knows of all cloned sites and can appropriately sync content changes to those cloned sites.
Good luck and keep me posted how this works out for you, thanks!
Jeff.
Simon Weiner on
HIi, Is this plugin live and how do I access it? Thanks. Simon
Jeff Paul on
Simon – yes, Distributor is available by visiting https://distributorplugin.com/ to download a copy and get your free registration key.
Ghughuti on
Hi, I downloaded the plugin and setup the connection as described in installation instructions, but connection is not being established, I am using wordpress 5.5 and need to syndicate post to site A to site another 10 sites.
Please suggest, what is blocking the access, I am using namecheap hosting. Jetpack to use xmlrpc and wordpress android app.
However I am
Jeff Paul on
Ghughuti – If you’re using a multisite setup, then you do not need to create External Connections. If you’re using separate WordPress instances, then please ensure you’re using Distributor 1.6.0 as it introduced a simplified “auth wizard” approach for creating External Connections that should make creating connections to distribute your content much easier. If you’re still having problems, then please reach out on GitHub where we handle plugin support… thanks!
James on
Hello,
How to determine who can share and what can be share?
are there any settings?
Thank you
Jeff Paul on
James,
For sites within a multisite setup, any user logged into the network can distribute any content in the network to any other sites in the network where that user has permission to publish posts (assuming the site supports the same post type).
For External Connections to separate WordPress instances, admins can decide which user roles are allowed to distribute content to and from that connection (Editors and Administrators by default). All users with those roles will inherit the permissions of the user account used to establish the remote connection. You can see a GIF of this in action in our most recent blog post: https://10up.com/blog/2020/distributor-1-6-release/.
Finally, note that for Custom Post Types distribution to work with External Connections the post type needs to be registered with the argument “show_in_rest => true” on the external site.
Jeff.
Tajdar Khan Afridi on
Really good plugin.
Justin on
I am not seeing a ‘push content’ option when I connect 2 websites in the external connections. Also, is there a way to make publishing groups so that we can send out content to multiple child sites at once (or in a queue)?
Jeff Paul on
Justin – We have some notes on pushing content in the plugin readme, but if you’re not seeing the Distributor menu in the adminbar then please open an issue in GitHub and we’ll help troubleshoot there. There is currently no support for groups, but there is a request for this that you can subscribe to for future updates. If that functionality is a particularly urgent or important need for you, then we can chat about other ways we could approach that for you (reach out to [email protected]).
Thanks!
Jeff.
Saúl Bautista on
Hi, interesting plugin. I have a question: I have a multisite environment with 10 sites and I would like to post something in my master site and replicates this post in the other 9 sites but get the info from master post, not create 10 posts with 10 featured images in database. Can I do that with Distributor? Thanks in advance
Jeff Paul on
Saúl,
Distributor will create posts in those 9 other multisite instances and keep that content in sync with the source post on your “master” site. What are you trying to achieve by not having those posts and featured images added to the 9 multisite instances? Also, feel free to ask questions and open enhancement or bug issues in our GitHub repo as that will have a quicker response time than this page… thanks!
Jeff.