|
| 1 | +# Syndication |
| 2 | + |
| 3 | +Stable tag: 2.2.0 |
| 4 | +Requires at least: 6.4 |
| 5 | +Tested up to: 6.9 |
| 6 | +Requires PHP: 7.4 |
| 7 | +License: GPLv2 or later |
| 8 | +License URI: https://www.gnu.org/licenses/gpl-2.0.html |
| 9 | +Tags: syndication, xmlrpc, rest-api, content-distribution, multisite |
| 10 | +Contributors: automattic, garyj, nprasath002, batmoo, betzster, nickdaugherty |
| 11 | + |
| 12 | +Syndicate content to and from your WordPress sites. Push posts to multiple destinations or pull content from external feeds with a single click. |
| 13 | + |
| 14 | +## Description |
| 15 | + |
| 16 | +Syndication helps users manage posts across multiple sites. It's useful when managing posts on different platforms. With a single click you can push a post to more than 100 sites. |
| 17 | + |
| 18 | +### Features |
| 19 | + |
| 20 | +* **Push syndication** - Publish content to multiple WordPress sites simultaneously |
| 21 | +* **Pull syndication** - Import content from RSS/XML feeds automatically |
| 22 | +* **Multiple transport methods** - WordPress.com REST API, XML-RPC, and RSS/XML feeds |
| 23 | +* **Site groups** - Organise destination sites into groups for easier management |
| 24 | +* **Scheduled syndication** - Content syncs automatically when posts are published |
| 25 | +* **WP-CLI support** - Manage syndication from the command line |
| 26 | + |
| 27 | +## Installation |
| 28 | + |
| 29 | +1. Upload the `syndication` folder to `/wp-content/plugins/` or install via the WordPress admin. |
| 30 | +2. Activate the plugin through the 'Plugins' menu in WordPress. |
| 31 | +3. Visit **Settings > Push Syndication** to configure the plugin. |
| 32 | +4. When editing a post, use the "Syndication" metabox to select destination sites/groups. |
| 33 | + |
| 34 | +## Usage |
| 35 | + |
| 36 | +Here's how it works: |
| 37 | + |
| 38 | +1. Configure which post types are "pushable", as well as whether you'd like syndicated posts to be deleted when the master post is deleted. |
| 39 | +2. Register and group your sites into "Sitegroups" in settings. |
| 40 | +3. In the WordPress posting interface, you'll see a new "Syndication" metabox, with all of your sitegroups listed. Select the sitegroups you want to push to and the post will be automatically syndicated to your other sites when it's published and updated. |
| 41 | + |
| 42 | +### WordPress.com REST API |
| 43 | + |
| 44 | +To push content using the WordPress.com REST API you need to create an [application](https://developer.wordpress.com/apps/new/) from the [WordPress.com Developer Resources](https://developer.wordpress.com/) site - and you can also generate API tokens directly from the plugin's settings page. |
| 45 | + |
| 46 | +Fill in the client ID and client secret as displayed on the app page, and click the authorize button to get directed to the authorization page on WordPress.com. Select which site you'd like to push to and click "Authorize", at which point you'll be redirected back to your settings page-which will now display the API token, Blog ID, and Blog URL. You can now use this information to register your WordPress.com site. |
| 47 | + |
| 48 | +### Using WordPress XML-RPC |
| 49 | + |
| 50 | +To push content using XML-RPC, you'll need to enable XML-RPC on the destination site and provide the site URL, username, and password. |
| 51 | + |
| 52 | +Note that if you have two-factor authentication enabled on the destination site, you will need to create an application password to use when adding a new site. Using your regular password will not work. |
| 53 | + |
| 54 | +### Pulling from RSS Feeds |
| 55 | + |
| 56 | +Push Syndication can ingest RSS feeds into your site. It's as simple as adding a site, setting the transport type to "RSS (pull)" and entering an RSS URL and title. |
| 57 | + |
| 58 | +To add a site, go to the WordPress admin and find the "Sites" menu item, below Settings and choose "Add New". In the settings, you'll be able to customise the post's type, status, comment settings, pingback settings and category. |
| 59 | + |
| 60 | +### Secure Credential Storage |
| 61 | + |
| 62 | +To store passwords securely, define an encryption key in your `wp-config.php`: |
| 63 | + |
| 64 | +```php |
| 65 | +define( 'PUSH_SYNDICATE_KEY', 'your-random-encryption-key-here' ); |
| 66 | +``` |
| 67 | + |
| 68 | +This key is used to encrypt credentials when saved to the database. |
| 69 | + |
| 70 | +## Frequently Asked Questions |
| 71 | + |
| 72 | +### What transport methods are supported? |
| 73 | + |
| 74 | +* **WordPress.com REST API** - For sites hosted on WordPress.com or using Jetpack |
| 75 | +* **XML-RPC** - For self-hosted WordPress sites with XML-RPC enabled |
| 76 | +* **RSS/XML feeds** - For pulling content from any feed source |
| 77 | + |
| 78 | +### Can I syndicate to non-WordPress sites? |
| 79 | + |
| 80 | +The push functionality requires WordPress on the destination site. However, pull syndication can import content from any valid RSS or XML feed. |
| 81 | + |
| 82 | +### Does it work with multisite? |
| 83 | + |
| 84 | +Yes, Syndication works with WordPress multisite installations. You can syndicate content between subsites or to external sites. |
| 85 | + |
| 86 | +## Changelog |
| 87 | + |
| 88 | +See [CHANGELOG.md](CHANGELOG.md) for the full changelog. |
| 89 | + |
| 90 | +## Contributing |
| 91 | + |
| 92 | +Pull requests are welcome on [GitHub](https://github.com/Automattic/syndication). |
0 commit comments