How to Set Up WordPress Multisite Network

Multisite is a powerful WordPress feature that, once activated, allows you to create a network of websites running off of a single WordPress installation. It’s been around since WordPress 3.0 and quite a lot of big sites use it – WordPress.com, the New York Times, Harvard, and Edublogs to name a few. Read on to learn how to set up WordPress multisite.

If you have a WordPress site, you’ve got all you need to set up multisite – you just need to switch it on. So in this post, I’ll walk you through how to set up multisite, configure your settings, and manage your network.

What is WordPress Multisite?

A multisite network is a collection of websites that all share the same single WordPress installation, database, plugins, and themes. The individual sites in a network are virtual sites, meaning they don’t have their own directories on your server, though they do have separate directories for media uploads and separate tables in the database.

As I previously mentioned, multisite was originally added to WordPress as a feature back in 2010. It replaced WordPress MU (multi-user), a feature that enabled users to set up a network of blogs. Multisite took this a step further, enabling users to host different sites on a single WordPress installation, i.e. one site on a network might be a blog and another an online shop.

With multisite, you can have as many websites as you want in your network. To give you an idea of how multisite can scale, WordPress.com has more than 37 million websites while Edublogs hosts more than 4.3 million sites.

There are a few key differences between a standalone version of WordPress and a multisite network:

  • Super Administrator: On a regular WordPress installation, the highest level of permissions is “administrator.” With a multisite installation, on the other hand, the highest level is “super administrator,” which has access to every site on the network.
  • Network Admin: Each sub-site on a multisite network has its own dashboard, just like a standalone version of WordPress. But there is another admin dashboard called the “network admin” where super admins can manage network-site settings.
  • Plugins and Themes: In multisite, themes and plugins are installed in the network admin and are available to use on any site in the network. However, there are two ways in which a theme or plugin is activated: super admins can “network enable” a theme or “network activate” a plugin, making the theme or plugin available network-side; and plugins and themes can be activated on individual sub-sites just as you would for standalone WordPress sites.
  • Files and Folders: When you enable multisite, your site’s wp-config.php file will have some extra lines of code added, which activate multisite and let WordPress know it’s up and running. Your wp-uploads folder will also contain a sub-folder for each site in the network, with the site’s numerical ID as its name.
  • Database: The database for a standalone WordPress installation has 11 database tables for storing a site’s content and settings. With multisite, nine of these tables are duplicated for each site.

What You Need to Get Started with WordPress Multisite

If you’re running a WordPress website, you already have all you need to get started with multisite. But more specifically you need:

  • Hosting: Make sure your web server is capable of hosting multisite. Shared hosting isn’t always a great idea as a multisite network is more resource-intensive than a standalone WordPress site.
  • Knowledge: You’ll need to know how to edit WordPress files.
  • Access: You’ll need to edit some WordPress files, so you’ll need access to your site directory via FTP, cPanel or some other method.

Choosing a Domain Structure: Subdomains vs. Subdirectories

One more thing to consider before activating multisite is whether you want to use subdomains or subdirectories, and this will mostly depend on whether you’re creating a new website using multisite or adding multisite to an existing WordPress installation.

  • Subdomains: Each sub-site in your network will have an URL like subsite.yourmultisitenetwork.com, where “sub-site” is the individual site and “yourmultisitenetwork” is your network. If you want to allow your network’s users to create their own sites, you’ll need to have wildcard subdomains activated for your hosting.
  • Subdirectories: Each sub-site in your network will have an URL like yourmultisitenetwork.com/subsite. It’s worth noting that you can’t use this option if you’re setting up multisite on an established WordPress installation as it may cause clashes with existing URLs.

Activating WordPress Multisite

Now let’s go through the steps needed to enable multisite on a fresh installation of WordPress.

First, you need to edit a file in your site’s directory.

1. Open your wp-config.php file and find the line that reads:

/* That's all, stop editing! Happy blogging. */

2. Just above that line, paste the following line:

