{"id":341495,"date":"2026-07-20T09:33:47","date_gmt":"2026-07-20T09:33:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/spawnwp-deploy\/"},"modified":"2026-07-20T09:33:36","modified_gmt":"2026-07-20T09:33:36","slug":"spawnwp-deploy","status":"publish","type":"plugin","link":"https:\/\/tg.wordpress.org\/plugins\/spawnwp-deploy\/","author":23514516,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.4","stable_tag":"0.3.4","tested":"7.0.2","requires":"6.8","requires_php":"7.4","requires_plugins":null,"header_name":"SpawnWP Deploy","header_author":"SpawnWP","header_description":"Capture a configured site as a reusable SpawnWP blueprint, and optionally publish a finished site once to a separate, empty WordPress install.","assets_banners_color":"100e0f","last_updated":"2026-07-20 09:33:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/spawnwp.com\/docs\/wordpress-development\/","header_author_uri":"https:\/\/spawnwp.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":114,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.4":{"tag":"0.3.4","author":"wpvoicer","date":"2026-07-20 09:33:36"}},"upgrade_notice":{"0.3.4":"<p>Initial WordPress.org release candidate.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3614476,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3614476,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3614476,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3614476,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3614476,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3614476,"resolution":"1","location":"assets","locale":"","width":1100,"height":925},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3614476,"resolution":"2","location":"assets","locale":"","width":1100,"height":690},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3614476,"resolution":"3","location":"assets","locale":"","width":1100,"height":1404},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3614476,"resolution":"4","location":"assets","locale":"","width":1050,"height":330}},"screenshots":{"1":"Create a reusable blueprint from a configured WordPress site.","2":"Review connected SpawnWP servers and licensed or custom plugin warnings.","3":"Publish a finished site to a paired empty WordPress destination.","4":"Generate a short-lived connection key on an eligible destination."}},"plugin_section":[],"plugin_tags":[156962,16271,734,4155,19979],"plugin_category":[59],"plugin_contributors":[266633],"plugin_business_model":[],"class_list":["post-341495","plugin","type-plugin","status-publish","hentry","plugin_tags-blueprint","plugin_tags-deployment","plugin_tags-development","plugin_tags-migration","plugin_tags-staging","plugin_category-utilities-and-tools","plugin_contributors-wpvoicer","plugin_committers-wpvoicer"],"banners":{"banner":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/banner-772x250.png?rev=3614476","banner_2x":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/banner-1544x500.png?rev=3614476","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/icon.svg?rev=3614476","icon":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/icon.svg?rev=3614476","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/screenshot-1.png?rev=3614476","caption":"Create a reusable blueprint from a configured WordPress site."},{"src":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/screenshot-2.png?rev=3614476","caption":"Review connected SpawnWP servers and licensed or custom plugin warnings."},{"src":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/screenshot-3.png?rev=3614476","caption":"Publish a finished site to a paired empty WordPress destination."},{"src":"https:\/\/ps.w.org\/spawnwp-deploy\/assets\/screenshot-4.png?rev=3614476","caption":"Generate a short-lived connection key on an eligible destination."}],"raw_content":"<!--section=description-->\n<p>SpawnWP Deploy provides two administrator-initiated workflows:<\/p>\n\n<ul>\n<li>Capture a configured WordPress site as a reusable blueprint on a self-hosted SpawnWP server.<\/li>\n<li>Publish a finished site once to a separate, fresh WordPress installation.<\/li>\n<\/ul>\n\n<p>It is not a continuous staging or synchronization system. Site-to-site deployment is\nlimited to an empty destination and keeps rollback data for seven days. Connections use\nsingle-use pairing codes, signed requests and replay protection.<\/p>\n\n<p>For blueprint capture, the administrator chooses whether to include plugins, themes,\nuploads and database content. WordPress users and user metadata are excluded. The source\nsite URL is replaced with a fixed placeholder in captured database content, and each site\ncreated from the blueprint receives its own administrator credentials.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress single-site.<\/li>\n<li>PHP 7.4 or later with the Sodium and ZIP extensions.<\/li>\n<li>HTTPS with a publicly trusted certificate on paired endpoints.<\/li>\n<li>A reachable WordPress REST API without an additional HTTP password.<\/li>\n<li>Write access to the WordPress plugin, theme and uploads directories.<\/li>\n<li>Sufficient free disk space for staging and rollback data.<\/li>\n<\/ul>\n\n<p>Always back up important sites before using deployment or capture tools.<\/p>\n\n<h3>External Connections<\/h3>\n\n<p>This plugin does not contact a SpawnWP-operated SaaS platform and does not send telemetry\nto SpawnWP merely because it is installed, activated or loaded.<\/p>\n\n<p>An administrator can explicitly pair the plugin with either:<\/p>\n\n<ol>\n<li>another WordPress site running SpawnWP Deploy; or<\/li>\n<li>a self-hosted SpawnWP server whose URL is supplied by the administrator.<\/li>\n<\/ol>\n\n<p>During a requested deployment or capture, the plugin sends the selected package and\ntechnical metadata to that administrator-selected endpoint. Depending on the selected\noptions, this can include plugin and theme files, media uploads, database content,\nWordPress and PHP versions, plugin names and versions, package checksums, job identifiers\nand connection signatures. WordPress user and user-meta tables are excluded.<\/p>\n\n<p>The remote endpoint is operated by the site administrator or their chosen provider. Its\nprivacy and retention practices are therefore controlled by that operator. SpawnWP is\nself-hosted open-source software distributed under the MIT License:<\/p>\n\n<ul>\n<li>SpawnWP project: https:\/\/spawnwp.com\/<\/li>\n<li>Source code and license: https:\/\/github.com\/tts-empire\/spawnwp<\/li>\n<li>Security documentation: https:\/\/spawnwp.com\/docs\/security\/<\/li>\n<li>Optional SpawnWP platform telemetry notice: https:\/\/spawnwp.com\/privacy\/telemetry\/<\/li>\n<\/ul>\n\n<p>When the plugin inventory is displayed and WordPress does not already have cached update\ninformation for an active plugin, SpawnWP Deploy may query the WordPress.org Plugins API\nusing WordPress core's <code>plugins_api()<\/code> function. It sends the plugin slug and uses the\nresponse only to classify the plugin as WordPress.org-hosted or custom. The result is\ncached for one day. WordPress.org privacy policy: https:\/\/wordpress.org\/about\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate SpawnWP Deploy.<\/li>\n<li>Open Tools &gt; SpawnWP Deploy.<\/li>\n<li>Choose the workflow that applies to the current site.<\/li>\n<li>Generate or paste the single-use pairing code at the administrator's request.<\/li>\n<li>Review the selected content and confirmations before starting the operation.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20continuously%20synchronize%20two%20sites%3F\"><h3>Does this continuously synchronize two sites?<\/h3><\/dt>\n<dd><p>No. It performs a one-time publish to an empty destination. It does not merge later\nchanges, orders, comments, form submissions or users.<\/p><\/dd>\n<dt id=\"is%20a%20spawnwp%20server%20required%3F\"><h3>Is a SpawnWP server required?<\/h3><\/dt>\n<dd><p>Only for reusable blueprint capture. A one-time site-to-site publish uses SpawnWP Deploy\non both WordPress installations.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20data%20automatically%3F\"><h3>Does the plugin send data automatically?<\/h3><\/dt>\n<dd><p>No deployment or capture payload is sent automatically. An administrator must pair an\nendpoint and explicitly start the operation. A cached WordPress.org plugin-information\nlookup may occur when an administrator opens the blueprint inventory, as documented in\nExternal Connections.<\/p><\/dd>\n<dt id=\"are%20wordpress%20users%20copied%3F\"><h3>Are WordPress users copied?<\/h3><\/dt>\n<dd><p>No. User and user-meta tables are excluded. On deployment, ownership of imported content\nis assigned to the administrator of the destination site.<\/p><\/dd>\n<dt id=\"can%20i%20deploy%20over%20an%20existing%20site%3F\"><h3>Can I deploy over an existing site?<\/h3><\/dt>\n<dd><p>No. The destination guard rejects sites containing application content or unexpected\nactive plugins. Use a dedicated backup or migration product when merging into an active\nsite.<\/p><\/dd>\n<dt id=\"where%20is%20temporary%20data%20stored%3F\"><h3>Where is temporary data stored?<\/h3><\/dt>\n<dd><p>Packages and receiver workspaces are stored below the WordPress uploads directory in\n    spawnwp-deploy\/, protected from direct web access, and removed after completion or\nexpiry. Rollback data is retained for up to seven days.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.4<\/h4>\n\n<ul>\n<li>Added remembered blueprint capture fields and safe patch-version suggestions.<\/li>\n<li>Added a clear reset flow for starting a different blueprint.<\/li>\n<li>Prepared the plugin for WordPress.org distribution and validation.<\/li>\n<\/ul>","raw_excerpt":"Capture a configured site as a reusable blueprint, or publish it once to a separate empty WordPress installation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/341495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=341495"}],"author":[{"embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpvoicer"}],"wp:attachment":[{"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=341495"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=341495"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=341495"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=341495"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=341495"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=341495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}