How to Create a WordPress Intranet for Your Organization?

Create WordPress Intranet for Your Organization

When it comes to the best content managing platform, the only name that comes to our mind is the WordPress. It is an open-source platform that comes with numerous themes and plugins for customisations. Most of the people use WordPress for creating their personal and business websites, but you can even use it to create your organization’s intranet.

Many people are unaware of the intranet features and how to set it up for their organization. An intranet is a platform which a company can use to communicate, transfer files and many other similar things internally. It creates an internal network in the business and can only be accessed by the members only. Unlike the internet websites, most of the intranet websites are password protected and needs access from the owner to work on it.

One great thing about intranet is that it may not require an active internet connection. Many companies create a local area network and connect it using the LAN cables, so all the data is transferred through those only. The users don’t need to have internet access and can share files the easy way.

Now you know few of the reasons why you should be using the intranet for your organization. However, you are still unaware of the process for doing the same. Below we mention the easiest method of creating a WordPress intranet for your company.

Step 1: Domain and Host

The primary thing you need to establish any website is a web hosting account and a domain name. You can choose from the top-rated hosting providers like GoDaddy, InMotion Hosting and Bluehost. Once you have obtained a hosting account, you need to get a domain name as well. If you need some assistance in choosing the right domain name, then you can anytime contact your hosting provider, and they may solve the confusion.

Step 2: Install WordPress

Afterwards, you need to install WordPress on your domain. The easiest method of doing so is by navigating to your hosting cPanel. Here under the Website section, you will notice different options, but you need to click on the Install WordPress button. This will open a new screen where you will be shown a brief description of WordPress; you can read it if you want or else just click on the Install Now button.

Step 3: Login Details

Now the installer will ask about the domain in which you would like to install WordPress. All you need to do is open the drop-down menu and select the domain. Once you have picked the domain, you can check all the details including the site name, username and the admin password. Now you need to press the Install Now button and the installation process will begin on your website. You will receive a success message after the completion and will be provided with the site and the admin link.

Step 4: Install BuddyPress

We have already talked that WordPress comes with numerous plugins that can enhance the overall experience of the website. In this process, we will be using the BuddyPress plugin which is a popular plugin to create a social network and an intranet site. To install this plugin, you need to navigate to your WordPress admin dashboard and open the Plugins > Add New page.

Now you need to search for the plugin and press the Install Now button. You will receive a success message with an activation link which you need to click to start using the plugin.


Step 5: Setup BuddyPress

Once you have activated the plugin, the next thing you need to do is setup this plugin for your intranet site. You need to navigate to your WordPress admin area and head over to the Settings > BuddyPress page. Here you will see different configuration options which you can activate or deactivate as per your needs. Most of the options are self-explanatory and will work out of the box, so you don’t have to struggle about its configuration.

Step 6: Limit IP Address

Afterwards, you need to limit the access of your website for specific IP addresses. The easiest method for limiting the access is by using the Restricted Site Access plugin. You need to follow the same process you used earlier to install a plugin.

Upon successful installation, you need to head over to your WordPress admin area and visit the Settings >  Reading page. You can see different restriction options, but you need to look for the Unrestricted IP addresses section which can be found at the bottom. Enter the IP addresses from which you want to access the website and press the Save Changes button.

Restricted Site Access

Though this method will work for local area networks, if you are using your organisation works on a global level, then your users need to access your website from different IP addresses. In that case, you need to grant access only to your users and no one else. To do that, you need to install and activate the All in One Intranet plugin by using the same method.

Step 7: Setup Intranet

After activating the plugin, you need to visit the admin dashboard and open the Settings > All in One Intranet page. The first thing you need to do is enable the Force Site to be Entirely Private option which will be found under the Privacy section. In the next option, you need to enter the URL where your users will be redirected after logging in.

The last option will be of auto log out where you need to specify the duration after which your users will automatically be logged out. Once you are done with the entire configuration, you need to press the Save Changes button to keep all the changes.

Step 8: Site Protection

You have limited the access to your website to your users, and now only your users will be able to access your site’s content. However, this doesn’t completely protect your website’s media files. To extend your website’s media protection, you need to upload a PHP file to your WordPress root directory. The first thing you need to do is create a text file on your local system and name it as download-file.php. Now open it using any text editor and paste the following code into it.



is_user_logged_in() ||  auth_redirect();

list($basedir) = array_values(array_intersect_key(wp_upload_dir(), array(‘basedir’ => 1)))+array(NULL);

$file =  rtrim($basedir,’/’).’/’.str_replace(‘..’, ”, isset($_GET[ ‘file’ ])?$_GET[ ‘file’ ]:”);

