{"id":398758,"date":"2026-11-09T09:29:32","date_gmt":"2026-11-09T09:29:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/deployseal\/"},"modified":"2026-11-09T09:29:14","modified_gmt":"2026-11-09T09:29:14","slug":"deployseal","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/deployseal\/","author":23599153,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DeploySeal","header_author":"DeploySeal","header_description":"Loads the DeploySeal tester widget on your site so testers can pin issues on the real pages, and declares which environment and which build they were on so the readiness report can prove what was tested.","assets_banners_color":"e4d3ca","last_updated":"2026-11-09 09:29:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/deployseal.com\/docs\/wordpress","header_author_uri":"https:\/\/deployseal.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":70,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"deployseal","date":"2026-11-09 09:29:14","revision":3792156}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3792156,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3792156,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3792156,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3792156,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3792156,"resolution":"1","location":"assets","locale":"","width":1400,"height":1190},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3792156,"resolution":"2","location":"assets","locale":"","width":1400,"height":520}},"screenshots":{"1":"Settings \u2192 DeploySeal. Site key and Enabled are the only required fields; the page shows the origins to register, the declared environment label, the build marker and the exact tag that will be rendered.","2":"Platform inventory. With a DeploySeal API key the plugin reports the installed plugins and themes, at which versions, every six hours or on demand."}},"plugin_section":[],"plugin_tags":[7615,9260,1591,291617,286],"plugin_category":[45],"plugin_contributors":[291618],"plugin_business_model":[],"class_list":["post-398758","plugin","type-plugin","status-publish","hentry","plugin_tags-qa","plugin_tags-release","plugin_tags-testing","plugin_tags-uat","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-deployseal","plugin_committers-deployseal"],"banners":{"banner":"https:\/\/ps.w.org\/deployseal\/assets\/banner-772x250.png?rev=3792156","banner_2x":"https:\/\/ps.w.org\/deployseal\/assets\/banner-1544x500.png?rev=3792156","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/deployseal\/assets\/icon-128x128.png?rev=3792156","icon_2x":"https:\/\/ps.w.org\/deployseal\/assets\/icon-256x256.png?rev=3792156","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/deployseal\/assets\/screenshot-1.png?rev=3792156","caption":"Settings \u2192 DeploySeal. Site key and Enabled are the only required fields; the page shows the origins to register, the declared environment label, the build marker and the exact tag that will be rendered."},{"src":"https:\/\/ps.w.org\/deployseal\/assets\/screenshot-2.png?rev=3792156","caption":"Platform inventory. With a DeploySeal API key the plugin reports the installed plugins and themes, at which versions, every six hours or on demand."}],"raw_content":"<!--section=description-->\n<h4>Test releases on your real site, and prove what was tested.<\/h4>\n\n<p>DeploySeal lets your team and stakeholders review a WordPress or WooCommerce site before it goes live: testers follow a checklist on the actual pages, pin issues where they see them (screenshot, session replay and browser details captured automatically), developers fix and send them back for verification, and the people who sign off do so on a record that cannot be quietly changed afterwards.<\/p>\n\n<p>This plugin is the WordPress install path for that widget. It does what a pasted script tag cannot:<\/p>\n\n<ul>\n<li><strong>A build marker that is true on every deployment.<\/strong> The plugin derives it from your WordPress version and active theme version and, when available, the git commit of the deploy (a SHA file or a <code>DEPLOYSEAL_BUILD<\/code> constant in wp-config.php), so the readiness report can confirm that the build testers used is the build you shipped. No theme file to remember to edit.<\/li>\n<li><strong>One install per site, multisite included.<\/strong> Every site keeps its own environment key and label, with the exact origins to register shown next to the field. Network activation is supported; settings stay per site.<\/li>\n<li><strong>Platform inventory as evidence (optional).<\/strong> With a DeploySeal API key the plugin reports which plugins and themes, at which versions, were installed when a release was tested \u2014 WooCommerce included \u2014 and the report shows what changed since the last signed release. Useful for plugin updates and WooCommerce upgrade projects.<\/li>\n<li><strong>Survives theme updates.<\/strong> The tag is enqueued by the plugin, not written into a theme, and never appears in wp-admin unless you choose that, and never on the login page.<\/li>\n<\/ul>\n\n<p><strong>Setup takes two fields.<\/strong> Create an environment for the site in DeploySeal, paste its public key into Settings \u2192 DeploySeal, tick Enabled, save. The page then shows exactly what the site will send (origins to register, declared environment label, the build marker, the rendered tag) so you can confirm it matches. Everything else (environment label, build marker source, git SHA file, inventory) lives under Advanced and Platform inventory with sensible defaults.<\/p>\n\n<p><strong>What it sends.<\/strong> Only the widget tag and, if you enable it, the platform inventory. Visitor and customer data is never touched; the widget loads for everyone but only activates for invited testers on registered origins.<\/p>\n\n<p>Requires a DeploySeal account. DeploySeal is currently in private pilot: <a href=\"https:\/\/deployseal.com\/request-access?from=wordpress-plugin\">request access at deployseal.com<\/a>. The plugin is open source under MIT; issues and pull requests are welcome on <a href=\"https:\/\/github.com\/deployseal\/wordpress-plugin\">GitHub<\/a>. Documentation: <a href=\"https:\/\/deployseal.com\/docs\/wordpress\">deployseal.com\/docs\/wordpress<\/a>.<\/p>\n\n<h4>External services<\/h4>\n\n<p>This plugin connects to DeploySeal, a hosted go-live sign-off service operated at deployseal.com.<\/p>\n\n<ul>\n<li><strong>The widget loader.<\/strong> When the plugin is enabled with a site key, every public page includes <code>&lt;script src=\"https:\/\/cdn.deployseal.com\/ds-widget.js\" async&gt;<\/code> with the site key, the declared environment label, the build marker and the plugin version as <code>data-ds-*<\/code> attributes. The visitor's browser downloads the widget from cdn.deployseal.com and sends a heartbeat (site key, page URL with sensitive query parameters removed, page title, environment label, build marker, widget version, installer) to api.deployseal.com on each page load. For invited testers only, the widget also sends the issues, screenshots and session replays they capture.<\/li>\n<li><strong>The platform inventory (optional, off until you add an API key).<\/strong> From your server, never from the browser, the plugin posts the list of installed plugins and themes (name, version, active or not), the WordPress and PHP versions and the build marker to <code>https:\/\/api.deployseal.com\/api\/v1\/sites\/{site key}\/inventory<\/code>, when you press \"Send inventory now\" and, if you turn on \"Send inventory on a schedule\", every 6 hours.<\/li>\n<\/ul>\n\n<p>DeploySeal <a href=\"https:\/\/deployseal.com\/terms\">terms of service<\/a> and <a href=\"https:\/\/deployseal.com\/privacy\">privacy policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install through Plugins \u2192 Add New (search for \"DeploySeal\"), or upload <code>deployseal-1.0.0.zip<\/code> from the <a href=\"https:\/\/github.com\/deployseal\/wordpress-plugin\/releases\">GitHub releases<\/a> through Plugins \u2192 Add New \u2192 Upload Plugin, then <strong>Activate<\/strong>.<\/li>\n<li>In DeploySeal, open your site and create an environment for this WordPress site (for example <em>Staging<\/em> or <em>Production<\/em>). Register the origin(s) shown on Settings \u2192 DeploySeal under \"What this site will send\".<\/li>\n<li>Copy the environment's public key (it starts with <code>ls_<\/code>) into <strong>Site key<\/strong>, tick <strong>Enabled<\/strong>, <strong>Save<\/strong>.<\/li>\n<li>Open the site once; the environment shows as <em>Live<\/em> in DeploySeal. If you had pasted a DeploySeal snippet into the theme or a header plugin, remove it: DeploySeal warns when two install paths are live on one environment.<\/li>\n<\/ol>\n\n<p>On a multisite network, network-activate the plugin or activate it per site; each site then gets its own Settings \u2192 DeploySeal page and its own environment key.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20slow%20my%20site%3F\"><h3>Does it slow my site?<\/h3><\/dt>\n<dd><p>No measurable amount. The plugin adds one <code>async<\/code> script tag to <code>&lt;head&gt;<\/code>: the browser downloads the 1 KB loader in parallel without blocking rendering, and the rest of the widget only loads after that. For visitors who are not invited testers the widget stays dormant. On the server, the plugin reads one option per request (and your SHA file, if you configured one). Nothing is added to wp-admin unless you turn that on.<\/p><\/dd>\n<dt id=\"what%20does%20it%20send%3F\"><h3>What does it send?<\/h3><\/dt>\n<dd><p>The browser sends a heartbeat per page load (site key, scrubbed page URL, page title, environment label, build marker, widget version and installer) so DeploySeal can show the environment as Live. Invited testers also send the issues they pin, with screenshot and session replay. Only if you add an API key does the server send the platform inventory: installed plugins and themes with their versions, the WordPress and PHP versions and the build marker. No settings, users, customers or orders ever leave the site. See \"External services\" above.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. There is nothing WooCommerce-specific to configure: the tag loads on shop, cart and checkout pages like any other page, the plugin declares compatibility with High-Performance Order Storage and the cart and checkout blocks, and the platform inventory records the WooCommerce version and its extensions.<\/p><\/dd>\n<dt id=\"which%20build%20marker%20will%20it%20send%3F\"><h3>Which build marker will it send?<\/h3><\/dt>\n<dd><p>By default: the <code>DEPLOYSEAL_BUILD<\/code> constant when wp-config.php defines one; otherwise the WordPress version plus the active theme and its version (<code>7.1.2+twentytwentyfive-1.3<\/code>), plus the short git SHA when a SHA file your deploy writes can be read (<code>7.1.2+twentytwentyfive-1.3+a1b2c3d<\/code>). The settings page prints the exact value; copy it verbatim into the campaign's release identifier.<\/p><\/dd>\n<dt id=\"why%20does%20deployseal%20say%20the%20environment%20is%20not%20seen%3F\"><h3>Why does DeploySeal say the environment is Not seen?<\/h3><\/dt>\n<dd><p>Most often the origin: DeploySeal matches <code>scheme:\/\/host[:port]<\/code> exactly, so register every origin the settings page lists. Also check that Enabled is ticked, that the key is the one for this environment, and that a caching plugin has been purged since you enabled the plugin.<\/p><\/dd>\n<dt id=\"is%20the%20site%20key%20a%20secret%3F\"><h3>Is the site key a secret?<\/h3><\/dt>\n<dd><p>No. It only works from the environment's registered origins, which is why it can sit in your HTML. The API key used for the platform inventory is a secret: the settings page never shows it again once saved.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Settings page styles moved to a stylesheet enqueued on that screen only; no inline styles. Nothing else changed.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: the contract tag (site key, environment label, build marker, <code>data-ds-installer=\"wordpress-plugin\/1.0.0\"<\/code>) in <code>&lt;head&gt;<\/code> on the public site; optional in wp-admin; never on the login page.<\/li>\n<li>Build marker from WordPress + theme version, a git SHA file, the <code>DEPLOYSEAL_BUILD<\/code> constant or a manual value.<\/li>\n<li>Platform inventory: \"Send inventory now\" and a six-hourly WP-Cron send.<\/li>\n<li>Multisite (per-site settings, network activation) and WooCommerce HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Test releases on your real site with your team and stakeholders, and prove what was tested: environment, build and installed plugins.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=398758"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/deployseal"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398758"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398758"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398758"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398758"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398758"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}