{"id":286173,"date":"2026-03-13T10:44:48","date_gmt":"2026-03-13T10:44:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sitehandoff\/"},"modified":"2026-03-13T10:44:39","modified_gmt":"2026-03-13T10:44:39","slug":"sitehandoff","status":"publish","type":"plugin","link":"https:\/\/ory.wordpress.org\/plugins\/sitehandoff\/","author":23457658,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.1","stable_tag":"trunk","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SiteHandoff","header_author":"WP Boutique (Ideama)","header_description":"Gestisci la consegna del sito ai clienti: pagina di attesa con countdown, revisori con accesso individuale e raccolta feedback per pagina.","assets_banners_color":"a7cdd7","last_updated":"2026-03-13 10:44:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.wpboutique.it","rating":0,"author_block_rating":0,"active_installs":0,"downloads":195,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"wpboutiquebyideama","date":"2026-03-13 10:46:16"}},"upgrade_notice":{"1.2.1":"<p>WordPress.org review compliance fixes.<\/p>","1.2.0":"<p>Security and compatibility fixes required for WordPress.org guidelines compliance.<\/p>","1.1.0":"<p>Major update: adds reviewer management, per-page feedback widget, and admin dashboard. Reactivate the plugin after upgrading to create the new database tables.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3481898,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3481898,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"Banner-1544x500.png":{"filename":"Banner-1544x500.png","revision":3481898,"resolution":"1544x500","location":"assets","locale":""},"Banner-772x250.png":{"filename":"Banner-772x250.png","revision":3481898,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"countdown\/timer":{"apiVersion":3,"name":"countdown\/timer","title":"Countdown Timer","textdomain":"countdown-shortcode","description":"Inserisce un countdown personalizzabile per data evento, classi CSS e redirect finale.","category":"widgets","icon":"clock","keywords":["countdown","timer","evento"],"supports":{"html":false},"attributes":{"datetime":{"type":"string","default":""},"customClass":{"type":"string","default":""},"redirectUrl":{"type":"string","default":""}},"style":"countdown-shortcode","editorStyle":"countdown-shortcode","script":"countdown-shortcode","editorScript":"countdown-shortcode-block-editor"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3481898,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3481913,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3481913,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3481913,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3481913,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3481913,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Dashboard \u2014 Overview of site status, reviewer count, and open feedback.","2":"Reviewers \u2014 Add reviewers and share preview links via email or WhatsApp.","3":"Feedback \u2014 Per-page feedback grouped by URL with resolve\/reopen actions.","4":"Settings \u2014 Countdown configuration, content editor, and color picker.","5":"Frontend \u2014 Courtesy page with active countdown and custom content."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[257657,802,108,732,2475],"plugin_category":[42,52],"plugin_contributors":[257659,257658],"plugin_business_model":[],"class_list":["post-286173","plugin","type-plugin","status-publish","hentry","plugin_tags-client-handoff","plugin_tags-coming-soon","plugin_tags-feedback","plugin_tags-maintenance","plugin_tags-preview","plugin_category-contact-forms","plugin_category-performance","plugin_contributors-wpboutique","plugin_contributors-wpboutiquebyideama","plugin_committers-wpboutiquebyideama"],"banners":{"banner":"https:\/\/ps.w.org\/sitehandoff\/assets\/Banner-772x250.png?rev=3481898","banner_2x":"https:\/\/ps.w.org\/sitehandoff\/assets\/Banner-1544x500.png?rev=3481898","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sitehandoff\/assets\/icon-128x128.png?rev=3481898","icon_2x":"https:\/\/ps.w.org\/sitehandoff\/assets\/icon-256x256.png?rev=3481898","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-1.png?rev=3481898","caption":"Dashboard \u2014 Overview of site status, reviewer count, and open feedback."},{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-2.png?rev=3481913","caption":"Reviewers \u2014 Add reviewers and share preview links via email or WhatsApp."},{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-3.png?rev=3481913","caption":"Feedback \u2014 Per-page feedback grouped by URL with resolve\/reopen actions."},{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-4.png?rev=3481913","caption":"Settings \u2014 Countdown configuration, content editor, and color picker."},{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-5.png?rev=3481913","caption":"Frontend \u2014 Courtesy page with active countdown and custom content."},{"src":"https:\/\/ps.w.org\/sitehandoff\/assets\/screenshot-6.png?rev=3481913","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>SiteHandoff<\/strong> helps WordPress agencies and freelancers deliver sites to clients in a structured way. While the site is in progress, visitors see a courtesy page with an optional live countdown. Clients and collaborators get individual preview links and can leave per-page feedback directly on the site.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Reviewer management<\/strong> \u2014 Add clients or collaborators with individual passwords and share their preview link via copy, email, or WhatsApp.<\/li>\n<li><strong>Per-page feedback widget<\/strong> \u2014 Reviewers and admins can leave comments on any page; feedback is grouped by URL in the admin panel.<\/li>\n<li><strong>Dashboard overview<\/strong> \u2014 See site status, reviewer count, and open feedback at a glance.<\/li>\n<li><strong>Configurable countdown<\/strong> \u2014 Set a launch date and time; the plugin displays a real-time countdown timer.<\/li>\n<li><strong>Auto-disable<\/strong> \u2014 The plugin automatically deactivates itself when the countdown reaches zero.<\/li>\n<li><strong>Two content modes<\/strong> \u2014 Use the WordPress classic editor or insert fully custom HTML.<\/li>\n<li><strong>Countdown shortcode<\/strong> \u2014 Place <code>[sitehandoff_countdown]<\/code> anywhere to embed the timer.<\/li>\n<li><strong>Customizable colors<\/strong> \u2014 Choose background and accent colors with a built-in color picker.<\/li>\n<li><strong>Gutenberg block<\/strong> \u2014 \"Countdown Timer\" block with date picker and redirect on completion.<\/li>\n<li><strong>Translation ready<\/strong> \u2014 Includes a <code>.pot<\/code> file with the <code>sitehandoff<\/code> text domain. Italian translation included.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<p>When the plugin is active, all unauthenticated visitors see the courtesy page. Administrators and anyone with a valid reviewer link can view the site normally and leave feedback using the floating widget.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sitehandoff<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin directly from the \"Plugins &gt; Add New\" screen in WordPress.<\/li>\n<li>Activate the plugin from the \"Plugins\" screen.<\/li>\n<li>In the admin sidebar you will find the \"SiteHandoff\" menu item. Click it to access the dashboard.<\/li>\n<li>Add reviewers, configure the launch date, content, and colors from the respective pages.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20custom%20html%20for%20the%20page%3F\"><h3>Can I use custom HTML for the page?<\/h3><\/dt>\n<dd><p>Yes. In the settings, select the \"Custom HTML\" tab and enter the markup you prefer. You can include the <code>[sitehandoff_countdown]<\/code> shortcode in your code.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20block%20administrators%20too%3F\"><h3>Does the plugin block administrators too?<\/h3><\/dt>\n<dd><p>No. Users with the <code>manage_options<\/code> capability (typically Administrators) see the site normally and are never redirected to the courtesy page.<\/p><\/dd>\n<dt id=\"how%20does%20a%20reviewer%20get%20access%3F\"><h3>How does a reviewer get access?<\/h3><\/dt>\n<dd><p>Add a reviewer from the Revisori page, then share their preview link. The link includes a unique password. After first use, reviewers can browse freely for 48 hours.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20interfere%20with%20rest%20api%20or%20ajax%3F\"><h3>Does the plugin interfere with REST API or AJAX?<\/h3><\/dt>\n<dd><p>No. REST API, AJAX, and WP-Cron requests are automatically excluded from the block.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20the%20countdown%20expires%3F\"><h3>What happens when the countdown expires?<\/h3><\/dt>\n<dd><p>If you enabled the \"Auto-disable\" option, the plugin deactivates itself automatically when the date is reached. Otherwise, the courtesy page stays active until you manually disable it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed: added plugin owner username to Contributors in readme.txt.<\/li>\n<li>Fixed: converted inline script in settings page to wp_add_inline_script().<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Fixed: removed <code>custom_css<\/code> field to prevent arbitrary CSS injection.<\/li>\n<li>Fixed: removed <code>unfiltered_html<\/code> capability bypass; content is now always sanitized with <code>wp_kses_post()<\/code>.<\/li>\n<li>Fixed: escaped output in <code>fullscreen-countdown.php<\/code> using <code>wp_kses_post()<\/code>.<\/li>\n<li>Fixed: renamed main class to <code>SiteHandoff_Plugin<\/code>; all hooks, options, constants, and handles now use the <code>sitehandoff_<\/code> prefix.<\/li>\n<li>Fixed: updated Gutenberg block <code>apiVersion<\/code> from <code>2<\/code> to <code>3<\/code>.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Plugin renamed to SiteHandoff.<\/li>\n<li>Added reviewer management with individual access keys.<\/li>\n<li>Added per-page feedback widget visible to reviewers and admins.<\/li>\n<li>Added Dashboard overview page.<\/li>\n<li>Added email and WhatsApp sharing for reviewer preview links.<\/li>\n<li>Admin UI restructured into Dashboard, Revisori, Feedback, Impostazioni subpages.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Courtesy page with real-time countdown.<\/li>\n<li>Two content modes: classic editor and custom HTML.<\/li>\n<li><code>[opening_soon_countdown]<\/code> shortcode with configurable attributes.<\/li>\n<li>Customizable colors (background and accent) with color picker.<\/li>\n<li>Additional CSS from settings.<\/li>\n<li>Auto-disable on countdown expiration.<\/li>\n<li>Password-protected preview link with 48-hour cookie.<\/li>\n<li>\"Countdown Timer\" Gutenberg block.<\/li>\n<li>Italian translation included.<\/li>\n<\/ul>","raw_excerpt":"Client handoff tool for agencies: manage reviewer access, collect per-page feedback, and run a countdown page while the site is in progress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/286173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=286173"}],"author":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpboutiquebyideama"}],"wp:attachment":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=286173"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=286173"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=286173"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=286173"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=286173"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=286173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}