Install and set up WordPress Multisite

The following article explains how to install, activate and set up a WordPress multisite. We assume that you already have a WordPress single site, i.e. a simple WordPress installed. You also need FTP access to the directory of your WordPress installation, since you have to adapt files to your installation.

Installing WordPress Multisite – the requirements

Before proceeding with the WordPress Multisite activation, please make sure that the following is in place:

  • There is already a WordPress installation.
  • Pretty permalinks are enabled, meaning your URLs aren’t in the format http://example.com/?p=2345, but more like http://example.com/a-page
  • All plugins are disabled.
  • Important: you have created a current backup of your WordPress installation.
  • You have FTP access to your WordPress installation.

Allow multisite in wp-config.php

The first step is to enable the WordPress multisite feature in the wp-config.php file.

  1. Connect to your website’s webspace using an FTP client such as FileZilla.
  2. Now open the file wp-config.php, which you can find in the main directory of your installation and add the line there
    define('WP_ALLOW_MULTISITE', true);

    just above the following line:

    /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */

    Define WP_ALLOW_MULTISITE in wp-config.php

  3. Save your wp-config.php file.

So you enabled the multisite feature in your installation. However, you are not finished with this, the multisite still has to be set up.

Set up the network in the backend

  1. Refresh the page in the browser and log into your WordPress installation.
  2. You will see a new menu item Network Setup in the left sidebar under Tools. There you can make the settings for your WordPress multisite.

    Install WordPress Multisite - Network setupInstall WordPress Multisite – Network setup

  3. Decide on one of the two URL structures subdomain (e.g. site1.example.com) or subdirectory (e.g. example.com/site1) for the individual pages of the network. This setting then applies to all sites in your network and cannot be changed later. If you want to use a top-level domain for a site in the network, this can also be done using domain mapping.

    WordPress multisite network titleInstall WordPress Multisite- Network Title and Admin Email

  4. You will also need to give your network a name for Network Title in the Network Details section.
  5. Then add an administrator address.
  6. Then click Install.

Add wp-config.php and .htaccess

WordPress will now provide you with two code snippets. You have to put these in the file wp-config.php and in the .htaccess Add. Both files are located in your WordPress root directory.

  1. Connect to your website using an FTP client.
  2. Download the wp-config.php and .htaccess files to your PC.
  3. Paste the first code snippet in wp-config.php just above the line:
    /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */

    The code looks like this, but adapted to your installation:

    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', true);
    define('DOMAIN_CURRENT_SITE', 'Deine Webseite');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
  4. Paste the second code snippet into your .htaccess file and replace all other WordPress rules with it.
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
    RewriteRule . index.php [L]
  5. Save both files and upload them back to the server.

Network management menu and the network settings

Once you have adjusted the wp-config.php and the .htaccess, log in to your WordPress admin again. At the top of the admin bar you will now find a new Network Management menu, which you can use to access the network’s admin area from any page in your network. Let’s take a look at the individual sub-items.

Below the network management you will see a list of all sites in the network for which you have been activated and you can switch to the backend of the individual sites.

The Network Management menu of the WordPress Multisite

And here the individual menu items of the network management are explained:

  • Dashboard: here you will find the widget where you can create new users and new pages in your network.
  • sites: This page lists all the sites in your network, similar to Posts and Pages. If you move the mouse over the individual websites, links appear for editing, opening the dashboard, viewing, deleting, archiving, deactivating etc. Note that fewer functions are available for your network’s main page, as this must always be present and not deleted can be.
  • user: this takes you to the administration of the users of your network. Unlike in a single site installation, there is a new user role here, the super administrator. In order for a user to be able to access the individual websites of a network, you must first add them per site via the user administration of the individual sites.
  • theme: the theme manager. Here you can install and delete themes and activate or deactivate them for the entire network.
  • plugins: all installed plugins can be found here, you can add new ones, delete plugins, activate them network-wide or deactivate them network-wide.
  • settings: on this page you can find the basic settings for your site: set the network name and the admin email address, allow user registrations, add new users to the site admins, the plugins or themes menu available for site admins make or set the default language of the pages and a few other settings that we do not list all here.

Add a new website to the network

A WordPress multisite doesn’t make much sense if you only need a single website. You can add as many websites as you want, at any time, so you don’t have to do it at the beginning. To expand your network with a new site, proceed as follows:

  1. Go to My Websites → Network Management → Websites and click Add New.

    Add a new site to a multisiteAdd a new site to a multisite

  2. Enter the desired website address. In our case we decided on a network with subdirectories. The domain is already given, we only specify the subdirectory.

    Settings for the new website in the multisite networkSettings for the new website in the multisite network

  3. Set the title of the website. This then appears in various places in your network, for example in the backend as the name of the website under My Websites, but also possibly in the frontend or in the metadata such as the page title.
  4. Choose a language for your new website.
  5. Set the admin email address, which can be different from the one for the entire network. If there is no user with this email, a new one will be created and made the admin of the site.
  6. Click Create Site. Your new page will be created and then appear under My Sites → Network Management → Sites. However, so that people other than the current admin can manage this new page, you must first add them as an admin to the user management of this page.

Install plugins and themes in the WordPress multisite

Installing and deleting plugins and themes in a WordPress multisite network is reserved for the super administrator. The administrators of the individual pages can only activate and deactivate them, for plugins only if you have checked the Enable administration menus for plugins box in the network management under Settings → Network settings.

Make plugin menu available for admins of each site in a multisiteExpose plugins menu for website admins in a multisite

You can find the plugin management for the entire network under Network Management → Plugins, for the themes under Network Management → Themes.

Install plugins in a multisite and activate them network-wideInstall plugins in a WordPress multisite and activate them network-wide

For the admin of a website, the whole thing looks like the following image.

Plugin management from the perspective of a site admin in a WP MultisitePlugin management from the perspective of a site admin in a WP Multisite

Note: the admin can enable and disable plugins but cannot install or delete them.

One of the plugins in our example says Can only be activated for the entire network, ie available for all or none of the pages and the settings for the plugin are then in the network administration.

For more help setting up your multisite, see our documentation in the WordPress Multisite 1×1 category. If you are in the process of setting up a multilingual website, take a look here: MultilingualPress Getting Started.