How to Restrict User Access to Specific Pages and Posts in WordPress
Content
Managing user permissions for specific pages or posts is a common challenge for WordPress site administrators. Many users want to grant editing capabilities for just one or two pages without giving a user access to the entire site. This guide explains why this can be difficult with standard WordPress roles and explores the most common solutions.
Why You Can't Restrict Access to a Single Page by Default
The WordPress core permissions system operates on a capability-based model rather than a per-page basis. Capabilities like edit_pages and edit_posts are broad permissions that apply site-wide. This means that with standard WordPress roles and the free version of User Role Editor, you cannot grant editing rights to just one specific page while blocking access to others.
As noted in several support threads, this limitation is fundamental to how WordPress handles permissions. The free User Role Editor plugin enhances control over these standard capabilities but does not extend them to per-page restrictions.
Common Solutions and Workarounds
1. Using the "Author" Limitation
A partial workaround within WordPress's default system is to leverage authorship. You can assign a specific page to a user by setting them as the author. Then, by granting that user a role with capabilities like edit_pages but revoking capabilities like edit_others_pages, they will only be able to edit pages where they are listed as the author. The significant drawback is that this user will still be able to see all pages in the admin list, which can be confusing and is not a true restriction.
2. Exploring the User Role Editor Pro Add-on
For true per-page restrictions, many community threads point to the "Edit posts/pages restrictions" add-on available in the User Role Editor Pro version. This add-on extends the plugin's functionality, allowing administrators to input specific Page IDs at a user's profile, thereby limiting that user to editing only those specified pages. This is often the recommended solution for complex scenarios, such as letting hotel managers edit only their hotel's page or teachers edit only their class page.
3. Investigating Plugin Conflicts
If you are trying to set up a standard role (e.g., an Editor who can't edit others' pages) and encounter unexpected behavior—like being redirected to the homepage when viewing the Pages list—the issue is likely a plugin conflict. This is a common troubleshooting step highlighted in the forums.
How to test for a conflict:
- Deactivate all your plugins except User Role Editor.
- Test if the user role works as expected (e.g., the Editor can access the Pages list without being redirected).
- If the problem is resolved, reactivate your plugins one by one, testing after each activation, until you find the plugin causing the conflict.
4. Using a Complementary Plugin
Since the free version of User Role Editor does not handle per-page view or edit access, you may need a dedicated plugin for this purpose. Many members of the WordPress community use other plugins specifically designed for content restriction to manage which users or roles can view certain pages. These can sometimes work in tandem with User Role Editor for a comprehensive permissions system.
Conclusion
Restricting a user to a single page is a limitation of the core WordPress permissions model. The most effective path forward is to either use the authorship workaround for simple cases or consider a specialized plugin or the Pro add-on designed explicitly for this advanced functionality. For issues with standard roles, always remember to rule out plugin conflicts as a first step in troubleshooting.
Related Support Threads Support
-
Disable Creating of Pageshttps://wordpress.org/support/topic/disable-creating-of-pages/
-
Have in the administration that his own pageshttps://wordpress.org/support/topic/have-in-the-administration-that-his-own-pages/
-
User can create pages, when create_pages is set to false?https://wordpress.org/support/topic/user-can-create-pages-when-create_pages-is-set-to-false/
-
Editing published pageshttps://wordpress.org/support/topic/editing-published-pages/
-
Don’t allow users to edit their Profile (“read” capability)https://wordpress.org/support/topic/dont-allow-users-to-edit-their-profile-read-capability/
-
limit an editor rolehttps://wordpress.org/support/topic/limit-an-editor-role/
-
Two user roles in one user are causing conflict when editing pageshttps://wordpress.org/support/topic/two-user-roles-in-one-user-are-causing-conflict-when-editing-pages/
-
Own page editorhttps://wordpress.org/support/topic/own-page-editor/
-
Limit Access to Edit One Pagehttps://wordpress.org/support/topic/limit-access-to-edit-one-page/
-
Can’t edit view Pages without granting edit_others_pageshttps://wordpress.org/support/topic/cant-edit-view-pages-without-granting-edit_others_pages/
-
Page permission for editinghttps://wordpress.org/support/topic/page-permission-for-editing/
-
Restricting Groups.https://wordpress.org/support/topic/restricting-groups/
-
Single Pagehttps://wordpress.org/support/topic/single-page-12/
-
Reuable blockshttps://wordpress.org/support/topic/reuable-blocks/
-
Denying edit_others_pages leads to home page redirecthttps://wordpress.org/support/topic/denying-edit_others_pages-leads-to-home-page-redirect/
-
User role – Edit permission only to specific pageshttps://wordpress.org/support/topic/user-role-edit-permission-only-to-specific-pages/
-
User to view pageshttps://wordpress.org/support/topic/user-to-view-pages/
-
Private Pages / Menu / Usershttps://wordpress.org/support/topic/private-pages-menu-users/
-
Can’t get it to workhttps://wordpress.org/support/topic/cant-get-it-to-work-112/
-
Avoid “Pending Review” for Author Rolehttps://wordpress.org/support/topic/avoid-pending-review-for-author-role/
-
view specific pages specific usershttps://wordpress.org/support/topic/view-specific-pages-specific-users/
-
Allow users to edit 1 or more pageshttps://wordpress.org/support/topic/allow-users-to-edit-1-or-more-pages/
-
Revoke specific page edit role for entire grouphttps://wordpress.org/support/topic/revoke-specific-page-edit-role-for-entire-group/
-
Don’t allow users to edit their Profilehttps://wordpress.org/support/topic/dont-allow-users-to-edit-their-profile/
-
multi-level access for users and groupshttps://wordpress.org/support/topic/multi-level-access-for-users-and-groups/
-
Access a single page, and its childrenhttps://wordpress.org/support/topic/access-a-single-page-and-its-children/
-
restrict user from creating new pagehttps://wordpress.org/support/topic/restrict-user-from-creating-new-page/
-
Author change of permissionshttps://wordpress.org/support/topic/author-change-of-permissions/
-
Allow full editing to a single page or post to a userhttps://wordpress.org/support/topic/allow-full-editing-to-a-single-page-or-post-to-a-user/
-
How to give editor access to just one pagehttps://wordpress.org/support/topic/how-to-give-editor-access-to-just-one-page/