Learn how to set up simple, safe access control in WordPress so the right people have the right permissions—and no more.
Why Access Control Matters for Your WordPress Site
Access control is simply deciding who can do what on your website. When it’s set up well, your team can work smoothly without risking accidental (or intentional) damage.
Security organizations treat access control as a core protection layer because most real-world breaches involve someone getting more access than they should have. OWASP, a leading web security project, highlights broken or weak access control as a top application risk and recommends denying access by default and granting only what’s required for each role Source.
As a site owner, you don’t need to become a security engineer. You just need a clear, practical way to:
- Understand WordPress roles and capabilities
- Decide who should have which role
- Review and adjust access as your team changes
Core WordPress Roles in Plain Language
WordPress ships with a built-in role system. Each role is a bundle of permissions (called “capabilities”) that control what a user can see and do in the dashboard. The official documentation lists six default roles: Super Admin (multisite only), Administrator, Editor, Author, Contributor, and Subscriber Source.
For a typical single-site business website, you’ll mainly use these:
- Administrator – Full control of the site: settings, plugins, themes, users, and content. This should be limited to 1–2 trusted owners.
- Editor – Manages all content: can publish, edit, and delete any post or page, including others’ content, and moderate comments.
- Author – Can write, edit, and publish their own posts only (usually for blog contributors).
- Contributor – Can write and edit their own posts but cannot publish them. An Editor or Administrator must review and publish.
- Subscriber – Can log in and manage only their own profile. Often used for members-only areas or email-gated content.
Behind the scenes, each role is just a set of capabilities like publish_posts or manage_options, which WordPress checks before showing menus or allowing actions Source.
Simple Role Planning Before You Add Users
Before you invite anyone into your site, take 5–10 minutes to sketch a basic access plan. This follows the security principle of “least privilege,” which says each user should get only the minimum access they need to do their job Source.
Step 1: List Your Real-World Roles
Write down the types of people who will touch your site, for example:
- Business owner
- Marketing manager
- Blog writers
- Customer support staff
- External agency or freelancer
Step 2: Decide What Each Group Actually Needs to Do
For each group, list their must-have tasks, such as:
- Publish blog posts
- Edit existing pages
- Manage forms and view submissions
- Install or update plugins
- View analytics only
Step 3: Map Tasks to WordPress Roles
Now match each group to the lowest role that lets them do their work:
- Business owner ? Administrator (needs full control)
- Marketing manager ? Editor (content and comments, but not plugins or users)
- Blog writers ? Author or Contributor (depending on whether they self-publish)
- Customer support ? Contributor or Subscriber (if they only need limited access)
- External agency ? Editor (only give Administrator if they manage technical setup and you fully trust them)
If you’re unsure, start with a lower role and increase only if they run into a legitimate limitation.
How to Assign and Change Roles in WordPress
Once your plan is clear, you can assign roles directly in the WordPress dashboard.
Step-by-Step: Creating a New User with the Right Role
- Log in to your WordPress dashboard as an Administrator.
- Go to Dashboard ? Users ? Add New.
- Fill in the required fields: Username, Email, and (optionally) First Name and Last Name.
- Choose whether to send the new user an email with their login information.
- In the Role dropdown, select the role you decided for this person (Administrator, Editor, Author, Contributor, or Subscriber).
- Click Add New User.
Step-by-Step: Changing an Existing User’s Role
- Go to Dashboard ? Users ? All Users.
- Find the user you want to adjust and click their username.
- Scroll down to the Role dropdown.
- Select the new role.
- Click Update User.
What You Should See
After you assign roles:
- Administrators will see all menu items, including Plugins, Appearance, Tools, and Settings.
- Editors will see content-focused menus like Posts, Pages, and often plugin content areas (forms, SEO, etc.), but not core settings or user management.
- Authors and Contributors will see only the content areas they can work with, and some menu items (like plugin settings) will be hidden entirely.
- Subscribers will see a very minimal dashboard, usually just their Profile.
If a user reports that they “can’t see” a menu, it’s usually a role or capability issue—not a bug.
Safer Access Control Habits for Everyday Use
Good access control is not a one-time setup. It’s an ongoing habit. Security guidance from organizations like NIST emphasizes that roles and attributes should be managed as part of a broader, risk-based identity and access strategy, not left on autopilot Source.
1. Keep Administrator Access Rare
- Limit Administrator accounts to 1–2 people who truly need full control.
- Give everyone else the lowest role that works for their responsibilities.
- Remove Administrator access from agencies or freelancers when projects end.
2. Review Users Regularly
Schedule a quick review every quarter:
- Go to Dashboard ? Users ? All Users.
- Scan for accounts you don’t recognize or no longer need.
- Downgrade roles or delete users who no longer require access.
This simple review helps prevent “account creep,” where old users keep powerful access long after they should.
3. Pair Roles with Strong Authentication
Roles control what a user can do after login. You still need to protect the login itself. Follow best practices like:
- Unique, strong passwords for each user
- Two-factor authentication for all Administrators and Editors
- Limiting shared accounts (ideally, don’t share at all)
Modern security guidance treats authentication and access control as two halves of the same protection layer: first verify the user, then strictly limit what they can access Source.
When You Need More Granular Control
Sometimes the built-in roles are not enough. You might want, for example, a “Content Manager” who can edit pages and posts but not touch certain plugin settings.
WordPress allows developers to create custom roles and capabilities via code using functions like add_role(), add_cap(), and remove_cap() Source. If you’re working with a developer or agency, you can ask them to:
- Create a custom role that matches your internal job titles.
- Restrict sensitive actions (like changing payment settings) to a very small group.
- Ensure any custom plugins check capabilities before allowing actions.
If you’re not comfortable editing code, there are role-management plugins that give you a visual interface to adjust capabilities. Choose well-maintained plugins from trusted sources, and always test changes on a staging site before applying them to your live site.
A Simple Access Control Checklist for New Site Owners
Use this quick checklist as you set up or review your site:
- ?? I have only 1–2 Administrator accounts, and I know exactly who they are.
- ?? Every user has the lowest role that still lets them do their job.
- ?? I review Users ? All Users at least once per quarter.
- ?? Former staff, agencies, and freelancers have had their access removed or reduced.
- ?? High-privilege accounts use strong passwords and two-factor authentication.
- ?? Any custom development on my site uses WordPress capabilities to gate sensitive actions.
By combining WordPress’s built-in roles with a few simple habits, you can give your team the access they need while keeping your site significantly safer—without adding a lot of complexity to your daily workflow.