How to create an intranet in WordPress
You can build a basic intranet with WordPress, but WordPress alone does not provide a complete members-only network. You need access-control and collaboration features, plus careful protection for uploaded documents. For a quicker all-in-one setup, use an intranet-focused theme.
- 01Plan the intranet structure
- 02Set up WordPress securely
- 03Build the manual WordPress version
- 04Add access and community features
- 05Handle documents carefully
- 06Test the intranet before launch
- 07Take the fast route with Woffice
What you need
- A WordPress site with HTTPS enabled
- Administrator access
- A list of staff, teams and content to keep private
- A backup or staging copy of the site
Plan the intranet structure
List what employees need to find: announcements, policies, forms, team information, projects, events, contacts and documents. Decide which information everyone can see and which areas need separate access, such as management or human resources.
Keep the first version small. A useful home page with clear links is better than a large collection of empty sections.
Set up WordPress securely
Use HTTPS, keep WordPress and all extensions updated, and take a backup before changing the site. Create named user accounts rather than sharing one administrator login.
In Settings > General, decide whether users can register themselves. For a private company intranet, leave open registration disabled unless you have an approval process. WordPress lets you set the default role for new users there, while administrators can add accounts manually from Users > Add New.
Build the manual WordPress version
Create pages for the home dashboard, news, policies, resources, teams and contact details. Use posts for announcements that need dates and archives, and pages for information that changes less often. Add the important pages to the site navigation.
WordPress can mark individual posts and pages as Private or Password Protected, but private content is mainly intended for users with the relevant WordPress capabilities. It is not a complete staff portal for ordinary subscriber accounts, and maintaining many page-level restrictions becomes difficult.
Add access and community features
Install an access-control or membership extension to restrict the whole site or selected sections to logged-in users and, where needed, to particular roles. Give most staff the lowest role that lets them do their work; do not make everyone an administrator. WordPress roles control what users can read, create, edit and manage.
If you need profiles, activity streams, groups or member interaction, add BuddyPress. Its community visibility setting can restrict BuddyPress-generated content to logged-in members. Use private or hidden groups for team areas rather than assuming that every page restriction also protects group content.
Handle documents carefully
Do not treat a hidden page as document security. Files placed in the normal WordPress uploads directory can still be reachable through their direct URLs, even when the page containing the link is restricted. This is a common Friday-afternoon failure: an employee forwards a PDF URL and an unauthenticated visitor can open it.
Use a document-management or protected-file solution that checks permissions when a file is requested, or store sensitive files in private storage with authenticated downloads. Test every document URL in a private browser window before launch.
Test the intranet before launch
Create test accounts for an ordinary employee, a team manager and an administrator. Check the home page, menus, search, profile pages, private groups, downloads and password reset process while logged in and logged out.
Also test a user who should not have access to a management page, an old document URL and a direct upload URL. Check caching, because a page cache can accidentally show private content to the wrong visitor. Record who owns each section and review user accounts when staff leave.
Take the fast route with Woffice
If you want the dashboard, projects, permissions and community structure assembled around an intranet rather than building them from separate parts, use Woffice. Install the theme from Appearance > Themes > Add New > Upload Theme, activate it, then follow its setup prompts and configure the dashboard, user access, projects and BuddyPress integration.
This is the faster route when your intranet needs organisation-wide collaboration, team areas and a ready-made interface. You still need to review permissions, protect sensitive files, create real user accounts and test access before inviting staff.
Let Woffice do it
All-in-one intranet theme with dashboards, projects, permissions, and BuddyPress integration for organization-wide collaboration.
Sources
- wordpress.org /documentation/article/users-add-new-screen/?utm_source=open…
- wordpress.org /documentation/article/create-pages/?utm_source=openai
- developer.wordpress.org /apis/security/user-roles-and-capabilities/?utm_source=opena…
- github.com /buddypress/buddypress/blob/master/docs/user/administration/…
- wordpress.org /support/topic/select-private-files-from-media/?utm_source=o…
- wordpress.org /documentation/article/roles-and-capabilities/?utm_source=op…
Questions
- Can I create a WordPress intranet without a plugin?
- You can create a very simple private area with WordPress pages, user accounts and page visibility settings, but a complete intranet normally needs plugins. WordPress core does not provide a convenient site-wide members-only gate, team permissions, social profiles, project tools or protected document downloads. The manual route is fine for a small information site, but it becomes awkward as staff and access rules grow.
- How do I make the entire WordPress site private?
- Use an access-control or membership plugin that redirects logged-out visitors to a login page and lets you exempt selected public pages. Do not rely only on private pages, an unlisted menu or a password-protected home page. After configuring the gate, test the front end, feeds, search results, REST endpoints and direct file URLs while logged out.
- What WordPress user role should intranet employees have?
- Most employees should use the lowest role that matches their work, often Subscriber for reading or a carefully limited custom role for contributions. Editors can manage other users’ posts and pages, while Administrators can manage the site itself, so assigning those roles widely creates avoidable risk. Define roles by job function and review them when responsibilities change.
- Does a private WordPress page protect its PDF or image files?
- No, not necessarily. Restricting the page does not automatically prevent someone who knows the uploads URL from requesting the file directly. Sensitive documents need protected storage or a download system that checks the visitor’s permissions on every request. Test the original file URL in a logged-out browser instead of testing only the page that links to it.
- Do I need BuddyPress for a WordPress intranet?
- No. BuddyPress is useful when the intranet needs member profiles, activity streams, groups or social interaction, but it is not required for announcements, policies, forms or a document hub. Add it only when users need community features, and configure its visibility separately because restricting ordinary pages does not automatically define the privacy of every BuddyPress area.