define( 'WP_ALLOW_MULTISITE', true );

3. Save your wp-config.php file.

Next, you need to log in to your WordPress site and set up your network.

4. Once logged into your site, go to Plugins > Installed Plugins and deactivate all of your plugins. You can either do this for each plugin individually or select all and deactivate in bulk.

5. Go to Tools > Network Setup. You’ll be prompted to choose whether you want to use subdomains or subdirectories. Select the option that works best for you.

6. Give your network a title and enter your email address.

7. Click “Install.”

Lastly, you need to edit two files in your site’s directory.

8. After installing multisite in the last step, you will be taken to the “Enabling the Network” screen.

Enabling WordPress multisite
You’ll need to update two files in your WordPress website’s directory to enable multisite mode.

9. In your site’s directory, open your wp-config.php and .htaccess files and edit them according to the instructions on the screen. If you can’t find your .htaccess file, it’s probably because it’s a hidden file so update your settings so you can view the file and edit it. If you don’t have an .htaccess file, simply create a new one.

10. Save both files.

WordPress multisite is now installed. When you refresh your site, you’ll be prompted to log in, and when you do, you’ll see the multisite dashboard instead of the regular WordPress dashboard.

WordPress multisite dashboard.
The WordPress multisite dashboard is a little different from the regular standalone version of WordPress.

You’ll notice a few small differences compared to the regular WordPress dashboard: there’s a “My Sites” link in the top right, which you can click to return to the network admin dashboard; there’s also a “My Sites” sub-menu item under “Dashboard,” which, when clicked, will display a list of sites in your network.

Adding New Sites to Your Multisite Network

To add a new site to your multisite network:

1. Click on My Sites > Network Admin > Sites, then click “Add New”.

Alternatively, if you’re already in the Network Admin dashboard, you can click on “Sites” in the sidebar.

WordPress multisite sites
Accessing sub-sites in WordPress multisite.

2. Enter the site address you want for your new site, give it a title, choose a language, and enter an admin email.

Adding new site to WordPress multisite
Adding a new sub-site to a WordPress multisite network.

3. Click “Add Site” to create your sub-site.

When you go to Sites > All Sites, you’ll see all of your sub-sites displayed.

Adding Themes to Your Multisite Network

As I mentioned earlier, only users with super admin privileges can install themes and plugins and make them available for sub-sites.

To install a theme:

1. Go to My Sites > Network Admin > Themes and click “Add New”. Click “Upload Theme” to upload your own theme, or search for a free option on the “Add Themes” page.

Adding a new theme to a WordPress multisite network
Adding a new theme to a WordPress multisite network.

2. On the “Installing Theme” screen, click “Network Enable” to enable the theme for use on any sub-site in your network.

Network enabling a new theme in WordPress multisite.
Network enabling a new theme in WordPress multisite.

You can also enable themes on individual sub-sites. To do this:

1. In the network admin, click on “Sites” and underneath the site you want to enable a theme for, click “Edit.”.

2. Click the “Themes” tab and under the theme you want to enable, click the “Enable” link.

Enabling a theme for a multisite sub-site.
Enabling a theme for a multisite sub-site.

3. When you go to the admin screen for the sub-site and click Appearance > Themes, you’ll see the theme you just enabled included in the list of themes available for activation.

Adding Plugins to Your Multisite Network

Like themes, plugins are installed by a super admin. But unlike themes, you can’t enable a plugin from the Network Admin screen to run on an individual sub-site. Instead, you can network activate a plugin to run on every site in the network, or you can go to a sub-site’s dashboard and install and activate a plugin there.

To network activate a plugin:

1. Go to My Sites > Network Admin > Plugins.

Accessing network-wide plugins in WordPress multisite.
Accessing network-wide plugins in WordPress multisite.

2. Click “Add New” and install the plugin you want to use as you would on a regular WordPress installation.

3. On the “Installing Plugin” screen, click “Network Activate.”

The plugin will now run on all sites in your network, though admins for individual sites won’t have the ability to disable it.

