{"id":397753,"date":"2026-11-06T14:50:31","date_gmt":"2026-11-06T14:50:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/horde-handover\/"},"modified":"2026-11-06T14:49:57","modified_gmt":"2026-11-06T14:49:57","slug":"horde-handover","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/horde-handover\/","author":23596010,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Horde Handover","header_author":"Horde","header_description":"Scan a WordPress site you just took over and get the documentation nobody left you: plugins, theme and custom code, forms, email, scheduled jobs, users, connected services and DNS, as a report you can share.","assets_banners_color":"9da4ac","last_updated":"2026-11-06 14:49:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/hordewp.com\/handover\/","header_author_uri":"https:\/\/hordewp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"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":"hordewp","date":"2026-11-06 14:49:57","revision":3788146}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3788146,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3788146,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3788146,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3788146,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3788147,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/tools.php?page=horde-handover\",\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"horde-handover\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"contact-form-7\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"wpforms-lite\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"wordpress-seo\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"all-in-one-seo-pack\"},\"options\":{\"activate\":true}},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"hello-dolly\"},\"options\":{\"activate\":false}},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/old-gallery\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/old-gallery\\\/old-gallery.php\",\"data\":\"<?php\\n\\\/**\\n * Plugin Name: Old Gallery\\n * Version: 1.2\\n *\\\/\\n\"},{\"step\":\"activatePlugin\",\"pluginPath\":\"old-gallery\\\/old-gallery.php\"},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/closed-widget\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/closed-widget\\\/closed-widget.php\",\"data\":\"<?php\\n\\\/**\\n * Plugin Name: Closed Widget\\n * Version: 1.2\\n *\\\/\\n\"},{\"step\":\"activatePlugin\",\"pluginPath\":\"closed-widget\\\/closed-widget.php\"},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/slow-slider\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/slow-slider\\\/slow-slider.php\",\"data\":\"<?php\\n\\\/**\\n * Plugin Name: Slow Slider\\n * Version: 1.2\\n *\\\/\\n\"},{\"step\":\"activatePlugin\",\"pluginPath\":\"slow-slider\\\/slow-slider.php\"},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/quiet-tabs\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/quiet-tabs\\\/quiet-tabs.php\",\"data\":\"<?php\\n\\\/**\\n * Plugin Name: Quiet Tabs\\n * Version: 1.2\\n *\\\/\\n\"},{\"step\":\"activatePlugin\",\"pluginPath\":\"quiet-tabs\\\/quiet-tabs.php\"},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/lagging-seo\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/plugins\\\/lagging-seo\\\/lagging-seo.php\",\"data\":\"<?php\\n\\\/**\\n * Plugin Name: Lagging SEO\\n * Version: 1.2\\n *\\\/\\n\"},{\"step\":\"activatePlugin\",\"pluginPath\":\"lagging-seo\\\/lagging-seo.php\"},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\\\/handover-demo.php\",\"data\":\"<?php\\n\\\/**\\n * Test helper for the messy Playground site (tests\\\/playground-blueprint.json).\\n *\\n * Fakes WordPress.org answers for two made-up plugins, so the \\\"abandoned\\\" and\\n * \\\"closed\\\" flags can be tested without a real closed plugin. Also turns WP-Cron\\n * off, like a site whose server cron job was removed, so overdue jobs stay overdue.\\n *\\\/\\n\\nif ( ! defined( 'DISABLE_WP_CRON' ) ) {\\n\\tdefine( 'DISABLE_WP_CRON', true );\\n}\\n\\nadd_filter(\\n\\t'horde_handover_wporg_answer',\\n\\tfunction ( $answer, $name ) {\\n\\t\\t$listed = array(\\n\\t\\t\\t\\\/\\\/ slug => array( months since update, tested up to ). Covers every color tier.\\n\\t\\t\\t'old-gallery'  => array( 66, '5.8' ),\\n\\t\\t\\t'slow-slider'  => array( 4, '7.1' ),\\n\\t\\t\\t'quiet-tabs'   => array( 8, '7.0' ),\\n\\t\\t\\t'lagging-seo'  => array( 1, '6.8' ),\\n\\t\\t);\\n\\t\\tforeach ( $listed as $slug => $info ) {\\n\\t\\t\\tif ( 'plugin_' . $slug === $name ) {\\n\\t\\t\\t\\treturn array( 'state' => 'listed', 'name' => $slug, 'version' => '1.2', 'last_updated' => strtotime( '-' . $info[0] . ' months' ), 'tested' => $info[1] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif ( 'plugin_closed-widget' === $name ) {\\n\\t\\t\\treturn array( 'state' => 'closed', 'closed_date' => '2025-06-12', 'reason' => 'Security issue' );\\n\\t\\t}\\n\\t\\treturn $answer;\\n\\t},\\n\\t10,\\n\\t2\\n);\\n\\n\\\/\\\/ Skip WPForms' first-run setup wizard, so the site opens on the Handover report.\\nadd_filter( 'wpforms_setup_wizard_setup_wizard_is_disabled', '__return_true' );\\n\\n\\\/\\\/ Tracking tags on every page: a GA4 tag plus an old Universal Analytics tag.\\nadd_action(\\n\\t'wp_head',\\n\\tfunction () {\\n\\t\\techo \\\"<script>gtag('config','G-TEST12345');gtag('config','UA-1234567-1');<\\\/script>\\n\\\";\\n\\t}\\n);\\n\\n\\\/\\\/ Demo: a Playground site has no public domain, so check example.com's records instead.\\nadd_filter( 'horde_handover_domain', function () { return 'example.com'; } );\\n\\n\\\/\\\/ Demo: the browser sandbox answers TLS with its own certificate, so skip that check.\\nadd_filter( 'horde_handover_check_certificate', '__return_false' );\\n\"},{\"step\":\"runPHP\",\"code\":\"<?php\\nrequire '\\\/wordpress\\\/wp-load.php';\\n\\\/\\\/ Hand-edit a Contact Form 7 file, like a previous developer might have.\\n$f = WP_PLUGIN_DIR . '\\\/contact-form-7\\\/includes\\\/functions.php';\\nfile_put_contents( $f, file_get_contents( $f ) . \\\"\\\\n\\\/\\\/ Changed by the old agency.\\\\n\\\" );\\nwp_update_custom_css_post( \\\"body { background: #fffdf5; }\\\\n.site-title { letter-spacing: 1px; }\\\\n\\\" );\\n\\n\\\/\\\/ Contact Form 7's default form emails a former agency and sits on the Contact page.\\n$cf7 = get_posts( array( 'post_type' => 'wpcf7_contact_form', 'numberposts' => 1 ) );\\nif ( $cf7 ) {\\n\\t$mail = get_post_meta( $cf7[0]->ID, '_mail', true );\\n\\t$mail['recipient'] = 'leads@oldagency.example.com, [_site_admin_email]';\\n\\tupdate_post_meta( $cf7[0]->ID, '_mail', $mail );\\n\\twp_insert_post( array( 'post_type' => 'page', 'post_status' => 'publish', 'post_title' => 'Contact', 'post_content' => '[contact-form-7 id=\\\"' . $cf7[0]->ID . '\\\" title=\\\"Contact form 1\\\"]' ) );\\n}\\n\\n\\\/\\\/ A WPForms form that isn't on any page.\\nwp_insert_post( array( 'post_type' => 'wpforms', 'post_status' => 'publish', 'post_title' => 'Old quote form', 'post_content' => wp_slash( wp_json_encode( array( 'settings' => array( 'notification_enable' => '1', 'notifications' => array( 1 => array( 'email' => '{admin_email}' ), 2 => array( 'email' => '{field_id=\\\"1\\\"}' ) ) ) ) ) ) ) );\\n\\n\\\/\\\/ A backup job left behind by a removed plugin, three days overdue.\\nwp_schedule_event( time() - 3 * DAY_IN_SECONDS, 'daily', 'oldbackup_nightly_run' );\\n\\n\\\/\\\/ A former developer's administrator account, unused for two years, with an app password.\\n$dev = wp_insert_user( array( 'user_login' => 'jsmith-dev', 'user_pass' => wp_generate_password(), 'user_email' => 'jsmith@oldagency.example.com', 'display_name' => 'Jordan (Old Agency)', 'role' => 'administrator', 'user_registered' => '2019-05-02 10:00:00' ) );\\nif ( ! is_wp_error( $dev ) ) {\\n\\tupdate_user_meta( $dev, 'last_login', strtotime( '-2 years' ) );\\n\\tWP_Application_Passwords::create_new_application_password( $dev, array( 'name' => 'Old deploy script' ) );\\n}\\n\\\/\\\/ Content left behind by removed plugins: an old gallery shortcode and Divi layout code,\\n\\\/\\\/ plus \\\"[note]\\\" in plain writing, which must not be flagged.\\nwp_insert_post( array( 'post_type' => 'page', 'post_status' => 'publish', 'post_title' => 'Gallery', 'post_content' => \\\"Our work:\\n[old_gallery_grid id=4 columns=3]\\nAsk us anything [note] we reply fast.\\\" ) );\\nwp_insert_post( array( 'post_type' => 'page', 'post_status' => 'publish', 'post_title' => 'About us', 'post_content' => '[et_pb_section][et_pb_row][et_pb_text]Family run since 1998.[\\\/et_pb_text][\\\/et_pb_row][\\\/et_pb_section]' ) );\\n\\n\\\/\\\/ Search mistakes: pages hidden site-wide in Yoast, one post hidden by hand, and\\n\\\/\\\/ \\\"Discourage search engines\\\" left on.\\n$titles = get_option( 'wpseo_titles' );\\n$titles['noindex-page'] = true;\\nupdate_option( 'wpseo_titles', $titles );\\n$hidden = wp_insert_post( array( 'post_type' => 'post', 'post_status' => 'publish', 'post_title' => 'Spring offer', 'post_content' => 'Ten percent off.' ) );\\nupdate_post_meta( $hidden, '_yoast_wpseo_meta-robots-noindex', '1' );\\nupdate_option( 'blog_public', '0' );\\n\\\/\\\/ A real robots.txt file left on the server, which WordPress's own robots.txt can't change.\\nfile_put_contents( ABSPATH . 'robots.txt', \\\"User-agent: *\\nDisallow: \\\/old-site\\\/\\n\\\" );\\n\\n\\\/\\\/ Skip the welcome screens WPForms, Yoast and AIOSEO show after activation, so the\\n\\\/\\\/ site opens on the Handover report.\\ndelete_transient( 'wpforms_activation_redirect' );\\nupdate_option( 'wpforms_activation_redirect_done', true );\\ndelete_transient( 'aioseo_activation_redirect' );\\n$wpseo = get_option( 'wpseo' );\\nif ( is_array( $wpseo ) ) {\\n\\t$wpseo['should_redirect_after_install_free'] = false;\\n\\tupdate_option( 'wpseo', $wpseo );\\n}\\n\\nwp_insert_user( array( 'user_login' => 'editor1', 'user_pass' => wp_generate_password(), 'user_email' => 'editor@example.com', 'role' => 'editor' ) );\\n\"}],\"meta\":{\"title\":\"Horde Handover demo\",\"author\":\"hordewp\"}}"}},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3788146,"resolution":"1","location":"assets","locale":"","width":1280,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3788146,"resolution":"2","location":"assets","locale":"","width":1280,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3788146,"resolution":"3","location":"assets","locale":"","width":1280,"height":900}},"screenshots":{"1":"The report: each finding marked OK, Note or Check.","2":"Plugins, with update-age colors and changed files.","3":"Forms: where each form's emails go, and whether entries are saved."}},"plugin_section":[],"plugin_tags":[6941,284353,6601,732,20034],"plugin_category":[45,52],"plugin_contributors":[289611],"plugin_business_model":[],"class_list":["post-397753","plugin","type-plugin","status-publish","hentry","plugin_tags-documentation","plugin_tags-handover","plugin_tags-inventory","plugin_tags-maintenance","plugin_tags-site-audit","plugin_category-ecommerce","plugin_category-performance","plugin_contributors-hordewp","plugin_committers-hordewp"],"banners":{"banner":"https:\/\/ps.w.org\/horde-handover\/assets\/banner-772x250.png?rev=3788146","banner_2x":"https:\/\/ps.w.org\/horde-handover\/assets\/banner-1544x500.png?rev=3788146","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/horde-handover\/assets\/icon-128x128.png?rev=3788146","icon_2x":"https:\/\/ps.w.org\/horde-handover\/assets\/icon-256x256.png?rev=3788146","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/horde-handover\/assets\/screenshot-1.png?rev=3788146","caption":"The report: each finding marked OK, Note or Check."},{"src":"https:\/\/ps.w.org\/horde-handover\/assets\/screenshot-2.png?rev=3788146","caption":"Plugins, with update-age colors and changed files."},{"src":"https:\/\/ps.w.org\/horde-handover\/assets\/screenshot-3.png?rev=3788146","caption":"Forms: where each form's emails go, and whether entries are saved."}],"raw_content":"<!--section=description-->\n<p>Most WordPress sites change hands with no documentation. The last developer left, the agency moved on, or whoever built it is long gone. Before you can quote, fix or promise anything, you need to know what's actually there.<\/p>\n\n<p>Horde Handover scans the site and writes that documentation for you. Open Tools \u2192 Handover, click Run scan, and in about a minute you have a report you can read, share or download as Markdown.<\/p>\n\n<p><strong>What the report covers<\/strong><\/p>\n\n<ul>\n<li><strong>Site basics:<\/strong> WordPress and PHP versions (with when PHP support ends), HTTPS, debug mode, file editing and the time zone<\/li>\n<li><strong>Plugins:<\/strong> every plugin, must-use plugin and drop-in. Flags updates, inactive plugins, plugins closed in the directory, plugins that look abandoned, two plugins doing the same job, and plugin files that differ from the released version. A colored label shows how recently each one was updated.<\/li>\n<li><strong>Theme and custom code:<\/strong> the theme and its parent, the child theme's code, Additional CSS, code-snippet plugins and custom content types<\/li>\n<li><strong>Forms:<\/strong> every Contact Form 7, WPForms and Gravity Forms form, the pages it's on, where its emails go and whether entries are saved<\/li>\n<li><strong>Email:<\/strong> how the site sends mail, and the domain's SPF, DKIM and DMARC records<\/li>\n<li><strong>Scheduled jobs:<\/strong> what runs in the background, which jobs are overdue, and jobs left behind by removed plugins<\/li>\n<li><strong>Users:<\/strong> accounts by role and every administrator, including old accounts, generic login names and application passwords<\/li>\n<li><strong>Connected services:<\/strong> hosting, analytics and tracking tags, payments, backups and spam protection<\/li>\n<li><strong>Search settings:<\/strong> search engine visibility, robots.txt, content hidden from search, redirects, and broken shortcodes showing on pages<\/li>\n<li><strong>Domain and DNS:<\/strong> registrar and expiry date, where DNS is hosted, where the domain's email goes, and when the SSL certificate expires<\/li>\n<\/ul>\n\n<p><strong>Safe to run on any site<\/strong><\/p>\n\n<ul>\n<li><strong>Read-only.<\/strong> Handover never changes a setting, file, user or piece of content.<\/li>\n<li><strong>Sends no email.<\/strong> All outgoing mail is blocked while a scan runs.<\/li>\n<li><strong>Safe to share.<\/strong> Email addresses are masked (\u2022\u2022\u2022@example.com) and administrator login names are left out of every report. Keys, passwords and tokens are never read into it.<\/li>\n<li><strong>Administrators only.<\/strong> Only users who can manage options can run a scan or see the report.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>Handover connects to the services below only when an administrator clicks Run scan or Scan again. It never connects in the background or for visitors, and it sends no information about you, your users or your content.<\/p>\n\n<ul>\n<li><strong>WordPress.org Plugin and Theme Directory<\/strong> (api.wordpress.org). Sent: the folder name (slug) of each installed plugin and theme. Used to report whether each one is listed, closed or out of date, and when it was last updated. Answers are cached for 12 hours. <a href=\"https:\/\/wordpress.org\/about\/privacy\/\">Privacy policy<\/a><\/li>\n<li><strong>WordPress.org downloads<\/strong> (downloads.wordpress.org). Sent: the slug and installed version of each listed plugin. Used to fetch that version's published file checksums, to find files that were changed. Answers are cached for 12 hours. <a href=\"https:\/\/wordpress.org\/about\/privacy\/\">Privacy policy<\/a><\/li>\n<li><strong>IANA RDAP bootstrap list<\/strong> (data.iana.org), run by IANA, part of ICANN. Nothing is sent: Handover downloads the public list of which registry answers registration lookups for each domain ending. Cached for a day. <a href=\"https:\/\/www.icann.org\/en\/data-protection\/terms-of-service\">Terms of service<\/a>, <a href=\"https:\/\/www.icann.org\/en\/data-protection\/privacy-policy\">Privacy policy<\/a><\/li>\n<li><strong>The domain's registry<\/strong>, at the RDAP address IANA lists for the domain's ending. Sent: the site's domain name, when an administrator clicks Run scan. Used to report the registrar and expiry date. RDAP is the public successor to WHOIS, which every registry provides under its agreement with ICANN. For .com and .net domains the registry is Verisign (rdap.verisign.com): <a href=\"https:\/\/www.verisign.com\/legal-center\/rdap-terms\/\">Terms of service<\/a>, <a href=\"https:\/\/www.verisign.com\/legal-center\/privacy\/\">Privacy policy<\/a>. Other endings are answered by their own registry under the same ICANN rules: <a href=\"https:\/\/www.icann.org\/en\/contracted-parties\/registry-operators\/resources\/registration-data-access-protocol\">About RDAP<\/a>, <a href=\"https:\/\/www.icann.org\/en\/data-protection\/terms-of-service\">ICANN terms of service<\/a>, <a href=\"https:\/\/www.icann.org\/en\/data-protection\/privacy-policy\">ICANN privacy policy<\/a>.<\/li>\n<li><strong>DNS.<\/strong> Standard DNS lookups for the site's own domain (name servers, address, mail, SPF, DKIM and DMARC records), through the web server's own resolver.<\/li>\n<li><strong>The site itself.<\/strong> Requests to the site's own home page and robots.txt (as served, and as WordPress generates it), read as a logged-out visitor, and a TLS connection to the site's own domain to read its certificate's expiry date.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install Horde Handover from Plugins \u2192 Add New, or upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it.<\/li>\n<li>Go to Tools \u2192 Handover and click Run scan.<\/li>\n<li>Read the report, or click Download as Markdown to save it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20scanning%20change%20or%20slow%20down%20my%20site%3F\"><h3>Will scanning change or slow down my site?<\/h3><\/dt>\n<dd><p>No. Handover only reads. The scan runs one section at a time while you watch, and nothing runs for visitors or in the background.<\/p><\/dd>\n<dt id=\"is%20the%20report%20safe%20to%20send%20to%20a%20client%3F\"><h3>Is the report safe to send to a client?<\/h3><\/dt>\n<dd><p>Yes. Email addresses are masked, administrator login names are left out, and no keys or passwords are ever included. Read it before you send it, as you would any document.<\/p><\/dd>\n<dt id=\"why%20is%20a%20plugin%20marked%20yellow%2C%20orange%20or%20red%3F\"><h3>Why is a plugin marked yellow, orange or red?<\/h3><\/dt>\n<dd><p>The color shows how long ago the plugin was last updated in the WordPress.org directory: green under 3 months, yellow 3 to 6, orange 6 to 12 and red over a year. A plugin that hasn't been tested with the last two or more WordPress releases moves up one color. Hover over the label for details. Some finished, stable plugins update rarely, so treat yellow and orange as worth a look, not an alarm.<\/p><\/dd>\n<dt id=\"what%20does%20%22files%20don%27t%20match%20the%20released%20version%22%20mean%3F\"><h3>What does \"files don't match the released version\" mean?<\/h3><\/dt>\n<dd><p>WordPress.org publishes a checksum for every file in every released plugin version. Handover compares your copy with it and lists any file that was changed, added or is missing. That usually means someone edited the plugin by hand, and the next update will overwrite their change. Occasionally it means the plugin was tampered with.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%2C%20woocommerce%20and%20multisite%3F\"><h3>Does it work with page builders, WooCommerce and multisite?<\/h3><\/dt>\n<dd><p>Yes. Page-builder layouts left behind after a builder was removed are reported as broken shortcodes. WooCommerce payment methods are listed, including any left in test mode. On multisite, it reports on the site you run it from.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Hosting is recognized from the host's own plugins and settings, not from server folder names.<\/li>\n<li>The robots.txt check compares the file the site serves with the one WordPress generates, instead of looking for a file on the server, so it also works when WordPress is installed in a subfolder.<\/li>\n<li>Plugin file checks and the must-use plugin list no longer rely on WordPress's internal folder constants.<\/li>\n<li>Readme: terms and privacy links for each domain registry lookup.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: ten report sections, Markdown export, update-age colors, plugin checksum checks, and privacy-safe reports.<\/li>\n<\/ul>","raw_excerpt":"Took over a WordPress site? Get the documentation nobody left you: plugins, custom code, forms, email, scheduled jobs, users, services and DNS.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397753","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=397753"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hordewp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397753"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397753"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397753"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397753"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397753"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}