Do you want to create a WordPress intranet for your organization? 

WordPress is a powerful platform with tons of flexible options that make it ideal for use as your business intranet. In this tutorial, we'll show you how to create a WordPress intranet for your organization while keeping it private and secure.

But before, if you have never installed WordPress discover How to Install a WordPress Blog in 7 Steps et How to search, install and activate a WordPress theme on your blog 

Then back to why we are here.

What is the intranet or extranet? Why use WordPress as an intranet platform?

intranet or extranet is a platform used by an organization for communication, file sharing, announcements, and other organizational activities.

WordPress is an excellent platform for creating your organization's intranet or extranet. It's easy to maintain, open source, and gives you access to thousands of WordPress plugins to add new features as needed.

Discover the best 35 WordPress plugins to install on your website or blog.

An intranet runs on the private network of an organization. Typically, a desktop computer system is connected via cable or wireless network adapters. A computer on the network can be used as a web server and host a WordPress website.

Follow the instructions in our guide on way to install WordPress on a Windows network using WAMP to start your WordPress intranet.

On the other hand, an extranet is an intranet platform accessible to a larger network or to a public. In plain English, this could be a publicly accessible website for authorized users only.

It is especially helpful if your organization is spread across different geographic locations.

To create your WordPress extranet, you will need a WordPress hosting account and a domain name. After that you have to Install WordPressthen configure to be used as your organization's intranet.

Once you have installed WordPress as your intranet, the next step is to convert it into a communication center for your organization.

To do this, you will use several WordPress plugins. We'll show you the basic setup that will serve as the foundation for your WordPress intranet to achieve your organization's goals.

Configuring BuddyPress as your WordPress intranet hub

BuddyPress is a WordPress plugin. It converts your WordPress website into a social network. Here are some of the things an intranet designed with BuddyPress can do:

  • You will be able to invite users to register on the company's intranet
  • Users will be able to create extended user profiles
  • Activity feeds allow users to follow the latest updates like on Twitter or Facebook
  • You can create user groups to sort users into departments or teams
  • Users can follow you as friends
  • Users can send private messages to each other
  • You can add new functions by adding third-party plugins
  • You have many design options with the WordPress themes for BuddyPress

To get started, you need to install and activate the plugin BuddyPress . For more details, see our step-by-step guide to way to install a WordPress plugin .

When activating, go to the page Settings »BuddyPress to configure the plugin settings.

Buddypress configuration

How to secure your intranet network WordPress with All-in-one Intranet

If you have a WordPress intranet on a local server, you can secure it by limiting access to internal IPs in your .htaccess file.

Discover How to find the ".htaccess" file on WordPress

However, if you are running an extranet, your users can access the intranet from different networks and IP addresses.

To ensure that only authorized users have access to your company intranet, you must make your extranet private and accessible only to registered users.

For this you need to install and activate the plugin All In one Intranet . For more details, see our step-by-step guide to way to install a WordPress plugin.

When activating, go to Settings " All-In-One Intranet to configure the plugin settings.

Aiointranet settings

First you need to check the box next to the option " Force site to be newly private "(Force the website to be completely private). This will make all the pages of your WordPress website completely private.

The only thing this plugin does not make private are the files in your download directory. Do not worry, we'll show you how to protect them later in this article.

See also How to use the WordPress Media Library

Next, you need to provide a URL where you want users to be redirected when they are logged in. This could be any page on your intranet.

Finally, you can automatically disconnect inactive users after a certain number of minutes.

Don't forget to click on the button Save Changes to save your settings.

Securing media downloads on your WordPress intranet

Keeping your website completely private does not affect media files. If someone knows the exact URL of a file, they can access it without any restrictions.

Let us change that.

For better protection, we will redirect all queries made to the downloads folder to a simple PHP script.

See also How to restrict WordPress media access to certain users

This php script checks if a user is logged in. If so, it will serve the file. Otherwise, the user will be redirected to the login page.

First, you need to create a new file on your computer using a simple text editor, like Notepad. Then you need to copy and paste the following code and save the file with name download-file.php  On your desktop.