If you want to activate a plugin for just one site, you can install the plugin as a network admin and then site admins can activate it on individual sub-sites. To do this:

1. Follow steps 1 and 2 above to install the plugin you want to set up.

2. On the “Installing Plugin” screen, click “Return to Plugin Installer.”

3. Go to the admin dashboard for the site you want to activate the plugin for and click “Plugins” in the sidebar.

4. Under the plugin you want to activate, click the “Activate” link.

Activating a plugin in multisite.
Activating a plugin in multisite.

It’s worth noting that on the “Plugins” screen for individual sub-sites, there’s only the option to activate or deactivate plugins – you can’t delete or update them as only super admins can carry out these actions.

Network Settings

Multisite provides a range of settings you can configure to further customize your network. To access these multisite-only settings, go to My Sites > Network Admin > Settings.

Accessing multisite network settings.
Accessing multisite network settings.

The “Network Settings” screen will appear, which can be divided into six sections:

  • Operational Settings
  • Registration Settings
  • New Site Settings
  • Upload Settings
  • Language Settings
  • Menu Settings

Operational Settings allow you to update the name of your network as well as the network admin email.

In the *Registration Settings* section, you can choose to enable new registrations for your network and allow your users to create their own sub-sites. By default, registration is disabled.

WordPress multisite registration settings
With multisite, you can allow users to register to join our website and even allow them to create their own sub-site.

In this section, there’s also the option to limit email registrations, i.e. limit site registrations to certain domains. This is a useful option if you want to keep registrations to a certain organization or business, like a school or sports club. There’s also a further option to ban emails from certain domains.

Under New Site Settings, you can modify the welcome emails that are sent out to new users on your network and even the contents of a user’s first post, page and/or comment.

Multisite new site settings
Customize the default email messages and first post, page and comments for your network’s users.

The Upload Settings section allows you to control user resource usage on your site, including the total amount of space a sub-site can use for uploads. The default is set at 100MB. You can also specify upload types and the maximum file upload size.

Multisite upload settings
Control the size of files you network’s users can upload, as well as the types of files.

The Language Settings option lets you set the language for your network, while under Menu Settings you can choose whether to enable administration menus for plugins. When enabled, the plugins menu is displayed in the sidebar for sub-site admins, and they will be able to activate or deactivate a plugin, but won’t be able to install new plugins.

Conclusion

I hope you’ve found this guide to multisite useful. You now know how to set up multisite, add new sites, themes and plugins, and configure network settings, but that’s just the start. While it looks and works just like a regular standalone version of WordPress, there is so much more you can do with multisite.

If you take care of multiple client sites, multisite can help you manage all of your sites in one hit. I’d also highly recommend you check out plugins that can help you extend how multisite works, like Domain Mapping or even Pro Sites, if you want more advanced options for monetizing your network.

If you want to learn more about how multisite works, check out these resources in the WordPress Codex:

READY FOR MORE? HERE’S ANOTHER HELPFUL TUTORIAL: HOW TO STYLE BLOCKQUOTES IN WORDPRESS USING CSS

2 Comments

  1. David Farr
    David Farr

    Quick MS question: I’m running a MS network and allowing my clients to host their website there. When they’re logged in as an admin, they’re unable to paste in embed codes from 3rd party services. Some have told me this is a normal security feature. Is there any way around that? Right now, if they want to embed a google map for example, I have to either do it for them or upgrade them to be a super admin, neither is ideal. Thank you for the great article!

    Reply

  2. Jenni McKinnon
    Jenni McKinnon

    Hi David! I saw that you got your answer over at the WordPress.org support forums. But to answer your question here, Multisite doesn’t allow embeds for users other than super admins for security reasons, as embeds can allow for malicious code to be injected into your site. However, there is a way around this! There’s an internal whitelist built into WordPress that allows YouTube and Vimeo videos to be embedded. You can read more about it in the WordPress Codex: https://codex.wordpress.org/Embeds

    Reply