if (!$basedir || !is_file($file)) {


die(‘404 — File not found.’);


$mime = wp_check_filetype($file);

if( false === $mime[ ‘type’ ] && function_exists( ‘mime_content_type’ ) )

$mime[ ‘type’ ] = mime_content_type( $file );

if( $mime[ ‘type’ ] )

$mimetype = $mime[ ‘type’ ];


$mimetype = ‘image/’ . substr( $file, strrpos( $file, ‘.’ ) + 1 );

header( ‘Content-Type: ‘ . $mimetype ); // always send this

if ( false === strpos( $_SERVER[‘SERVER_SOFTWARE’], ‘Microsoft-IIS’ ) )

header( ‘Content-Length: ‘ . filesize( $file ) );

$last_modified = gmdate( ‘D, d M Y H:i:s’, filemtime( $file ) );

$etag = ‘”‘ . md5( $last_modified ) . ‘”‘;

header( “Last-Modified: $last_modified GMT” );

header( ‘ETag: ‘ . $etag );

header( ‘Expires: ‘ . gmdate( ‘D, d M Y H:i:s’, time() + 100000000 ) . ‘ GMT’ );

// Support for Conditional GET

$client_etag = isset( $_SERVER[‘HTTP_IF_NONE_MATCH’] ) ? stripslashes( $_SERVER[‘HTTP_IF_NONE_MATCH’] ) : false;

if( ! isset( $_SERVER[‘HTTP_IF_MODIFIED_SINCE’] ) )


$client_last_modified = trim( $_SERVER[‘HTTP_IF_MODIFIED_SINCE’] );

// If string is empty, return 0. If not, attempt to parse into a timestamp

$client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0;

// Make a timestamp for our most recent modification…

$modified_timestamp = strtotime($last_modified);

if ( ( $client_last_modified && $client_etag )

? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )

: ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )

) {

status_header( 304 );



readfile( $file );

Step 9: FTP Upload

Save all the changes to the file and connect with your FTP client. Now open your WordPress root directory and open the wp-contents folder. Here you need to open the Uploads folder on your website and upload the file in this directory. After uploading the file, you need to head back to the root directory, and you need to enable the Show Hidden Files option from the File menu. Now you will be able to see all the hidden files, but you need to find the .htaccess file and download it to your system.

Step 10: Add Code

Upon downloading, you need to open that file using any text editor and paste the following code into it. Make sure to save the changes and upload the file back to the WordPress directory.

RewriteCond %{REQUEST_FILENAME} -s

RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]

This was all about the process of creating a WordPress intranet site for your company. With this process, you can establish a communication medium between your uses and help them in saving time and generate ideas. Though we have already used some of the major plugins in this process, still many plugins can enhance its overall functions.

Below we mention some of the best plugins that can be used on an intranet site.

#1 Intranet Plus

The Intranet Plus plugin can be used to create a password protected page and restrict the access to only invited users. With this plugin, you can create different workspaces with different content and files. There is an inbuilt workspace designer that lets you perform this action effortlessly. Moreover, you can even decide the roles and responsibilities of the users.

Intranet Plus

Apart from that, there is a team calendar widget that you can use to keep an eye on all the upcoming activities. You can even add or edit any event from the widget itself. Some other features of this plugin are multisite support, share company news, hierarchal site structure, and support for other major plugins.

#2 Simple Intranet Directory

The Simple Intranet Directory is one of the best plugins for any intranet site. With this plugin, you can get detailed information about your users, add user photos and also includes a search function for easy navigation. This plugin comes with multiple widgets including an employee directory search, employee sidebar, and custom HTML biography.

Simple Intranet Directory

The premium version of this comes with this plugin offers some extended plugin and hosting options that can expand the features of your site. One of the best plugins offered by this is the Front End File Manager that can simplify the file managing process. All you have to do is drag and drop the files as per the permissions, and the rest of the users won’t be able to access any of the files. Some other major plugins are employee directory, photo directory, organisation charts, event calendar, a chat function and much more.

#3 Employee Directory

 If you want to enhance the employee engagements, then the Employee Directory is the plugin for you. This plugin allows you to boost the communication between your employees and improve the organisational structure. With this plugin, you can create appealing employee profiles. You can include necessary information like their skills, hobbies, bio, photo and a job description.

Employee Directory

Another great feature of this plugin is that it allows you to restrict the content as per the user roles. You can determine which user can access which content and safeguard the information. There is a drag and drop employee ordering feature that lets you sort your employees in any way you want. You can also arrange the default list in the alphabetical order, or you can customise it as per your requirements. Some other features of this plugin are cloud tag search, employee reporting, custom grouping, employee journal, employee review system, import or export necessary information and much more.


Now you know the complete process of creating your first intranet WordPress site. There are tons of benefits of using this type of website, especially for an organisation. It not only makes the communication process smooth but also creates an extra protection for the site’s media files. We have also mentioned some additional plugins that you can use to increase the functions further.

Leave a Reply

Your email address will not be published. Required fields are marked *

How to Remove v=XXXX string from WordPress URLs?

How to Remove v=XXXX string from WordPress URLs?

How to Fix "Destination Folder Already Exists" Error in WordPress?

How to Fix “Destination Folder Already Exists” Error in WordPress?