Title: DevDome Admin Cleaner: Hide Notices &amp; Dashboard Widgets
Author: DevDome
Published: <strong>September 20, 2026</strong>
Last modified: September 20, 2026

---

Search plugins

![](https://ps.w.org/devdome-admin-cleaner/assets/banner-772x250.png?rev=3704125)

![](https://ps.w.org/devdome-admin-cleaner/assets/icon-256x256.png?rev=3704125)

# DevDome Admin Cleaner: Hide Notices & Dashboard Widgets

 By [DevDome](https://profiles.wordpress.org/devdome/)

[Download](https://downloads.wordpress.org/plugin/devdome-admin-cleaner.1.0.8.zip)

 * [Details](https://wordpress.org/plugins/devdome-admin-cleaner/#description)
 * [Reviews](https://wordpress.org/plugins/devdome-admin-cleaner/#reviews)
 *  [Installation](https://wordpress.org/plugins/devdome-admin-cleaner/#installation)
 * [Development](https://wordpress.org/plugins/devdome-admin-cleaner/#developers)

 [Support](https://wordpress.org/support/plugin/devdome-admin-cleaner/)

## Description

DevDome Admin Cleaner helps you hide admin notices, remove dashboard widgets and
clean up the admin bar. Keep captured notices in a Notice Inbox and use Client Mode
to simplify menus for selected roles.

 * Hide plugin notices for yourself or all administrators. Snooze selected notices
   for 1 or 7 days.
 * Remove dashboard widgets from view, including the Welcome panel, Activity, Quick
   Draft, At a Glance, Events & News and Site Health. Hide widgets added by plugins
   and themes too.
 * Use admin bar cleanup to hide the logo, Comments, New, Updates, Customize and
   extra top-level items added by plugins or themes.
 * Hide admin footer text, the version number and notice rows beneath plugins on
   the Plugins screen.
 * Review notice sources, classifications, first-seen dates and mute status. An 
   optional toolbar bell links to the inbox.
 * Check the workspace clutter estimate and its inverse, the Cleanliness indicator.
   These reflect workspace preferences, not site health or security. Hiding Site
   Health or Updates does not improve them.

#### How it works

Open DevDome Tools > Admin Cleaner. Choose individual settings and press Save Settings,
or press Clean My Admin for a broad cleanup.

Clean My Admin hides dashboard widgets, the supported toolbar items, footer text,
the version number and plugin list notice rows. It also hides all notices already
captured in the inbox for all administrators and enables Auto-hide new notices. 
Auto-hide includes supported notices added after page load.

This includes update, error and security notices. Recognised operational notices
carry a Critical badge in the inbox. Restore a notice to show it again for everyone.
Notice hiding applies only to users who can access Admin Cleaner, normally administrators.

Undo last change restores the previous settings once. Notice mutes are separate:
use Restore or Clear all mutes to show hidden notices again. Turn off Auto-hide 
new notices if you want future notices to remain visible.

Admin Cleaner works on its own and also shows its summary in the shared DevDome 
Tools dashboard.

#### Client Mode

Choose from the roles registered on your site, including custom roles. Client Mode
can hide Plugins, Tools, Settings, editor and Updates menu entries, plus the footer
version number. It supports a simpler client handover and basic white label admin
cleanup.

Client Mode never changes roles or capabilities. With the corresponding options 
enabled, the theme editor, plugin editor and Updates screens redirect to the dashboard.
Other direct URLs still follow the user’s existing permissions. Users with manage_options,
the Admin Cleaner capability or network management privileges are exempt.

#### What it never does

Cleanup never deletes posts, pages, media, plugins or themes. It never changes user
permissions or replaces access control. Hiding update notices does not disable updates
or fix the issues they report.

Removing inbox records, deleting all notice data and retention housekeeping can 
permanently delete the plugin’s stored notice records and mutes. Uninstalling removes
its settings and notice data.

#### Local data and privacy

Settings, notice records and mutes stay in your site’s options table. Notice excerpts
are redacted before storage and limited to 160 characters. Redaction removes email
addresses, tokens, keys, nonces, URL query strings and filesystem paths. Raw notice
HTML is never stored.

Retention targets 200 records. Unresolved protected notices are kept even when this
exceeds the limit, with a storage warning. Expired snoozes and orphaned mutes are
cleaned automatically. Delete all notice data removes stored notices and mutes without
resetting settings.

Admin Cleaner sets no cookies and sends no visitor data off-site. Its cleanup features
run locally and need no external service. Shared dashboard requests, optional account
connections and user-submitted error reports are described in External services.

#### AI agents and abilities

On WordPress 6.9 or newer, 14 abilities let authorised AI agents inspect settings
and notices, apply cleanup, undo settings, manage notices and run housekeeping. 
MCP clients can use them through the WordPress MCP Adapter. Abilities include snoozing
for 1 to 90 days. Every ability checks the plugin capability. Actions affecting 
all administrators or deleting records require explicit confirmation where specified.
Agent output excludes email addresses and server paths. Older versions register 
no abilities.

### External services

**Error reports (`devdome.com`), only when you press “Report this error” on an error
message.** The plugin sends the error text, the plugin, bundled library, WordPress
and PHP versions, whether the site is a multisite, the site locale, the screen you
were on, its own state (counts and flags, never a notice text), your site address,
the generated site ID, your DevDome account ID if the site is connected, and your
admin e-mail (so support can reply) to `https://devdome.com/api/plugin/error-report`.
Nothing is sent unless you press the button. Service provider: DevDome. Terms: https://
devdome.com/terms-of-service Privacy policy: https://devdome.com/privacy-policy

**Plugin catalog (`devdome.com`).** The DevDome Dashboard inside wp-admin fetches
the list of DevDome plugins (names, descriptions, logos, links) from `https://devdome.
com/wp-plugins/catalog.json` at most once every 12 hours (one hour after a failed
fetch), so the list stays current. Only the bundled core version is sent in the 
request; no site or visitor data. Service provider: DevDome. Terms: https://devdome.
com/terms-of-service Privacy policy: https://devdome.com/privacy-policy

Admin Cleaner’s own features (the notice inbox, dashboard, admin-bar and footer 
cleanup, and Client Mode) run entirely on your own server and make no network requests.

The plugin bundles the shared DevDome suite library that powers the **DevDome Tools**
dashboard. What that library may contact depends on the edition you are running;
on the WordPress.org edition nothing is contacted before you act; the self-hosted
edition also checks for updates as described below.

#### WordPress.org edition

The WordPress.org package carries a build marker that keeps the library’s bot-detection
feed download permanently off and contains no self-hosted updater; updates come 
only from WordPress.org. Besides the two requests above (error reports you send,
the plugin catalog), the only other request the shared library can make is the optional
account connection below.

#### Connecting a DevDome account (optional, both editions)

The DevDome Tools dashboard offers connecting a free DevDome account (used by other
DevDome plugins for optional email alerts; Admin Cleaner’s own features stay local;
the shared library performs only the checks described here). Nothing is sent until
you press the Connect button. If you do connect: the shared library sends your site
address, a generated site ID and a generated secret site token to `analytics.devdome.
com/api/plugin/connect/start` and `/api/plugin/connect/claim` to link this site 
to your account; afterwards it confirms the connection with `api.devdome.com/plugin/
account` (site address plus the site token in a request header) normally at most
once every fifteen minutes while a DevDome screen is open (sooner right after connecting,
and after ten minutes when a check failed), and tells `api.devdome.com/plugin/disconnect`
when you disconnect. When you connect from the DevDome Tools dashboard, whose Connect
card states this before you press the button, those account checks also carry the
slug and version of each active DevDome plugin on the site plus the bundled DevDome
library, WordPress and PHP versions, so your DevDome account can show your sites
and their DevDome plugins for support and update notices. Nothing about other plugins,
users, email addresses, content or visitors is included. Sites connected before 
this was introduced, and sites connected from a button that does not show that text,
do not send the list. Disconnecting stops the checks and the plugin list. Terms:
https://devdome.com/terms-of-service. Privacy: https://devdome.com/privacy-policy

#### Self-hosted edition only

 * `https://api.devdome.com/plugin-updates/devdome-admin-cleaner.json`: the self-
   hosted update manifest, checked from wp-admin and cron (never on front-end requests),
   cached six hours, ten-second timeout. The request sends no site data; it is a
   plain download. The updater validates the manifest (trusted host, HTTPS, matching
   plugin, sane version) and, when the manifest publishes a checksum, verifies the
   downloaded package against it before installation; on any failure the installed
   version keeps working.
 * `https://api.devdome.com/bot-protection/*`: the shared once-daily bot-detection
   reference lists (verified-bot user-agent patterns and datacenter/bad-IP networks)
   used by other DevDome plugins. A one-way download; no data about your site or
   visitors is sent.

### Privacy

 * **Your Admin Cleaner data stays local.** Settings, notice records and mutes are
   stored only in your own WordPress options table and are removed on uninstall.
 * **Stored notice excerpts are redacted first.** Email addresses, tokens, keys,
   nonces, URL query strings and filesystem paths are stripped before anything is
   saved, notice excerpts are capped at 160 characters, and raw notice HTML is never
   stored.
 * **Retention is bounded.** At most 200 notice records are kept; unresolved protected
   notices are never discarded to satisfy the cap (you are warned instead). Expired
   snoozes and orphaned mutes are cleaned automatically.
 * **You can delete everything.** “Delete all notice data” removes every stored 
   record and mute on demand; your settings stay as they are.
 * **No cookies** are set by this plugin and no visitor data leaves your site.

#### AI agents and MCP

On WordPress 6.9 and newer, Admin Cleaner registers 14 WordPress Abilities covering
the whole plugin, so an AI agent or MCP client (through the official WordPress MCP
Adapter) can do what the screen does and a little more: get-status, get-settings,
get-notices (filter by status, type or a search word, sort, page), get-notice (one
in full), clean-my-admin, undo-last-change, update-settings, notice-action (snooze1,
snooze7, hide, hide_admins, restore), snooze-notices (1 to 90 days), delete-notices,
clear-all-mutes, delete-notice-data, refresh-summary and run-housekeeping. Every
ability requires the plugin capability (manage_options by default); the actions 
that hide for every administrator, the ones that delete stored records (delete-notices,
delete-notice-data, run-housekeeping), clear-all-mutes and an undo that would turn
Auto-hide on require confirm: true. Agent output never carries e-mail addresses 
or server paths. On older WordPress versions nothing is registered.

## Screenshots

[⌊Overview: Clean My Admin, the workspace clutter estimate and what is hidden right
now.⌉⌊Overview: Clean My Admin, the workspace clutter estimate and what is hidden
right now.⌉[

Overview: Clean My Admin, the workspace clutter estimate and what is hidden right
now.

[⌊Notice Inbox: every captured notice with its source, type and status. Hide, snooze,
restore or remove in bulk.⌉⌊Notice Inbox: every captured notice with its source,
type and status. Hide, snooze, restore or remove in bulk.⌉[

Notice Inbox: every captured notice with its source, type and status. Hide, snooze,
restore or remove in bulk.

[⌊Dashboard Widgets: choose which dashboard widgets and footer items to hide.⌉⌊Dashboard
Widgets: choose which dashboard widgets and footer items to hide.⌉[

Dashboard Widgets: choose which dashboard widgets and footer items to hide.

[⌊Admin Bar: hide the WordPress logo, Comments, New, Updates, Customize and items
added by plugins.⌉⌊Admin Bar: hide the WordPress logo, Comments, New, Updates, Customize
and items added by plugins.⌉[

Admin Bar: hide the WordPress logo, Comments, New, Updates, Customize and items 
added by plugins.

[⌊Client Mode: pick the roles and the menu entries they no longer see. Permissions
stay unchanged.⌉⌊Client Mode: pick the roles and the menu entries they no longer
see. Permissions stay unchanged.⌉[

Client Mode: pick the roles and the menu entries they no longer see. Permissions
stay unchanged.

## Installation

 1. Upload the plugin to `/wp-content/plugins/` and activate it, or install it from
    the Plugins screen.
 2. Open **DevDome Tools  Admin Cleaner**.
 3. Click **Clean My Admin** for an instant tidy-up, or use the tabs to choose exactly
    what to hide.
 4. Set up **Client Mode** if you hand the site to editors or clients. **Undo last 
    change** reverses your configuration at any time.

## FAQ

### How do I hide admin notices?

Open DevDome Tools > Admin Cleaner > Notice Inbox. Select notices, choose Hide (
you), Hide for all admins or a snooze action, then press Apply. To remove admin 
notices from view in one step, use Clean My Admin. It also enables Auto-hide new
notices.

### How do I remove dashboard widgets?

Open the Dashboard Widgets tab. Select the widgets you want to hide and press Save
Settings. Built-in widgets have individual options. Widgets added by plugins and
themes have a shared option. Clean My Admin turns on all these hiding options.

### Is anything deleted when I clean the dashboard?

Clean My Admin hides interface items and notices. It does not delete your content.
Remove and Delete all notice data permanently delete stored inbox records and their
mutes. Retention housekeeping can also delete eligible records. A deleted notice
can return if its source displays it again. Uninstalling removes the plugin’s settings
and notice data.

### Does it hide update notices or disable admin notifications?

It can hide on-screen update, error and security notices, including those marked
Critical. Clean My Admin also hides the toolbar Updates item and plugin list notice
rows. It does not disable updates or notification emails. Restore captured notices
from the inbox and turn off Auto-hide if you want new notices to remain visible.

### What does Client Mode do?

Client Mode hides selected menu entries for the roles you choose. It can also redirect
the theme editor, plugin editor and Updates screens to the dashboard. Permissions
stay unchanged. Users with manage_options, the Admin Cleaner capability or network
management privileges are exempt. Notice hiding is separate and applies only to 
users who can access Admin Cleaner.

### Does it work on multisite?

Settings and notice records are stored separately for each site. Configure Admin
Cleaner from each site’s dashboard. The code also handles network dashboard widgets
and network admin notice hooks. There is no central screen for applying one configuration
across every site.

### How do I undo the cleanup?

Undo last change restores the settings from before the most recent settings change.
It keeps one recovery point. Restore notices separately in the inbox, or use Clear
all mutes. Turn off Auto-hide new notices to stop hiding future notices. You can
also show individual widgets and toolbar items again through their settings. Deactivation
stops the plugin’s cleanup while preserving its saved data.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DevDome Admin Cleaner: Hide Notices & Dashboard Widgets” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

[Translate “DevDome Admin Cleaner: Hide Notices & Dashboard Widgets” into your language.](https://translate.wordpress.org/projects/wp-plugins/devdome-admin-cleaner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/devdome-admin-cleaner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/devdome-admin-cleaner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/devdome-admin-cleaner/)
by [RSS](https://plugins.trac.wordpress.org/log/devdome-admin-cleaner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.8

 * AI agents get setting names and role names back unchanged; the output filter 
   no longer treats a long name as a secret.
 * Bundled DevDome library 1.7.6: if you connect a DevDome account from the DevDome
   Tools dashboard, the Connect card now says exactly what is shared, including 
   the list of active DevDome plugins and their versions. Sites that were already
   connected, and sites that never connect, send nothing new. See External services.

#### 1.0.7

 * The notice capture always closes its own output buffer, even when another plugin
   leaves one open above it.
 * The bundled DevDome library loads WordPress admin files only where they are needed.

#### 1.0.6

 * Security review pass: every request handler checks capability and nonce inline
   before reading input, all inputs sanitised on the line they are read, output 
   escaping tightened, the bundled DevDome library verifies nonces before any lookup,
   and the account connect return is bound to the user who started it.
 * Notice redaction now covers HTTP Authorization headers and any absolute server
   path; late-inserted notices reappear if the plugin does not answer within 8 seconds.
 * External services disclosure corrected to list every field an error report carries.

#### 1.0.5

 * Settings use plain checkboxes on the left of each option, saved with the Save
   Settings button, instead of toggle switches; nothing changes until you save.

#### 1.0.4

 * Connect fix (shared DevDome core 1.6.6): the connect claim now waits up to 30
   seconds and keeps the handshake for 20 minutes so a refresh retries it, the DevDome
   hub shows why a connect failed with a Try again link, and the verify file is 
   served through a query form for hosts that answer /.well-known/ before WordPress.

#### 1.0.3

 * First tab is now called Overview, in line with the other DevDome plugins; old
   links to the Dashboard tab still open it. Overview status card in the suite style,
   sticky Save Settings footer on every settings tab, darker readable text, consistent
   spacing under the tab bar.

#### 1.0.2

 * Design: every screen now follows the shared DevDome admin frame (section heads
   above cards, blue header badge, bug-report button, standard Save button, suite
   status colours).
 * Notice Inbox is a data list with status badges and grouped row actions.
 * Confirmations open an in-page dialog instead of the browser prompt.
 * Copy: no dashes in customer-facing text.

#### 1.0.1

 * DevDome Dashboard: plugin list, descriptions, logos and versions now come from
   devdome.com, one-click install of DevDome plugins from WordPress.org, Docs link
   and Fix buttons, Activate stays on the dashboard.

#### 1.0.0

 * First WordPress.org release. Every identifier now uses the devdadcl_ prefix; 
   shared DevDome core 1.6.0 (site token sent in a POST header, never in a URL).

#### 0.2.0

 * Notice storage rebuilt: one record per notice, so concurrent administrators can
   no longer overwrite each other’s changes, reported counts are true counts, and
   storage limits never discard an unresolved protected notice.
 * Notice identity v2: a changed operational notice no longer inherits a mute stored
   for an older, different message.
 * Stored excerpts are redacted (emails, tokens, keys, query strings, paths) before
   persistence.
 * Mute scope is explicit: hide for yourself or for all administrators; the status
   column shows who is affected.
 * The clutter number is now a documented workspace estimate computed from real 
   state: muted promos stop counting, hiding Site Health or Updates never improves
   it, and client exposure comes from real users instead of a hardcoded value.
 * Presets show the exact diff against your current settings before applying, and
   Undo last change restores the prior configuration exactly.
 * Reset plugin settings, Clear all mutes and Delete all notice data are now separate,
   honestly named actions.
 * Client Mode: capability-based exemptions (manage_options always wins), dynamic
   role discovery including custom roles, duplicate editor toggle merged, and every
   security-sounding claim replaced with the cosmetic truth.
 * Shared DevDome core updated to 1.4.7: the suite dashboard makes no request to
   DevDome before you explicitly connect, and its Connect button states what connecting
   shares.
 * Self-hosted updater hardened: manifest validation (trusted host, HTTPS, matching
   plugin, sane version), fail-closed behavior, and package checksum verification
   when published.
 * Summary cache refreshes immediately after every change, with a visible last-updated
   time and manual refresh.

#### 0.1.8

 * Expanded External services disclosure.

#### 0.1.7

 * Readme copy polish.

#### 0.1.6

 * Notice Inbox: added a **Remove** button next to Restore on every row that forgets
   a notice entirely (drops it from the inbox and the mute list), distinct from 
   Restore which only un-hides it.
 * Performance: the notice inbox now writes at most once per admin request instead
   of once per notice, and settings are read from a single memoized autoloaded option,
   cutting redundant database work on every admin page.
 * Design: dashboard-widget, admin-bar and Client Mode settings now use compact 
   toggle switches on the DevDome suite design system.
 * Accuracy: corrected the External services and Privacy sections to document the
   shared DevDome suite bot-detection download; removed dead detection scaffolding
   and a duplicate theme-editor hide.

#### 0.1.0

 * Initial release: one-click admin cleanup with a live clutter score, a notice 
   inbox with snooze/mute/restore (criticals always kept visible), per-widget dashboard
   cleanup, admin-bar and footer/version hiding, role-based Client Mode, and five
   ready-made presets.

## Meta

 *  Version **1.0.8**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [admin bar](https://wordpress.org/plugins/tags/admin-bar/)[client mode](https://wordpress.org/plugins/tags/client-mode/)
   [dashboard widgets](https://wordpress.org/plugins/tags/dashboard-widgets/)[hide admin notices](https://wordpress.org/plugins/tags/hide-admin-notices/)
 *  [Advanced View](https://wordpress.org/plugins/devdome-admin-cleaner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/devdome-admin-cleaner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/devdome-admin-cleaner/reviews/)

## Contributors

 *   [ DevDome ](https://profiles.wordpress.org/devdome/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/devdome-admin-cleaner/)