Please Stop Abusing WordPress Admin Notices

We’ve recently installed some new plugins on the Tavern and one of them generates an admin notice that can not be dismissed without disabling it. Not only is this frustrating, but it makes it less likely that I’ll give the developer money to purchase the pro version.

Here’s what the admin notice looks like. I’ve hidden the name of the advertised plugin as the goal is to inform people, not shame plugin authors.

Admin Notice With No Dismissal Button
Admin Notice With No Dismissal Button

While I expect admin notices when activating a plugin or after a major update, I don’t appreciate the inability to dismiss them. I also don’t appreciate admin notices that reappear no matter how many times I click the dismiss button. The worst part about the notice above is that it shows up on every page hijacking important screen real-estate in the WordPress backend resulting in a terrible user experience.

WordPress plugin authors, I respectfully request that you use the admin notice feature in WordPress for providing crucial information about your plugins and not as a billboard. Give users the opportunity to dismiss them and make sure that when dismissed, they don’t reappear unless the user clears their browser’s cookies.


91 responses to “Please Stop Abusing WordPress Admin Notices”

  1. Turning users’ admin interfaces into billboards for Plugins and Themes is one of my biggest pet peeves. Sadly, in my experience, some of the biggest/best-known/most-used Plugins/Developers are among the biggest offenders.

    (Themes, not so much anymore. The Theme Review Team works with Theme developers to find a good balance of upsell promotion and respecting users’ Admin UI, for Themes hosted in the official directory.)

  2. I actually get really annoyed by the dismissable notices that some plugins add after every update. Like, “x plugin was just updated. Click here to see what’s new!”

    Yes, I’m aware. I’m the one who updated the darn thing and read the changelog.

    I hate having to dismiss those every.single.time.

      • Sometimes the changelog might not be enough and actually showing the changes to the user I think is far better rather than displaying an admin notice once the plugin is updated.

        I would prefer to be redirected automatically to see those changes like how WordPress does but only major changes.

        I suggest that the use of the admin notice is used properly when the plugin is being installed for the first time and allow proper dismissal should the user choose.

        I don’t even know why the dismissal is even an optional feature to the admin notice. It should be on by default.

    • I usually put one of those “What’s new” notices on major updates (e.g. 1.2, 1.3, 1.4 etc).

      Why? Because I know from supporting my plugins that most people don’t read the changelog. I do try to keep it brief and provide links for more information and tutorials. I also send newsletters and tweets. But still some users miss everything!

      I do not use the WP method of displaying a “What’s New” screen as they are really annoying. I’m quite okay with WP doing but I hate it when plugins do because it hijacks the flow. You update 5 plugins and next thing you’re on some plugin’s “What’s new” page.

  3. In my opinion, if your sole purpose of releasing a plugin on is to upsell, just make it fully premium. Freemium on is becoming more and more of a problem with forcing upsells.

    I don’t have any issues with making your users aware of add-ons available, but don’t be a dick about it and cripple functionality or constantly nag your users.

    • I’m not against upselling, and I’m fine with the advertisement in the notice above but I want to dismiss it. Right now, it looks like the advertisement is holding my WordPress backend hostage for ransom money. That’s not cool.

    • @Jeff, indeed… which is why Syed Balkhi’s recent WPForms plugin (among others) so obviously stinks. When guys like that get away with blatantly breaking the rules, while others have their free plugins literally deleted from the directory (yours truly) for no reason other that “it wasn’t very unique”… then it reveals a sort of “crony” culture unfortunately.

      • There are a few things that I’m not a fan of with WPForms, such as constant upsells, but at least it does what it says without crippling things *too* much.

        Personally, I prefer the plugin to be fully functional if on .org, with the exception of additional non-standard add-ons such as service integrations.

        I made that decision when I released NotifyBot. I didn’t want to upsell and be a pain, but wanted to be able to continue development and fully support it. Of course, this led me to release as a premium plugin to avoid those issues.

  4. There’s even more stupid: admin warnings showing up at subscribers’ dashboard – subscribers being users that, most of the time don’t even know what a plugin is and, anyhow, can’t take any action about it. A very well know SEO plugin is doing this with a bunch of warnings and notices.

      • I complained about this several times – including at general support – and nobody – including at general support – bothered to reply. Until another user posted at their own support pages a function that disables them permanently. Sad. (that’s right, this happens with YOAST and here’s one of those warnings:

        • The word “admin” (for notices) could be interpreted in two ways — either they’re admin / back-end notices, or they’re administrator notices. I’ve always understood that they are the former (notices displayed on the admin back-end), and can be seen by any / all back-end users, so I use “current_user_can()” in my own code to display different kinds of messages. Maybe this is more of a developer awareness issue than a core WP issue. ;-)


  5. Amen! Unfortunately this trend is perpetuated by the likes of Syed Balkhi, Joost de Valk (Yoast), and several other who promote a seedy sort of affiliate/hype-artist culture in the WordPress community (and who have been promoted on the likes of WP Tavern).

    As this “first generation” of WordPress “gurus” have a head start on the game, it is important to call them out by name, IMO.

    • Jesse, I can attest to a strong sense of a double standard in play. JetPack, WooCommerce, Yoast all get special treatment from what I’ve seen. It will be denied of course but I’ve watched it first hand.

      What’s worse is when the big guys do this, this sets the standard for the whole platform. I’m tired of the “too big to fail” line being used with the whales of the commercial plugins.

      Samuel and Mika should simply kick the whales out until they bring their promotional wizardry in line with the spirit of WordPress (an open source free publishing platform). Crippling advertising is not free. That’s commercial TV where a half hour is not 30 minutes but 20 minutes content and 10 minutes advertising.

  6. I don’t think a cookie should be used either. I think clicking the button to get rid of the notice, should make it a permanent removal. If I didn’t want to see it the first time, I never ever want to see the damned thing again. Having to see crap just because I clear my cookies or am on a different machine is infuriating.

    • Totally agree with that.

      It’s really not THAT hard to simply add a transient – or if you know your way around, set a transient during the plugin install / activation, which will be REMOVED after the nag message disappears.

      Easy-peasy stuff.

      cu, w0lf.

  7. Jeff, have you tried first to contact the author and asked him to remove this message or at least told him that its annoying? You can also use the plugin rating function to make him/her aware of your disappointment. I understand your concern but i never made the same experience with any of the plugins from the wordpress rep i ve installed so far on my sites. (i do not install low rating plugins) So i really think the majority of plugin devs are not abusing the pluginsphere. i would not bet that the author you complaining about is reading here so you have likely a much better chance to contact him directly. Your frustration is noticable without reading between the lines and i fully understand this but from a developers perpective reading the subject of your post feels like an accusation to every developer…not only to the minority of people who “forgot” the dismiss button.

    Btw. Dismissable notices are best created with an permanently stored db entry so you are sure the message does not reapear when a cookie is deleted.

    • The plugin author was notified by Sarah Gooding, something I found out about today after the post was published. He pushed out an update, I upgraded the plugin and now the admin notice has disappeared. Regardless, the post is a request and a reminder about how to use the admin notices feature in WordPress at least from a user’s perspective.

      reading the subject of your post feels like an accusation to every developer…not only to the minority of people who “forgot” the dismiss button.

      Ok, I see where you’re coming from. So in that vain, I’ve changed the post title so it’s a general request, not singling out plugin developers even though that’s who I’m asking.

  8. @rene Yes, you’re right and that’s exactly what I did yesterday morning. I contacted him privately. He was not aware of the guidelines and immediately updated the plugin. English is not his first language. It was not meant as abuse. Would be nice to have plugin guidelines translated – I don’t think they are. I don’t believe that many plugin authors intend to abuse the guidelines, as you say. Much better to give them the benefit of the doubt and deal with the matter privately before leaving negative reviews and reporting them for removal.

  9. It’s good to shed light on this issue. I’ll bring it up to my members of WordPress Chapel Hill and mention the issue to the All in One SEO team, just so they are notified and keep tabs on any notices they build into the plugin. In my experience, they are usually good about that, but I’ll just make them aware of the conversation here.

  10. I seriously hate plugins who OVER DO IT on selling the PRO version of the plugin, or their other plugins.

    Like Joost de Valk does with Yoast SEO.

    Just give me a few seconds to at least fart in peace before your plugin blasts me with so many notices thus hijacking my admin dashboard.

    I seriously wonder with Joost “gets away with it” and others wouldn’t come close.

    I can repepat same thing for other plugins, not just Joost.

    WPSmush is also a “culprit” on the notices hijacking.

    Same for Syed Balkhi’s MonsterInsights/Insights, Formerly Yoast Google Analytics, from showing a banner of Yoast’s services, now it shows Balkhi’s services.

    Someone should make a post (not saying WPTavern) of all these highjackers.

  11. Great job throwing some light on this issue. I definitely agree with much of what has been said in the post and comments.

    There is definitely places to have ads and upsells in a plugin. However, they should be confined to your plugin’s pages and should be dismissible if they are admin notices.

    I am okay with permanent ads in the plugin’s page like in Yoast and similar as long as they do not interfere with the user experience.

  12. I’m going to be even more evil. Admin notices should not be used for advertising. I get upselling to a degree, and I’m fine with links to pro versions or services or whatever in the plugin’s options pages, but not as admin notices. Admin notices are for admin stuff, like “Hey, there’s an update,” or “Hey, we did some new shit, you might want to take a look as it could effect how this plugin works with your site,” ETC. I’d also love a user_can sort of function for admin notices. If someone’s a subscriber to a site, they can’t do anything. Admins are the only ones who should be dealing with those.

    • In my plugins, I’m using my own implementation of the admin_notice “message” that just does that. If you cant “manage_options”, you won’t see a fart or burp of them ;)

      IMHO it’s simple negligence on the side of the developers; just quick rush-jobs to put up a nifty notice of your “here is another bunch of plugins for you (that might pay my rent, too)” and be done with it. Baaaad ways, done dirt cheap.

      cu, w0lf.

  13. There are loads of culprits that do this, little notice here, a little banner ad there.
    One of my pet peeves. The ones with no dismiss and no screen option to remove are the ones that won’t be getting a dime from us.

  14. Upselling should be disallowed in Plugin and Theme Directory. Notices should be strictly standardized. That Bluehost in the hosting page should be in the hall of shame too, not as a recommendation for innocent users.
    Why not keep for share, not a sale?

  15. Please stop abusing WordPress developers :)

    How many hours of work and $$$ Yoast (or any other plugin / theme dev out there) gives for free to all of us with the free version(s) of their work?

    Without upselling of any kind, most of the plugins would be probably on the Envato servers ;)

  16. As a plugin developer, I definitely support upselling a plugin in the Admin area. I’m yet to do that.

    However, I think this should only be limited to the Plugin settings or other screens added by the plugin. It should definitely not be in the admin notice because that should be reserved for real notices.

    Maybe this should be part of the plugin review process on

    • Among the recent offenders is WPMU Dev’s WP Smush, which had an unintentionally unstoppable notice/ad. It is the size of the welcome panel with a large cartoon figure in it. I think this was a subtle hint that they’ve rebranded.

      It would be great to see some interaction and design requirements/limits on these things.

  17. I’ve seen many admin notices that are notifying about the premium/pro version of a theme/plugin and clicking dismiss disable it forever. Or at least until the next update. And I’m totally fine with that, especially if it’s done nicely.

    After all, this plugin or theme is a free and people tend to forget that, which is sad. It’s good that seeing other comments, there are still people who respect those developers, event if they cross the line sometimes.

    A side note – if you don’t like the approach, admin notices, or something else, fork the plugin and make it work as you like. That’s the power of the Open Source.

  18. Hi,

    Thanks for the post mate. It seems the culprit, whose plugin has about 5 000 installs, finally fixed the problem the annoying notice nagging people to up-sell is gone. While I feel for the author, the simple truth is that with this sort of plugin there is not advantage to upgrading to pro just so as to get Google Analytics. It’s a share button for God’s Sakes! Why would anyone want a pro version of something like that?Just use it to show your skills with other plugins.

  19. The notification manager will be nice when it is further developed. In the mean time, I am tempted to use thoughtful but counter-intuitive plugins such as

    I certainly appreciate the countless hours of Pro bono work that many plugin developers have contributed. The freemium model seems like a great marketing tool if used correctly. I agree with many of the previous comments – keep the advertising on the individual plugin settings page. I have unfortunately have been conditioned to ignore the nagging irrelevant admin notifications and accept the fact that screen real estate is compromised.

  20. Huf.. I own a freemium plugin, and I don’t support the “Admin Notices” way of up-selling it. In my opinion, advertising inside your plugin’s settings pages without irritating the UI is fine, but not on the entire dashboard. If possible, create a separate page for that, something like “Pro Features”, “Upgrade” etc..

  21. I couldn’t agree more! I often log into client websites only to find the content of the page is pushed down below the fold by annoying notices.

    Another major issue of this abuse is it can be very confusing for WordPress newcomers. It’s very overwhelming for a new WordPress user to log into their WordPress Admin Area and be bombarded with these messages, some of which are important and some of which are nearly useless.

    A few months ago I played around with a redesign of the notices (which is somewhat similar to Kooij’s design).

    Mockup: Admin Notices Redesigned

    A few problems this design solves:

    – Doesn’t take up much room.
    – Doesn’t overwhelm.
    – You know who the notification author is.
    – You know what component authored the notice (plugin, theme, WordPress)
    – Easy to see what is urgent and actionable and what is not.

    But I think the problem of admin notices must be solved at the WordPress core level. WordPress should allow messages to be passed to the notification center with specific data only, not unfiltered HTML. That data could be:

    Severity: urgent, significant, normal, promo, etc…
    Author: Plugin/theme name
    Dismissible: true/false
    Message: Content of notification (with length restrictions)

    AJAX links should also be supported.

    If this is not solved at the WordPress core level, there really is no way to prevent this abuse. Of course we could ask the plugin and theme moderators to monitor this but that’s asking a bit much. And that doesn’t even take into account plugins/themes.


  22. Before I typed my comment, I did a hard-search for the word, “ethic.” Return null. Ethics is often overlooked within an open ecosystem, because many contributors have no formal training or guidance in this area. Or, Ethics can be mistaken for “Guidelines” or “Standards.” Many professions require Ethics before you can practice commercially. Notifications are like a UX anti-anti-pattern. Communication Design has come a long way, we no longer require the burden of the obvious—though I stand neutral within Accessibility context #Semiotics. If you’re learning a new technology right now, consider spending just 1 hour on Ethics. You won’t be sorry #EthicsWP.

    • @Tada ~ I am right with you on this one, but I also fear we’re ‘flogging a dead horse’.

      It not just the WordPress community. It seems to be all that everyone ever focuses on these days ~ “entitlement” ~ and rarely, if ever, “responsibility”.

      What can I get; not what should I do/give/be etc.

      There’s a lot to be said for growing a community bigger, but there’s also a lot to be said for growing it better.

      As in ~ “ask not what your WordPress community can do for you, ask what you can do for your WordPress community” ~ with a hat tip to JFK.

  23. Casper Hübinger of WP Rocket gave a very vivid talk on protecting the WordPress admin interface for plugin developers at WordCamp Europe yesterday.

    Here’s some highlights:

    WP Admin is not your private space. It is a shared apartment.

    Car windshields don’t display advertising.

    Don’t be the one to contribute to Notice Fatigue and Update Paranoia.

    The whole presentation should be up on at some point. Casper’s talk was the highlight of day one for me.


Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: