Putting this in your functions.php will remove Site Health widget from the dashboard:

add_action( 'wp_dashboard_setup', 'remove_site_health_widget' );
function remove_site_health_widget() {
        global $wp_meta_boxes;
        unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_site_health'] );
}

And this will remove the respective option from the menu:

add_action( 'admin_menu', 'remove_site_health_submenu', 999 );
function remove_site_health_submenu() {
        $page = remove_submenu_page( 'tools.php', 'site-health.php' );
}

I don't believe that removing Site Health altogether is advisable, though, as it is a nice feature that can help you fix problems that might otherwise be undetected. What I suggest, instead, is hiding it from everyone except for the main Admin.


I created a free, lightweight, plugin to solve this issue

https://wordpress.org/plugins/remove-site-heath-from-dashboard/


Log in to your Dashboard. On the screen showing the "Site Health" widget, click the "Screen Options" menu item at the top right of your screen and turn off "Site Health" and any other widgets you don't want to see.

Each time you login the Site Health functions will not appear. This is a per user function, therefore turning it off only removes it for you and not other users.


The following snippet removes the registered site health dashboard widget from the dashboard. Add the code to your plugin or functions.php file:

add_action('wp_dashboard_setup', 'remove_site_health_dashboard_widget');
function remove_site_health_dashboard_widget()
{
    remove_meta_box('dashboard_site_health', 'dashboard', 'normal');
}

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.