DiggingIntoWordPress

by Chris Coyier & Jeff Starr

Stop Ruining the WP Admin Area

Posted by Updated on

I guess what I was trying to get at with my previous poll about too many plugins was the idea that a lot of WordPress sites that I see these days are just absolutely trashed in the Admin Area due to inconsiderate, poorly planned plugins and themes. For users, a few wrong turns when choosing plugins can leave the streamlined, easy-to-use Admin Area an absolute mess of annoying ads and discordant design. So this DigWP post is encouragement for plugin and theme developers to please STOP ruining the WordPress experience with aggressive marketing tactics, endless nagging, and other obtrusive nonsense.

tl;dr:

“The overall quality of a plugin or theme is revealed by how well it harmonizes with WordPress.”

And the winners are..

Just kidding. When it comes to polluting the WP Admin Area with hideous design and strident advertising, there are no winners. The user experience suffers, your brand looks pathetic, and the WordPress experience is ruined.

For those of us that run "pristine" WP installs, it's easy to imagine that all WordPress users enjoy the same clean, well-organized Admin experience. You know, a world where the unencumbered luxury of the Admin Area is freely available for all users. Unfortunately, this unhindered utopia of administrative functionality is far from universal reality.

Thanks to some overzealous plugins and themes, the carefully designed and refined Admin Area can be transformed into an unusable mess of popups, reminders, and advertisements in just a few short clicks. All it takes is a few desperate plugins and suddenly you're staring at a barrage of poorly designed "alerts" and obtrusive advertisements scattered throughout the entirety of the Admin Area.

Seeing is believing

Of course, descriptive language fails to convey the full extent of the UX degradation we're dealing with here. If you've yet to experience anything like this for yourself, congratulations. To get a better idea, please examine the following screenshots (click images for full-size views).

Ruined WP Admin Area 1
WP Dashboard riddled with notices and other nonsense

Ruined WP Admin Area 2
User experience of the Plugins screen severely diminished

Ruined WP Admin Area 3
Perfect example of discordant design: elevating plugin links with painted background, social media icons, and of course a drop shadow

As one of my readers recently lamented:

“[...] Developers seem to be so full of themselves and avarice that WP has become their private ad board. Nicely, suggesting a pull back to less in-your-face tactics has only brought condescending ‘it's got to be’ responses. I wouldn't mind even an occasional nag at the time I was dealing with their plugin; BUT, it's all the time, any time.”

But wait there's more..

The previous examples show some of the worst, most polluted Admin Areas that I've had the displeasure of visiting. But the backend doesn't need to be completely obliterated to make the user feel violated: all it takes is one blatant, in-your-face advertisement or some self-serving, obtrusive notification to ruin the simplicity and elegance of the WordPress experience. Here are some screenshots showing examples of this (click images for full-size views).

Ruined WP Admin Area 4
The WP Dashboard ruined by completely unnecessary, self-serving nags

Ruined WP Admin Area 5
More unnecessary screen pollution that condescends to and disrespects the user

Ruined WP Admin Area 6
Blatant advertising: this needless nag should be left in the theme's documentation or settings page

From the same frustrated user:

“They've begun thinking the Admin page is their own personal playground to further their business.”

I'm guessing there are thousands upon thousands of examples like these, where some ill-conceived design decision leaves an otherwise decent plugin looking obnoxious and desperate. And all at the expense of the end-user. Here are some further examples to really help the idea sink in (click images for full-size views)..

..and a few more examples to consider (click links to view full-size images):

Had enough of the mercenary tactics and ill-conceived design? Let's look at some ways of dealing with this unfortunate phenomenon..

Dealing with it

In an effort to encourage developers to NOT trash the Admin Area, and to educate users that they shouldn't settle for obnoxious plugins and themes, here are some recommended guidelines.

Developers

Developers, here are some tips to help keep your plugin or theme 100% legit with your users.

  • Use the WP API for notices, etc., not your own funky thing
  • General usage information belongs in the readme/documentation
  • License nags and prompts belong on the plugin page or submenu
  • Nags to "rate my plugin" and similar should be left on the plugin page
  • Asking for donations at the top of every page in the Admin Area makes your plugin look cheap
  • Nags for "recommended plugins" should be kept in the documentation
  • Applying your own "custom" styles to make your stuff stand out or "pop" out is an absolutely horrible idea
  • If you must advertise or ask for ratings/donations, for the love of WordPress keep it on your own plugin page, and DO NOT display it on every page in the Admin Area