1))) + array (NULL); $ file = rtrim ($ basedir, '/'). '/'. str_replace ('..', '', isset ($ _ GET ['file'])? $ _ GET ['file']: ''); if (! $ basedir ||! is_file ($ file)) {status_header (404); 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']; else $ 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 MYH: i: s', filemtime ($ file)); $ etag = '"'. md5 ($ last_modified). '"'; header ("Last-Modified: $ last_modified GMT"); header ('ETag:'. $ etag); header ('Expires:'. gmdate ('D, d MYH: i: s', time () + 100000000). 'GMT'); // Conditional support for GET parameters $ client_etag = isset ($ _SERVER ['HTTP_IF_NONE_MATCH'])? stripslashes ($ _SERVER ['HTTP_IF_NONE_MATCH']): false; if (! isset ($ _SERVER ['HTTP_IF_MODIFIED_SINCE'])) $ _SERVER ['HTTP_IF_MODIFIED_SINCE'] = false; $ client_last_modified = trim ($ _SERVER ['HTTP_IF_MODIFIED_SINCE']); // If the string is empty, return 0. Otherwise try to parse the timestamp $ client_modified_timestamp = $ client_last_modified? strtotime ($ client_last_modified): 0; // Make a more recent timestamp for our 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); exit; } readfile ($ file);

Now connect to your website using an FTP client. Once logged in, upload the file you just created to / wp-contents / uploads / folder on your website.

Next, you need to edit the .htaccess file in the root folder of your website. Add the following code to the bottom of your .htaccess file:

RewriteCond% {REQUEST_FILENAME} -s RewriteRule ^ wp-content / uploads /(.*)$ download-file.php? File = $ 1 [QSA, L]

Don't forget to save your changes and upload the file to your website.

Now all user requests to your media folder will be sent to a proxy script to verify authentication and redirect users to the login page.

Discover also some premium WordPress plugins  

You can use other WordPress plugins to give a modern appearance and to optimize the handling of your blog or website.

We offer you here some premium WordPress plugins that will help you do that.

1. WordPress Multisite Posts & Taxonomies Sync

This is an easy way to sync posts, pages, and categories on a WordPress Multisite network. This module helps users to synchronize posts, pages, categories and tags from one website to another website on the same network.

Wordpress multisite posts taxonomies sync

Custom post types and taxonomies can also be synchronized. You also have a mass synchronization option for articles and taxonomies.

You won't need any coding knowledge to use this WordPress Plugin. It is very simple ! New and old articles/categories will be automatically created or updated on another website in the network. 

Download | Demo | Web hosting

2. Contact Form 7 Success Redirect

Contact Form 7 Success Redirect is an extension of the WordPress Plugin Contact Form 7 which allows to redirect a visitor or a user to a page after the submission of his contact.Contact form 7 success redirect

It was designed to make the form more user-friendly when the form submission process ends up redirecting to the page chosen by the admin. It is extremely easy to configure. You can do this by selecting a page from your existing dashboard pages or providing a custom redirect URL.

Each form will have its own configuration. Thus, each successful redirection can be defined in a unique way.

Download | Demo | Web hosting

3. WooCommerce Advanced Categories

Thanks to this powerful WordPress Plugin, put your online store on the same level as the biggest stores in the world. It allows you to improve your SEO by adding texts related to a category.

Woocommerce advanced seo categories

You can also add a nice header image to your categories and give your subcategories more style. You will have full control over your categories WooCommerce and their layout with this WordPress plugin.

In particular, you can display the subcategories you want and also modify or arrange them in columns. You will be able to define the style, the font and even give them a short description.

Download | Demo | Web hosting

Recommended Resources

Discover other recommended resources that will help you resolve other errors commonly encountered in WordPress. 

Conclusion

Here is ! That's it for this tutorial, I hope it has allowed you to create a private network with WordPress. Do not hesitate to share it with your friends on your Social Media preferred. 

However, you will also be able to consult our resources, if you need more elements to carry out your projects of creation of Internet sites, by consulting our guide on the WordPress blog creation.

But, in the meantime, tell us about your Comments and suggestions in the dedicated section.

...