Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Hide annoying notifications after each upgrade of Yoast SEO plugin and others admin notices
<?php if (!defined('ABSPATH')) die('Restricted Area');
/*
* Plugin Name: Disable Yoast SEO Notifications
* Description: Hide annoying notifications after each upgrade of Yoast SEO plugin and others admin notices.
* Version: 1.1
* Author: Aurélien Denis
* Author URI: https://wpchannel.com/
*/
add_action('admin_init', 'wpc_disable_yoast_notifications');
function wpc_disable_yoast_notifications() {
if (is_plugin_active('wordpress-seo/wp-seo.php')) {
remove_action('admin_notices', array(Yoast_Notification_Center::get(), 'display_notifications'));
remove_action('all_admin_notices', array(Yoast_Notification_Center::get(), 'display_notifications'));
}
}
@kjprince

This comment has been minimized.

Copy link

commented Sep 17, 2015

Thanks for this.

@joshuaiz

This comment has been minimized.

Copy link

commented Sep 18, 2015

Yesssss. Thank you. They are just getting more and more annoying. What is wrong with the Yoast people?

@nutsandbolts

This comment has been minimized.

Copy link

commented Nov 30, 2015

My dashboard is a much better place now. Thank you!

@dbaritchi

This comment has been minimized.

Copy link

commented Mar 3, 2016

@wpchannel - awesome. Is there a way to also disable the Yoast SEO "pointers" in the same manner? one option is to empty his file plugins/wordpress-seo/admin/class-pointers.php file, but that's overwritten with every plugin update, so not ideal.

Thanks!!

@bryanwillis

This comment has been minimized.

Copy link

commented Mar 14, 2016

@dbaritchi I think this might work:

add_action( 'admin_init', function() {
  update_user_meta( get_current_user_id(), 'wpseo_ignore_tour', true );
}, 999);
@chrisblakley

This comment has been minimized.

Copy link

commented Apr 21, 2016

Thanks for this!

@eventideMark

This comment has been minimized.

Copy link

commented Apr 21, 2016

I'm not very familiar with adding custom code, but I'm ridiculously familiar with that annoying notification! :) I'm assuming I create a file with the name "mu-plugin-yoast-seo-disable-notifications.php" (or does the name of the file not matter?), but where do I put the file - i'm using a child version of a theme.

@robinbastien

This comment has been minimized.

Copy link

commented Apr 22, 2016

YES! Thanks very much!

@garvs

This comment has been minimized.

Copy link

commented Apr 25, 2016

to @eventideMark:
If you put this file to wp-content/mu-plugins folder, it will work as a 'must use' plugin.

@zamson

This comment has been minimized.

Copy link

commented May 12, 2016

Thanks!

@MarcWoodyard

This comment has been minimized.

Copy link

commented Jun 1, 2016

52949916

@DustinWStout

This comment has been minimized.

Copy link

commented Jun 5, 2016

Amazing! Quality of life = IMPROVED.

@MC1171611

This comment has been minimized.

Copy link

commented Jun 7, 2016

You're awesome!

@wpchannel

This comment has been minimized.

Copy link
Owner Author

commented Jun 12, 2016

Thanks everyone!

@austinginder

This comment has been minimized.

Copy link

commented Jun 14, 2016

The latest version of Yoast SEO 3.3.0 includes some red unread messages like so: https://cloudup.com/cUu0wFjPHRT. Any ideas how to remove those?

@austinginder

This comment has been minimized.

Copy link

commented Jun 14, 2016

Ok this might be a pretty hack/slash way but I was able to modify the title within the wpseo-menu admin menu using the following code.

// Remove Yoast SEO nag alert
add_action( 'wp_before_admin_bar_render', 'remove_yoast_counter_admin_bar' );
function remove_yoast_counter_admin_bar() {
    // If Yoast plugin active
    if (is_plugin_active('wordpress-seo/wp-seo.php')) {
        global $wp_admin_bar;
        // Select Yoast admin menu node
        $node = $wp_admin_bar->get_node('wpseo-menu');

        // Finds start of Yoast counter within the title
        $pos = strpos($node->title, '<div class="wp-core-ui wp-ui-notification yoast-issue-counter">');

        // Remove Yoast counter html from title
        $node->title = substr($node->title, 0, $pos);

        // Updates the Yoast admin menu
        $wp_admin_bar->add_node( $node );
    }
}

Or maybe a CSS injection would be cleaner

// Remove Yoast SEO nag alerts
add_action('wp_head', 'remove_yoast_counters');
add_action('admin_head', 'remove_yoast_counters');
function remove_yoast_counters() {
    // If Yoast plugin active
    if (is_plugin_active('wordpress-seo/wp-seo.php') and is_user_logged_in()) {
        echo '<style>
        #wpadminbar .yoast-issue-counter {
          display: none;
        } 
        #adminmenu li#toplevel_page_wpseo_dashboard .awaiting-mod span,
        #adminmenu li#toplevel_page_wpseo_dashboard span.update-plugins span {
            display: none;
        }
        </style>';
    }
}
@wpchannel

This comment has been minimized.

@leesaenz

This comment has been minimized.

Copy link

commented Nov 18, 2016

@wpchannel I think @austinginder's code is better than your suggestion because your suggestion removes the entire Yoast menu form the admin bar, whereas @austinginder simply removes the alert bubbles and keeps the menu.

Also, the main code above in this gist doesn't work anymore.

@Bobz-zg

This comment has been minimized.

Copy link

commented Feb 15, 2017

Thanks. I used to love this plugin before they start BS with UI.

@ghost

This comment has been minimized.

Copy link

commented Mar 5, 2019

Anyone has an idea how to remove the notices generated by wordpress-seo/admin/watchers/class-slug-change-watcher.php? I opened a ticket to have the notices removed but yoast with their uppity refused. Yoast/wordpress-seo#11520

@Interinactive

This comment has been minimized.

Copy link

commented Apr 21, 2019

@matto15 this is what I use to hide all of the Yoast crap continually popping up:

	add_action('admin_head', 'adminStyles');
	function adminStyles() {
	  echo '<style>
		.yoast-alert {
			display: none !important;
		}
	  </style>';
	}
@ghost

This comment has been minimized.

Copy link

commented Apr 21, 2019

@Interinactive. Thanks. I will give it a try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.