Basically these tips can be summarized with two golden rules: keep your ads, nags, and other infos on your own plugin page (or in the documentation), and always use styles that harmonize with WordPress. And to go even further, these two rules can be boiled down to a single point:

“If your plugin or theme stands out in the Admin Area, you're doing it wrong.”

Users shouldn't have to give your plugin exclusive space. The Admin Area is not a private billboard for your plugins, themes, and whatever else. You get a plugin page to put your best foot forward, so make the best of it and show respect for both the user and WordPress.

Users

Users, especially new and/or inexperienced users, I feel for you. Hopefully the following recommendations will help you run a cleaner, more productive WordPress.

  • Choose plugins that harmonize with WordPress
  • Avoid pushy, inconsiderate plugins like the plague
  • If you install a plugin and ads and nags are the first thing you see, uninstall immediately and don't look back
  • If you find a plugin that works but is capitalizing the Admin space, look for an alternative (there's almost always at least one good alternative)
  • After all of your plugins are installed and activated, the Admin Area should remain as fluid and functional as it was when you first installed WordPress
  • Uninstall "noisy" plugins that insist on standing out with ads, nags, etc.
  • If you can't find a suitable alternative to an obnoxious plugin, try disabling its ads/nags/etc. (see next section below)

These rules intentionally are a bit repetitive, so let's summarize:

“Avoid plugins and themes that don't harmonize with WordPress.”

Fortunately, the endless army of WordPress plugins and themes enable users to be extremely discerning when it comes to quality. And that's precisely what all of this is pointing at: the overall quality of a plugin or theme is represented by how well it harmonizes with WordPress. Anything that you are adding to WordPress should be tightly integrated with WordPress.

So if you find yourself staring at some oddly styled plugin notice that's splattered throughout the Admin Area, asking you to upgrade, donate, subscribe, like, tweet, or whatever, that's a clear sign that you've installed the wrong plugin.

Last resort

If all else fails, and you absolutely need to use that annoying plugin or theme, you can try disabling some of its unwanted Admin Notices. Savvy users can do this manually by grabbing the global $wp_filter variable and filtering as needed. But there's no need to reinvent the wheel; try using a plugin such as Hide Plugin Updates Notifications or similar to do the job. Of course, this method won't clean up rogue styles or stop all ads, nags, and virtual panhandling, but it may help restore the UI to something a bit more manageable.

Take home message

If you are a WordPress developer: respect the software you are working with. Understand that it's taken thousands of people many years to make WordPress the popular, easy-to-use publishing platform it is today. Show your users that you care by not wasting their time and space with blatant, condescending marketing tactics and in-your-face self-promotion.

If you are a WordPress user: understand that WordPress is designed to be simple, fast, and easy to use. When you first install WordPress, have a look around the Admin Area. Notice how clean and well-organized everything is. As you build your site, choose harmonious plugins that vibe with the WordPress aesthetic, and avoid disrespectful plugins like the plague.

For both developers and users, it's all about maintaining the integrity of WordPress, harmony of the Admin Area, and quality of the user experience. WordPress is the greatest, please help to keep it that way.

Update

2016/08/31: Just looking at the new WP Plugin Guidelines: The plugin should not hijack the blog admin — hopefully it helps! :)

