Distributor Delivers Enhanced Performance and Improved Media Handling
Distributor—our plugin that makes it easy to syndicate and reuse content across WordPress-powered websites—was released in beta last year. Since that time, 10up has shipped several point releases, representing significant and continued investment in Distributor and delivering improvements in performance, smarter media syndication, and enhancements to the content “pull” feature.
Performance Gains
Significant performance improvements to the Distributor admin interfaces ensure scalability.
With Distributor, content can be “pushed” (syndicated) to connected sites, or “pulled” from connected sites into the current site. When generating the list of connected sites, Distributor performs a number of checks on each connected site, including the current user’s permissions.
When pushing content, the list of connected sites—and all permission checks—is now loaded only after the Distributor menu is opened, which speeds up initial page loads, especially when there are many connected sites. Distributor also uses a more efficient method to receive site information when pulling content. Recent updates to the WordPress `switch_to_blog` function allowed us to refactor requests to WordPress multisite network connections and avoid making remote requests to each individual site.
With these refinements, admin screens for large, multi-site instances and sites with many connections now load significantly faster. Tests on a 100-site network showed a reduction in load time from 300 seconds down to 5 seconds, improving performance by a factor of 60.
Media Handling
Our media handling improvements make distribution more performant and dependable.
Initially, we intended for Distributor to send over a copy of every local image and media attachment (e.g. PDFs) used in the content along with the content itself. However, that approach was stymied by the way WordPress handles the relationship between content and its attached media. In short, this meant that Distributor only sent over all of the media uploaded while creating a specific piece of content. This problematic logic meant that, among other issues:
- Images used in content that were already saved in the media library before creating the content were not sent across.
- If multiple images were uploaded during post creation, but only one was used, every uploaded image was still Distributed with the post.
Now, by default, Distributor only copies the assigned featured image when distributing content. Other images in distributed posts link to the file on the origin site. For scenarios where all programmatically attached images should be distributed, we retained a setting to manually select this option.
The long-term roadmap for Distributor includes more advanced media handling and syndication options, such as scanning content for locally-stored images to carefully select the media to distribute.
Filtering Specific Content Types
Distributor also supports filtering the content available from external connected sites. It is now easier to sort and select the exact content you want to syndicate. You can now select the content type, in addition to sorting the results by name or date, making it easier to select the content you want to pull into the current site.
Coming In The Next Update
Improvements to the onboarding process including better integration with Application Passwords which will simplify the external connection set-up process. Additionally, clearer warnings and messages throughout the user interface of the plugin will facilitate swift troubleshooting when issues arise.
Get Distributor
We’re gratified by the increased adoption from large-scale publishers, including 10up clients like the 9to5 network of sites and Maine Today Media. If you’re interested in using Distributor, we have a registration program that ensures adopters are apprised of major updates and beta testing opportunities and allows us to gather feedback and prioritize common use cases. Registrants receive a free license key, which enables one-click updates in the WordPress dashboard.
To register and download the plugin, head to DistributorPlugin.com. Distributor is also available on GitHub, where we are actively reviewing feedback and issue reports.
If Distributor and our open-source work are interesting to you, come work with us!