Remove Dashboard Access – WordPress plugin | WordPress.org
Skip to content
Plugin Directory
Remove Dashboard Access
Details
Reviews
Installation
Development
Support
Description
The easiest and safest way to restrict access to your WordPress site’s Dashboard and administrative menus. Remove Dashboard Access is a lightweight plugin that automatically redirects users who shouldn’t have access to the Dashboard to a custom URL of your choosing. Redirects can also be configured on a per-role/per-capability basis, allowing you to keep certain users out of the Dashboard, while retaining access for others.
Limit Dashboard access to user roles:
Admins only
Admins + editors
Admins, editors, and authors
or restrict by specific user capability
Choose your own redirect URL
Optionally allow users to edit their profiles
Display a message on the login screen so users know why they’re being redirected
Blocking access to the Dashboard is a great way to prevent clients from breaking their sites, prevent users from seeing things they shouldn’t, and to keep your site’s backend more secure.
Allow only users with roles or capabilities:
You can restrict Dashboard access to Admins only, Editors or above, Authors or above, or by selecting a specific user capability.
Grant access to user profiles:
Optionally allow all users the ability to edit their profiles in the Dashboard. Users lacking the chosen capability won’t be able to access any other sections of the Dashboard.
Show a custom login message:
Supply a message to display on the login screen. Leaving this blank disables the message.
Screenshots
The Dashboard Access Controls settings in the Settings > Dashboard Access screen.
Allow users to access their profile settings (only).
Optional login message.
Installation
Search ‘Remove Dashboard Access’ from the Install Plugins screen.
Install plugin, click Activate.
FAQ
What happens to disallowed users who try to access to the Dashboard?
Users lacking the chosen capability or role(s) will be redirected to the URL set in Settings > Dashboard Access.
Why haven’t you added an option to disable the WordPress Toolbar?
The Toolbar contains certain important links (even for disallowed users) such as for accessing to the profile editor and/or logging out. Plus, there are many plugins out there for disabling the Toolbar if you really want to.
Can I disable the redirection/profile-editing controls without disabling the plugin?
No. Disable the plugin if you don’t wish to leverage the functionality.
How do I hide other plugins/themes’ Toolbar menus?
Remove Dashboard Access removes some built-in WordPress Toolbar menus by default, but can be extended to hide menus from other plugins or themes via two filters:
rda_toolbar_nodes
(viewing from the admin), and
rda_frontend_toolbar_nodes
(viewing from the front-end).
How do I find the menu (node) id?
In the HTML page source, look for the


  • container for the menu node you’re targeting. It should take the form of

  • In

  • , you want the “SOMETHING” part.
    How can I allow access to specific pages of the Dashboard?
    The function returns an associative array with
    $pagenow
    as the key and a nested array of key => value pairs where the key is the
    $_GET
    parameter and the value is the allowed value.
    Example: If you want to allow a URL of
    admin.php?page=EXAMPLE
    , there are three parts to know:
    The
    $pagenow
    global value (
    tools.php
    in this case)
    The
    $_GET
    key (
    page
    in this case)
    The
    $_GET value (
    EXAMPLE in this case)
    Here is how we would add that URL to the allowlist:
    /**
    * Allow users to access a page with a URL of tools.php?page=EXAMPLE
    * @param array $pages Allowed Dashboard pages.
    * @return array Filtered allowed Dashboard pages.
    */
    function wpdocs_allow_example_dashboard_page( $pages ) {

    // If the $pages array doesn't contain the 'admin.php' key, add it.
    if ( ! isset( $pages['tools.php'] ) ) {
    $pages['tools.php'] = array();

    // Now add ?page=EXAMPLE` combination to the allowed parameter set for that page.
    $pages['tools.php'][] = array(
    'page' => 'EXAMPLE'
    );

    return $pages;
    add_filter( ‘rda_allowlist’, ‘wpdocs_allow_example_dashboard_page’ );
    How can I filter the disallowed Toolbar nodes on the front-end?
    /**
    * Filter hidden Toolbar menus on the front-end.
    * @param array $ids Toolbar menu IDs.
    * @return array Filtered front-end Toolbar menu IDs.
    */
    function wpdocs_hide_some_toolbar_menu( $ids ) {
    $ids[] = ‘SOMETHING’;
    return $ids;
    add_filter( ‘rda_frontend_toolbar_nodes’, ‘wpdocs_hide_some_toolbar_menu’ );
    Common plugin Toolbar menus and their ids:
    Jetpack by WordPress.com
    (notifications) – ‘notes’
    WordPress SEO by Yoast
    – ‘wpseo-menu’
    W3 Total Cache
    – ‘w3tc’
    How do I enable Debug Mode?
    To view debugging information on the Settings > Reading screen, visit:
    example.com/options-general.php?page=dashboard-access&rda_debug=1
    Can I contribute to the plugin?
    Yes! This plugin is in active development
    on GitHub
    . Pull requests are welcome!
    Is the plugin GDPR compliant?
    Yes. The plugin does not collect any personal data, nor does it set any cookies.
    Reviews
    Meddling with htaccess always goes south on me unless I use the old notepad. I rarely have time to. This workaround does the same thing; and is just as good. Now, how do I remove access to wp-login.php altogether?

    6/5 stars
    Installed, activated, found Settings, set it to allow dashboard for only Admins, Editors, and Authors. Works perfectly right out of the box.
    Works as it says it will.
    This easy addon solved the hassle of how to limit access to profiles for students in our online courses. It plays well with a fairly complex wordpress site using LearnDash and allowed us to create a simple “My Locker Room” home page for students to view their course progress.
    An insidious mess that bricked my entire site as soon as I installed it.
    Muchas gracias por este buenísimo plugin. Muy fácil de utilizar y muy efectivo.
    Read all 78 reviews
    Contributors & Developers
    “Remove Dashboard Access” is open source software. The following people have contributed to this plugin.
    Contributors
    TrustedLogin
    “Remove Dashboard Access” has been translated into 8 locales. Thank you to
    the translators
    for their contributions.
    Translate “Remove Dashboard Access” into your language.
    Interested in development?
    Browse the code
    , check out the
    SVN repository
    , or subscribe to the
    development log
    by
    RSS
    Changelog
    1.2.1 on November 29, 2024
    Fixed: Compatibility with WordPress 6.7 (there was a warning that translations were being loaded too soon)
    Tweak: Sanitized admin menu URL
    1.2 on January 29, 2024
    Confirmed compatibility with WordPress 6.4.2
    New: Added a new filter,
    rda_allowlist
    , to configure pages that should be accessible to all users, regardless of their capabilities or roles (see FAQ for usage)
    Improved: Added a description that clarifies that the Login Message is only displayed on the WordPress “Log In” screen
    Improved: The User Profile Access text is now a proper label for the checkbox
    Fixed: Allow access to the Wordfence 2FA configuration page (
    #33
    Fixed: Text domain not properly set for translations (thanks
    @fierevere
    Tweak: Prevent directly accessing PHP files by checking for
    ABSPATH
    #26
    Tweak: Prevent browsing directories on poorly-configured servers by adding
    index.php
    files in plugin directories
    1.1.4 & 1.1.5 on April 18, 2022
    Remove Dashboard Access is now being maintained by
    TrustedLogin
    ! Remove Dashboard Access aligns with what we do at TrustedLogin: simply making WordPress more secure. Email any questions to
    support@trustedlogin.com
    Fixed: Deactivating and activating the plugin will no longer overwrite plugin settings
    Fixed: Deprecated function
    screen_icon()
    warning
    Fixed: Issue when front-end editing of profiles when the
    $pagenow
    global is not defined (
    #24
    Fixed: Potential
    Invalid argument supplied for foreach()
    PHP warning (
    #22
    1.1.3
    Fixed a compatibility issue with bbPress and the media grid view.
    1.1.2
    Bump tested-up-to to 4.1.0
    Miscellaneous readme changes.
    1.1.1
    Bug Fix:
    Move options back to Settings > Dashboard Access screen to resolve conflict with page_on_front UI.
    1.1
    Enhancements:
    Instantiate as a static instance for better modularity
    Move Dashboard Access Controls settings to Settings > Dashboard Access
    Add optional login message option
    Add better settings sanitization
    New Filter:
    rda_default_caps_for_role
    – Filter default roles for Admins, Editors, and Authors
    New Debug Mode
    Bug Fixes:
    Remove unnecessarily stringent URL mask on the redirect URL option
    1.0
    Complete rewrite!
    New: Limit dashboard access for Admins only or by capability
    New: Allow/disallow edit-profile access
    New: Choose your own redirect URL
    New Filter:
    rda_default_access_cap
    – Change default access capability
    New Filter:
    rda_toolbar_nodes
    – Filter which back-end Toolbar nodes are hidden
    New Filter:
    rda_frontend_toolbar_nodes
    – Filter which front-end Toolbar nodes are hidden
    0.4
    Refined DOING_AJAX check for logged-out users, props @nacin and @BoiteAWeb
    0.3
    Changed cap to manage_options, replaced PHP_SELF with DOING_AJAX
    0.2
    Replaced preg_match with admin-ajax test. Added compatibility with rewritten dashboard URLs.
    0.1
    Submitted to repository
    Meta
    Version
    1.2.1
    1 year
    ago
    Active installations
    30,000+
    WordPress version
    3.1.0 or higher
    Tested up to
    6.7.5
    PHP version
    5.3 or higher
    Languages
    Chinese (Taiwan)
    Dutch
    English (Canada)
    English (US)
    German
    Russian
    Spanish (Chile)
    Spanish (Spain)
    , and
    Swedish
    Translate into your language
    Tags
    access
    administration
    dashboard
    restrict
    Advanced View
    Ratings
    4.6
    out of 5 stars.
    67 5-star reviews
    5 stars
    67
    4 4-star reviews
    4 stars
    1 3-star review
    3 stars
    2 2-star reviews
    2 stars
    4 1-star reviews
    1 star
    Your review
    See all
    reviews
    Contributors
    TrustedLogin
    Support
    Issues resolved in last two months:
    0 out of 1
    View support forum
    Donate
    Would you like to support the advancement of this plugin?
    Donate to this plugin