35 Responses

  1. I absolutely agree. If I ever install a plugin and it doesn’t blend the WP admin, I just look for an alternative. In fact, I’m thinking about even changing Yoast SEO. I don’t like at all how it is taking over the admin…

    • Hi Joan, do you still feel like this using the latest version of the plugin? We’ve worked hard on making our plugin less intrusive in the admin. Which are the things that still bother you?

      • A way to disable the icon in admin bar would be nice.

        • Thanks Brian for your suggestion! I can see how that could be an improvement. I’ll bring it up internally and let you know what we decide on. This could take a couple of weeks since quite some folks here are currently on a holiday.

      • The fact that Yoast SEO still degrades WP functionality when turned on in longer posts, is a BIG problem for one thing. Delay in typing is so long even today I needed to deactivate the plugin while I worked on a post in order to keep from getting motion sick.

        For another, the so-called readability algorithms are arbitrary to whatever/whoever made them up and completely useless (as well as undesired) for me; yet, there is no button to shut off the so-called grammar testing that you’ve insisted on adding (and which seems to be doing the degradation) while still availing of the original intent of the plug-in that I downloaded.

        [You should also read into this that it’s the loss of what we feel WAS a great plugin and the uncertainty we feel over what we can replace it with that generates a lot of the anger users (and former users) are venting. If we still didn’t WANT to use if for the original purpose we’d just delete it and you’d never hear about it. I personally, hope you truly get it right, soon.]

        [Sorry Jeff, for going so far off topic, but he did choose to use your forum for, I assume, a bit of damage control and to ask for feedback – and you can moderate this out if you’d like. I think by now you can tell that, for me, this is like the gauge being let off the pressure cooker on this topic. And you can surmise that I not only agree with all your “best practices” and the way you presented them; but also am grateful to you for giving this the public airing and credence it deserves. I’ve gotten my point across and will disengage from the discussion, hoping developers will take these best practices to heart.]

    • Specifically for this purpose I have released the Hide SEO Bloat plugin that removes all the unneeded and unwanted stuff that the Yoast SEO plugin adds. It comes with a settings page too which I have integrated in the SEO Settings. You might want to check it out :)

      If you are looking for an alternative I can recommend The SEO Framework.

  2. Great article. It would be nice if there were just a single notifications icon (like Facebook) on the top-right of the WP admin areas where all those notices could be seen/dismissed.

  3. If all else fails, I’ve also resorted to this (another) plugin by Barry Kooij – WP Notification Center.

    • Álvaro Góis August 2, 2016

      +1

      Doesn’t stop all the nagging but does a great job nevertheless.

  4. While not specific to the WP Admin, I’d also like some kind of call to knowing when Plugins and Themes decide they need to add more tables to the database – and worse, if they don’t clean up after themselves after deactivation/deletion. I’m sure that’s a post for another day. :)

    Keep it clean, all y’all!

    thanks Jeff!

    • Deactivation should not delete the new tables, what if it is temporary? You will have lost all the things that the plugin did. There should be an uninstall step though.

  5. At Yoast we used to receive a lot of feedback about this, which is why we’ve created a notification center and moved all of our notifications there. This means our notifications are no longer spread across the admin, but all gathered in a central dashboard on one of our settings pages. This has been in Yoast SEO since version 3.3 (June 14th), which means at least two of the examples in this post aren’t entirely up-to-date ;-)

    • Omar… Since you seem to desire to fork into a referendum on the Yoast SEO: it is true that YOAST has straightened up their act in the past “update” or so after a “firestorm” of negative comments.

      HOWEVER – (for at least me) YOAST SEO has the (dubious) honor of being the very FIRST plugin that I ever used who seemed to INVENT the in-your-face advertising that is being referred to in this article!

      I spent months with YOAST SEO being the only in-my-face ads on WordPress that required me to “click-x” like swatting mosquitoes in the Florida Everglade Swamp. Slowly others “updated” into using WP for their own personal ad space just like Yoast SEO was doing.

      And to be fair, the “lot of feedback” you referred to, of course, came on the heels of the fatal “update” which completely broke functionality and the company’s seeming attempt to use the event to market “support” which infuriated users. So, it wasn’t entirely about just the ads.

      You do make a point about “listening to users” which is what Jeff’s article set out to do from the first sentence. He obviously spent many hours investigating and documenting the current WP state of affairs and, to my way of thinking, actually understated the problem a bit.

      He definitely wordsmith-ed the text into the minimum documentation needed to make the point necessary to springboard the article and then took the high-road and kept it on a positive plain. [Something many of us in the trenches don’t do.]

      In fact, I think WP needs to do two or three things to their plug-in “rating” system:
      1- allow those who’ve already rated to “change” their vote when a plug-in “update” damages their experience; and/or,
      2- give a sub-rating inclusive only of the latest update instead of letting unwitting users be tricked by the number of downloads for vintage versions; and,
      3- allow for a split rating for both function and user experience (including documentation and degradation of WP)

      Those two changes would significantly magnify a developers motivation to actually “listen” to feedback and not just claim they do.

      Thanks Jeff – You’ve hit this nail squarely on the head. Perhaps your position as an “opinion leader” in WordPress will remind us users that we shouldn’t have to put up with mercenaries just because the product is “open source.”

    • No, Yoast is still horrible. Now you’ve just put yourself at the top in the admin bar with little notifications, as if you’re a built-in part of the wordpress core.

      Novice WP users (i.e. clients) think there’s some pressing issue that needs to addressed when they see that.

      So, you’re still crap. And you can’t really spin that into gold.

      The only way to correct the problem is to correct the problem, not to create a different problem.

  6. Couldn’t agree more. It is a particular problem for client websites where 3rd party adverts and messages make you look unprofessional. It is defiantly something that makes me think twice about using a plugin. When the plugin offers functionality I can’t do without, I apply custom CSS to hide anything annoying.

  7. Totally, 100% agree.

    Just as worse are those that clutter the admin menu unnecessarily. I’ve got one installed right now which adds its own non-standard (i.e. not using the grey scale dashicons) menu which has just one sub-menu hanging from it, and that’s for settings. Why is that not under the settings menus?

    As a plugin developer myself I go out of the way to integrate my plugins as seamlessly into the existing WordPress ecosphere. Any fool can do their own thing and make it stick out like the proverbial soar thumb, as there’s no skill required to integrate it.

    There’s no excuse, it looks ugly and just annoys those who have to put up with it.

  8. After months of designing and developing the admin area it is so heart breaking to then add a new plugin that you have paid for only to see a load of notices appear for all users on our network. We then have to spend ages digging out the function and removing it, even more annoying when the plugin doesn’t use a core notification function.

  9. Derek Ashauer August 3, 2016

    As a plugin author who does use admin notices (that use the WP admin notice styles to match because I also agree a plugin should not create a whole new UI in WordPress for the user to learn… and it just looks awful), I see both sides of this. While I don’t really want to nag people with admin notices, I have found it the only way to get people’s attention to important things.

    I have 4 notices that appear after set amount of days all using standard WP admin notice classes and UI and are permanently dismissible by the user:

    Reminding users where to get help (after 3 days) Users don’t read documentation. They don’t ask for help. I find many users who use my plugin, get stuck using it in one spot, and then just uninstall and leave because they didn’t think it worked. Instead of asking for help, they leave. So I have a notice that basically says “Hey, I am here to help!…” with links to docs and support areas. More in depth discussion here: https://wpchat.com/t/helping-people-who-dont-ask-for-help/1479/8

    Prompt to take a survey (after 30 days) I ask users to take a survey to provide feedback on what is and isn’t working and if they have any feature suggestions. This has lead to many new features being developed that I had absolutely no idea they wanted or needed.

    Prompt for a review (after 45 days) People that really like the plugin rarely say anything. If I have any hope of continuing to make money from my plugin (it is freemium) then I have to get their attention to provide a rating… because people are significantly more likely to trust a plugin that has high ratings compared to one with little to no ratings.

    Prompt to upgrade (after 60 days)
    If the user has not upgraded to our Pro bundle by this point, another notice letting them know what is included and link to purchase with a discount. This prompt has increased my sales by roughly 40%. It gets those people who have now fully invested in the plugin but where on the fence about some of the paid features. With a discount, it pushes a lot of people over that tipping point to buy.

    Without these notices, I feel like my plugin would be growing at a small fraction of the pace and may make it not worthwhile for me to develop anymore. Otherwise, there is no way to communicate with users of the plugin to move beyond the free version. I can’t add them to a mailing list when they install to then send them these kind of updates via automated email marketing campaigns. IMO, I think a user can handle clicking a simple dismiss button one time in exchange for getting a free plugin that solves a problem for the user. In my case, I have spent around 1000 hours in development at minimum to make a plugin which helps photographers generate upwards of 75% of their total income… I think 5 seconds to read notice and click a simple dismiss button is not much to ask.

    I do think that something like the WP Notification Center is a great idea. Many theme/plugin developers have gone way too far in the design of the notice and not allowing it to be dismissed unless they pay for an upgrade. I feel it is perfectly fine for a plugin to do admin notices as long as they match a standard WordPress UI and can be dismissed.

    I do fully agree with your point about having those notices only shown when related to the plugin itself in the admin area, I am going to be making this change to my plugin soon. That could be a bit difficult for some plugin authors though whose plugin settings are only ever seen when doing the initial setup and the user never again directly interacts with that plugin (one example would be a plugin that adds social sharing links automatically to the end of blog posts). So how would this kind of plugin reach out to it’s users? What other options do plugin authors have in general to reach out to their users?

    • I’m sure you CAN “see both sides” but perhaps one side more than the other?

      Ask yourself, truly: “where to get help” – people who are smart enough to find your plugin in the first place and who don’t all of a sudden,
      need help arbitrarily at 3 days;
      taking a poll – do users really have trouble finding you with questions or suggestions that you need to divert them from what they are doing?;
      “begging for votes” to people who’ve already decided NOT to vote; ; and, blatant advertising – using someone else’s work for your billboard. None of these are integral to the use of your plugin, are they?

      IMO Jeff is absolutely correct in the “best practices” that he describes and perhaps I’m doing overkill because you’ve already stated your agreement and intention to comply with them.

      As far as getting “others” to do it too – well that’s a lot up to us end users and what we’ll stand for.

      Don’t forget, a whole lot more than one developer has devoted a whole lot more than even “1000 hours” to create the “open source” system that is WP. IMO if you wanted to make a living from your “1000 hours” why would you think it was appropriate to do it on the backs of thousands of other developer’s work who did it for free. Doesn’t it seem like a better thing to do would be a stand-alone, proprietary program rather than a plug-in? You could then have your monetization and we could use WP as the developers had it in mind. We’d all be happy.

      Jeff’s article is something that I’m positive hundreds of thousands (if not millions) of WP advocates have been hoping that someone with “game” would stand up and say in a public forum – and something that I’m whole-heartedly behind.

  10. Thank you! thank YOU! THANK you! ThAnK yOu! ThAnK YoU! THanK You! thANkyOU! THAnkyOU! thaNK You! THANk you! THANK you! thank YOU! THANK You! thank yOU! THANK YOu! thank yOU! THANK YOu! thank yoU! THANK U! thank u!

    ThAnK you!

    <gratitude>T H A N K   Y O U</gratitude>
    <superaltive>! ! ! ! ! ! !</superaltive>

  11. This was a really good read, especially because even as a theme developer, I have come across many others who seriously take over the admin area as it was described in this article. It drives me nuts when I have to keep clicking the X to close, or dismiss other boxes before I can begin work. I’ve seen many plugins do this, but also themes. I’m actually surprised to see from the wordpress.org directory still abusing this. Not only that, having features that are disabled until you pay for it whether it’s a plugin or theme. When it comes to uploading themes (not sure if this is the same for plugins), I’ve noticed that some are being naughty and putting things back in that they shouldn’t, knowing that they won’t notice.

  12. Whilst the debate is still going on… Not being a plugin developer, I do get @Derek’s point. Especially if the plugin is a main feature type plugin for your WordPress site, there are certain things the users should be notified of in a timely manner. It also make sense that most plugin developers would feel this why. Thus the more plugins installed on the site, the more notifications there will be, the feeling of crowdedness increase.
    It sure can freak out clients and lead to panic emails to the designer / developer.
    I personally always try to keep plugins to a minimum (try and built in the small things myself) For the necessary ones, as mentioned before, WP Notification Centre has been solving this issue for me.
    The responsibility should also be there, to put less important / advertising things on the plugin settings page.
    I personally do not agree with @Dan. I find Yoast plugin very useful. Since Google’s algorithm is all about content, having a tool helping me and my clients writing more digestible content to decrease bounce rate and to be found on the internet for a specific topic, sounds like a no brainer to me.
    Lets face it… There are a lot of peeps out there, including me, that has forgotten to untick that box ‘Discourage search engines from indexing this site’.
    When I make a site live, out of habit now I do specifically check Yoast notifications. It is nicer now being less intrusive.

    • Jeff Starr

      Re: “Discourage search engines from indexing this site” — pretty sure that option is unchecked/disabled by default.

      • Jeff, of course it is unchecked/disabled by default. But I (and as far as I know quite a few other folks) tick the box on the development version of a site. It is now on my to-do list, making a site live to check all settings, including Yoast notifications.

        • Jeff Starr

          Interesting, you develop on a publicly accessible site?

        • @jeff… there’s probably a lot more (of us) who develop on a publicly accessible site (i.e. on the server instead of stand-alone) than one would realize.

          There is no stand-alone “prosumer” version of WP. All the fal-de-ral over WAMP and MAMP and dependencies and command lines truly make almost ANY other option easier to us. WP does allow posts to be “draft” and not published so content is unaccessible.

          Obviously, an already established site as busy as the ones you guys have would make live development “mistakes” much more problematic to everyone.

          Perhaps you and Chris might make it a next project (?) – seems to me that the number of people who would like an open-source stand-alone WP which runs on their own computer and can be easily “pushed” to their live site would be huge.

        • Jeff Starr

          I think you misunderstood my question, which was emphasizing *publicly accessible*. I also develop on a live server (as opposed to locally with _AMP), but the sites definitely are not accessible to the public. That is, I use authentication/htaccess to keep development sites private.

          So with that in mind, I was surprised that anyone would need to uncheck the setting to “Discourage search engines from indexing this site”. Until Semblance’s comment, I didn’t realize that anyone would actually develop on a *publicly accessible* site. Just thought it was interesting.

  13. I guess part of the problem for us at Yoast is that we are primarily optimizing for the ones who need the most hand holding. With millions of users (not to be mistaken for customers), we come across a lot of not so wise things users are doing with/to their site. Developing on a live site is a good example of that which happens A LOT. I am happy to share some more examples, if anyone is interested. I hope at least to make clear that the judgment about what is and isn’t needed is not so easy to make.

    There are simply a lot of users who are quite clueless when it comes to managing a site and its plugins. The only way for us to deliver help and guidance to these users is through notifications or any other mode of automatic feedback. We invest heavily in that, because we want to enable novice users to have access to a reasonable level of SEO for their sites. We’ve got quite a few features aimed at helping users get it right and are always working on new ways to make our plugin easier to use.

    From this discussion, I take we could do more for power users and we could have another critical look at how we might impact the general user experience negatively in wp-admin areas that are shared. As a start, we might be more flexible about allowing users to disable certain features that they don’t use or want to use. I’ll put this up for discussion within our development team (and with our product owner).

    BTW: Anyone who has good ideas on improving the general user experience of Yoast SEO is welcome to share them with us on GitHub.

  14. Hi Dan,

    Some great insights. I completely agree with you.. Maybe you could mention a handful plugins that could actually do more good than harm your WP admin area?

    What are your thoughts about Yoast? It messes up the admin dashboard (a bit), but there’s also some pros that many other plugins can’t compete with..

    Robert

  15. Uhh… interesting topic. I need to work on clean environments. My laptop desktop is clean, my email inbox is clean and I keep my WordPress dashboard as clean as possible.

    So, in my case, yeah.. I want a clean admin area too. I even hide some menus that I know I won’t use.

    What some plugins do though is giving you the possibility of hiding their messages for x weeks or months. That’s something at least..

  16. Thanks, great article.

  17. I do agree, spam and ads are frustrating, though I didn’t think one can hanlde it until met your post. Thanks for the $wp_filter hint and plugin.
    Also, I enjoy posting with LiveWriter, that allows me not to enter admin area at all )

  18. While I do agree with the developer who pointed out the importance of the notices for updates, I couldn’t agree with more with the authors perspective. I’ve tested a few gallery plugins recently and they all came with massive ads to buy the pro version.I agree a single line notification would be nice.

  19. few gallery plugins recently and they all came with massive ads to buy the pro version.I agree a single line notification would be nice. thanks!

Comments are closed. Contact us with any critical information. Thank you!

Code is poetry