{"id":229383,"date":"2025-09-18T23:47:41","date_gmt":"2025-09-18T23:47:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/deploy-sync-content\/"},"modified":"2025-11-20T15:04:13","modified_gmt":"2025-11-20T15:04:13","slug":"deploy-sync-content","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/deploy-sync-content\/","author":23251790,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.2.0","stable_tag":"2.2.0","tested":"6.8.5","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Deploy & Sync Content","header_author":"EA Lab","header_description":"Retrieve content from your production site to your development instances.","assets_banners_color":"bec5e0","last_updated":"2025-11-20 15:04:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp-deployer.io\/","header_author_uri":"https:\/\/ea-lab.io\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":701,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.0":{"tag":"2.1.0","author":"ealab","date":"2025-09-19 04:46:06"},"2.1.1":{"tag":"2.1.1","author":"ealab","date":"2025-09-23 13:33:15"},"2.2.0":{"tag":"2.2.0","author":"ealab","date":"2025-11-20 15:04:13"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3364251,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3364251,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3364251,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.0","2.1.1","2.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[19981,568,1558,10745,259],"plugin_category":[50],"plugin_contributors":[248064],"plugin_business_model":[],"class_list":["post-229383","plugin","type-plugin","status-publish","hentry","plugin_tags-deploy","plugin_tags-download","plugin_tags-sync","plugin_tags-transfer","plugin_tags-upload","plugin_category-media","plugin_contributors-ealab","plugin_committers-ealab"],"banners":{"banner":"https:\/\/ps.w.org\/deploy-sync-content\/assets\/banner-772x250.png?rev=3364251","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/deploy-sync-content\/assets\/icon-128x128.png?rev=3364251","icon_2x":"https:\/\/ps.w.org\/deploy-sync-content\/assets\/icon-256x256.png?rev=3364251","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>\u26a0\ufe0f Warning: Experimental plugin. Please make a full backup before use and test thoroughly.<\/strong><\/p>\n\n<h4>About<\/h4>\n\n<p>The <em>WordPress<\/em> ecosystem has never offered a simple solution for managing content between environments. Since its inception, one problem persists: granular deployment of content and configurations.<\/p>\n\n<p>You develop on a test site and want to send only certain content to your production site. With existing tools, two scenarios often occur: creating duplicates... or having to overwrite the entire database. The constraints imposed by the diversity of plugin ecosystem operations have already caused several attempts to fail.<\/p>\n\n<p>We are convinced that a solution is possible.<\/p>\n\n<p>That's why we designed <em>Deploy &amp; Sync Content<\/em>: a new approach, designed to finally offer selective synchronization between your environments.<\/p>\n\n<h4>Main Features<\/h4>\n\n<p>The free version offers unidirectional synchronization (Production \u2192 Staging\/Local), ideal for simply transferring your content and media between your sites.<\/p>\n\n<p>For bidirectional synchronization and advanced features, check out the Pro version(https:\/\/wp-deployer.io\/en\/features).<\/p>\n\n<p><strong>Intelligent database merging<\/strong>: The plugin detects existing content to update or create it as needed. You thus maintain the consistency of your environments and avoid any loss of information.<\/p>\n\n<p><strong>Unidirectional synchronization (free version)<\/strong>: Production \u2192 Staging\/Local: quickly transfer your content and media between your sites.<\/p>\n\n<p><strong>Data conflict management<\/strong>: The tool identifies and allows you to resolve differences before import, ensuring updates without loss.<\/p>\n\n<p><strong>Automatic ID mapping<\/strong>: Avoid duplicates and inconsistencies related to page builders and ID references.<\/p>\n\n<p><strong>Preservation of content relationships<\/strong>: Posts, taxonomies, media and metadata remain correctly linked after each synchronization.<\/p>\n\n<h3>Terms of use and External Services<\/h3>\n\n<p><em>Deploy &amp; Sync Content<\/em> is free to use and relies on the following services:<\/p>\n\n<ol>\n<li><p><strong>Online Configuration Service<\/strong> (wp-deployer.io)<\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Configures and updates the export\/import system. This service is optional, but recommended until alternatives are provided by the community.<\/li>\n<li><strong>Data Collection<\/strong>:\n\n<ul>\n<li>IP address of your WordPress instance<\/li>\n<li>Production URL (from plugin settings)<\/li>\n<li>Site URL<\/li>\n<\/ul><\/li>\n<li><strong>When Used<\/strong>:\n\n<ul>\n<li>During plugin activation<\/li>\n<li>For configuration updates<\/li>\n<li>For license verification (Pro version)<\/li>\n<\/ul><\/li>\n<li><strong>Security<\/strong>: This data is used to protect our systems from spam and malicious use<\/li>\n<li><strong>Privacy<\/strong>: Data is not shared with any business partners<\/li>\n<li><strong>Terms &amp; Privacy<\/strong>: <a href=\"https:\/\/wp-deployer.io\/en\/general-terms-and-conditions-use-gtcu\">https:\/\/wp-deployer.io\/en\/general-terms-and-conditions-use-gtcu<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>Local Data Storage<\/strong><\/p>\n\n<ul>\n<li><strong>Purpose<\/strong>: Temporary storage for content synchronization<\/li>\n<li><strong>Location<\/strong>: in the <code>uploads<\/code> directory of your WordPress installations<\/li>\n<li><strong>Security<\/strong>: Data is stored on your servers and is not transmitted to any external services<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h3>Credits<\/h3>\n\n<p><em>Deploy &amp; Sync Content<\/em> is developed by <em>EA Lab<\/em>.<\/p>\n\n<p><em>Deploy &amp; Sync Content<\/em> includes the <em>plugin.json<\/em> file from the <em>WP Optimize<\/em> plugin\n(GPLv2+ licensed).<\/p>\n\n<p><em>Deploy &amp; Sync Content<\/em> includes various software dependencies taken from the packagist\nrepository, listed in <strong>vendor<\/strong> and <strong>vendor-prefixed<\/strong> directories. Most\nof them are unaltered in functionality. The only patched library is\n    jfcherng\/php-diff, which has been patched for translation and customized\nrendering.<\/p>\n\n<!--section=installation-->\n<ul>\n<li>Install and activate first on your production instance. You will be guided\nthrough the activation steps.<\/li>\n<li>Then do the same on your development instance. Please note that it's highly recommended that your development instance shares a common history with the production instance.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id='is%20my%20site%20compatible%3F'><h3>Is my site compatible?<\/h3><\/dt>\n<dd><p>To know if your site is compatible, you can refer to the page https:\/\/wp-deployer.io\/en\/compatibility-wp-plugins-and-themes<\/p>\n\n<p>If one of your plugins is not on the list, its compatibility must be checked before using <em>Deploy &amp; Sync Content<\/em>.<\/p>\n\n<p>You can ask the developers of the unchecked plugin to make it compatible with our system.<\/p><\/dd>\n<dt id='i%27m%20a%20plugin%20developer%21%20how%20do%20i%20make%20my%20plugin%20compatible%3F'><h3>I'm a plugin developer! How do I make my plugin compatible?<\/h3><\/dt>\n<dd><p>Please contact us on our forum. The process to make your plugin compatible varies over its complexity, so we'll need you to share technical details on how it works.<\/p><\/dd>\n<dt id='how%20does%20an%20import%20work%3F'><h3>How does an import work?<\/h3><\/dt>\n<dd><p>Launch the diff from the <em>Deploy &amp; Sync Content<\/em> interface on your staging\/local.<\/p>\n\n<p>The system generates a package with your changes to verify and merge.<\/p>\n\n<p>It identifies existing content to update or create as needed, ensuring continuity and consistency of your environments.<\/p>\n\n<p>Then click on import, the existing content from your production on your staging\/local will be saved.<\/p><\/dd>\n<dt id='can%20i%20synchronize%20my%20staging%20site%20to%20production%3F'><h3>Can I synchronize my staging site to production?<\/h3><\/dt>\n<dd><p>The free version only allows one-way synchronization (Production \u2192\nStaging\/Local). The <em>Pro<\/em> version allows bidirectional synchronization to send\nyour staging content to production.<\/p><\/dd>\n<dt id='what%20types%20of%20content%20are%20supported%3F'><h3>What types of content are supported?<\/h3><\/dt>\n<dd><p>All core <em>WordPress<\/em> content is supported: posts, pages, media, taxonomies.\nThird-party content may be supported such as WooCommerce products. 3rd-party\nsupport may vary.<\/p><\/dd>\n<dt id='does%20the%20plugin%20work%20on%20shared%20hosting%3F'><h3>Does the plugin work on shared hosting?<\/h3><\/dt>\n<dd><p><em>Deploy &amp; Sync Content<\/em> should work on most types of hosting, including\nshared servers, VPS, and cloud solutions. If it doesn't work for you, feel\nfree to contact us on the forum.<\/p><\/dd>\n<dt id='how%20do%20i%20manage%20data%20conflicts%20between%20my%20production%20site%20and%20my%20staging%20site%3F'><h3>How do I manage data conflicts between my production site and my staging site?<\/h3><\/dt>\n<dd><p><em>Deploy &amp; Sync Content<\/em> includes an advanced conflict detection system, allowing you to\nreview and resolve differences before importing the synchronization.<\/p><\/dd>\n<dt id='is%20there%20a%20limit%20to%20the%20number%20of%20content%20items%20that%20can%20be%20synchronized%3F'><h3>Is there a limit to the number of content items that can be synchronized?<\/h3><\/dt>\n<dd><p>The free version contains a limit per synchronization, mostly for performance\nreasons. This limit may be lifted after some performance work is done.<\/p><\/dd>\n<dt id='does%20deploy%20%26%20sync%20content%20support%20cli%20commands%3F'><h3>Does Deploy &amp; Sync Content support CLI commands?<\/h3><\/dt>\n<dd><p>Yes, <em>Deploy &amp; Sync Content<\/em> includes a command-line interface (CLI) for integration into\nCI\/CD workflows and automation of synchronizations.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.0<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong>: postmeta relying on excluded posts do not make the UI crash anymore.<\/li>\n<li><strong>Fix<\/strong>: Reference fields pointing on inexistant or excluded items do not crash anymore.<\/li>\n<li><strong>Fix<\/strong>: Items referencing unmodified items will now force retrieve such items instead of returning null or throwing an exception.<\/li>\n<li><strong>Fix<\/strong>: Fixed nonce problems (unmatched values) preventing imports.<\/li>\n<li><p><strong>Fix<\/strong>: Fixed package sending bug that was caused by misuse of getBaseDirectory.<\/p><\/li>\n<li><p><strong>New<\/strong>: New transmutation handler: DelimitedTransmutationHandler (UI to do).<\/p><\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li><strong>Fix<\/strong>: Fixed settings form that unsets values upon save instead of keeping them.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Compliance fixes.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Compliance fixes.<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Compliance fixes.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Compliance fixes.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Compliance fixes.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Initial release!<\/li>\n<\/ul>","raw_excerpt":"Move your content easily from your production instance to your development instance.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/229383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=229383"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ealab"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=229383"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=229383"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=229383"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=229383"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=229383"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=229383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}