Subscribe to Our Mailing List and Stay Up-to-Date! Subscribe

WordPress Multisite Network Setup: Complete Configuration Guide

WordPress Multisite enables managing multiple WordPress sites from single installation sharing plugins, themes, and users centrally. From university networks and corporate intranets to SaaS platforms and franchise websites, Multisite reduces administrative overhead while maintaining site independence. This comprehensive guide teaches network activation, subdomain versus subdirectory configuration, site management, user roles, domain mapping, and performance optimization for enterprise-level WordPress deployments.

Understanding WordPress Multisite

What is Multisite: Single WordPress installation running multiple sites sharing:

  • Core WordPress files
  • Plugins directory
  • Themes directory
  • Uploads folder (separate per site)
  • Database (separate tables per site)

Use Cases:

  • University departments (math.university.edu, physics.university.edu)
  • Corporate divisions (sales.company.com, support.company.com)
  • Magazine networks (tech.magazine.com, lifestyle.magazine.com)
  • Franchise websites (location1.franchise.com, location2.franchise.com)
  • SaaS platforms (client1.platform.com, client2.platform.com)

Benefits:

  • Centralized updates (plugins/themes updated once)
  • Shared user base (single login across sites)
  • Resource efficiency (one installation, multiple sites)
  • Cost savings (one hosting account)
  • Simplified management (Super Admin control)

Limitations:

  • Shared hosting resources
  • Plugin compatibility issues
  • Complex troubleshooting
  • Cannot easily separate sites later

Subdomain vs Subdirectory

Subdomain Structure:

site1.example.com
site2.example.com
site3.example.com

Advantages:

  • Cleaner URL structure
  • Site-specific branding
  • Better for independent sites
  • Easier SSL certificate management (wildcard)

Requirements:

  • Wildcard DNS (*.example.com)
  • Server configuration
  • Hosting support

Subdirectory Structure:

example.com/site1
example.com/site2
example.com/site3

Advantages:

  • Simpler DNS setup
  • Works on all hosting
  • SEO benefits (single domain authority)
  • No wildcard certificate needed

Limitations:

  • Less independence between sites
  • URLs less flexible

Pre-Installation Requirements

Checklist:

  • Fresh WordPress installation (or backup existing)
  • Pretty permalinks enabled
  • Hosting supports Multisite
  • File/database access
  • Super Admin privileges

Test Environment First: Always test Multisite on staging before production.

Enabling WordPress Multisite

Step 1: Enable Multisite Feature:

Add to wp-config.php (above /* That's all, stop editing! */):

/* Multisite */
define('WP_ALLOW_MULTISITE', true);

Step 2: Access Network Setup:

  1. Save wp-config.php
  2. Refresh WordPress admin
  3. Tools → Network Setup

Step 3: Choose Network Type:

Select subdomain or subdirectory structure (cannot change later).

Step 4: Network Details:

  • Network Title
  • Network Admin Email

Click Install.

Network Configuration

Step 5: Update wp-config.php:

WordPress provides configuration code. Add to wp-config.php:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // true for subdomains, false for subdirectories
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Step 6: Update .htaccess:

Replace existing WordPress rewrite rules with network rules:

Subdirectory .htaccess:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
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]

Subdomain Configuration: Requires wildcard DNS pointing *.example.com to server IP.

Network Administration

Access Network Admin:

Top admin bar: My Sites → Network Admin

Network Dashboard Sections:

  • Sites: Manage all network sites
  • Users: Manage all network users
  • Themes: Enable/disable themes network-wide
  • Plugins: Activate plugins network-wide
  • Settings: Network settings

Creating New Sites

Add New Site:

  1. Network Admin → Sites → Add New
  2. Site Address: newsite (becomes newsite.example.com or example.com/newsite)
  3. Site Title: Display name
  4. Admin Email: Site administrator email
  5. Click Add Site

Site Automatically Created:

  • Database tables created
  • Default theme activated
  • Admin user notified via email
  • Site accessible immediately

User Management

User Roles in Multisite:

Super Admin:

  • Network-level control
  • Manage all sites
  • Add/remove sites
  • Network settings
  • Plugin/theme management

Administrator (per-site):

  • Full site control
  • Cannot affect other sites
  • Cannot manage network

Other Roles: Editor, Author, Contributor, Subscriber (same as standard WordPress)

Add User to Site:

  1. Network Admin → Users → Add New
  2. Or: Individual site → Users → Add Existing

Grant Super Admin:

Network Admin → Users → Edit User → check “Grant this user super admin privileges”

Plugin Management

Network Activate vs Site Activate:

Network Activation:

Network Admin → Plugins → Network Activate

Enables plugin on all sites automatically.

Site-Specific Activation:

Network Admin → Plugins → Enable (not Network Activate)

Then individual sites can activate from their dashboard.

Must-Use Plugins:

Create wp-content/mu-plugins/ folder. Plugins here auto-activate network-wide (cannot deactivate).

Example mu-plugin:

<?php
/*
Plugin Name: Network Customizations
Description: Custom code for entire network
*/

// Remove WordPress branding from admin footer
function dprt_network_footer() {
    echo 'Powered by Our Network';
}
add_filter('admin_footer_text', 'dprt_network_footer');

Theme Management

Enable Themes Network-Wide:

Network Admin → Themes → Enable (individual themes)

Sites can then activate from Appearance → Themes.

Network-Wide Default Theme:

// In mu-plugin
function dprt_force_theme() {
    switch_theme('twentytwentyfive');
}
add_action('after_switch_theme', 'dprt_force_theme');

Domain Mapping

Custom Domains for Sites:

Install domain mapping plugin (WordPress MU Domain Mapping or newer alternatives).

Configuration:

  1. Update DNS: Point custom domain to server IP
  2. Add domain in Network Admin
  3. Map domain to site
  4. Configure SSL certificate for custom domain

Example: Map customdomain.com to site1.example.com

Network Settings

Registration Settings:

Network Admin → Settings → Network Settings

User Registration:

  • Disabled (default)
  • User accounts may be registered
  • Logged in users may register new sites
  • Both user accounts and sites can be registered

New Site Settings:

  • Welcome Email
  • Welcome User Email
  • First Post
  • First Page
  • First Comment

Upload Settings:

  • Upload space per site (MB)
  • Upload file types allowed
  • Max upload file size

Advanced Configuration

Multisite Constants:

// Redirect to main site when non-existent site accessed
define('NOBLOGREDIRECT', 'https://example.com');

// Change upload folder location
define('UPLOADBLOGSDIR', 'wp-content/uploads/sites');

// Force specific uploads directory
define('UPLOADS', 'wp-content/uploads');

// Cookie domain for entire network
define('COOKIE_DOMAIN', '.example.com');

// Cookie paths
define('ADMIN_COOKIE_PATH', '/');
define('PLUGINS_COOKIE_PATH', '/');
define('COOKIEPATH', '/');
define('SITECOOKIEPATH', '/');

Database Structure

Network Tables:

  • wp_blogs: Stores site information
  • wp_sitemeta: Stores network-wide options
  • wp_site: Stores network details
  • wp_registration_log: Tracks new site/user registrations
  • wp_signups: Pending user/site signups

Site-Specific Tables (e.g., site ID 2):

  • wp_2_posts
  • wp_2_postmeta
  • wp_2_users (shared across network)
  • wp_2_options
  • wp_2_comments
  • etc.

Performance Optimization

Object Caching:

// Use Redis or Memcached for network
define('WP_CACHE', true);

Install object cache plugin (Redis Object Cache, Memcached).

CDN Integration:

Offload media from all sites to single CDN.

Database Optimization:

Regular cleanup:

-- Remove spam comments across all sites
DELETE FROM wp_*_comments WHERE comment_approved = 'spam';

-- Optimize all tables
OPTIMIZE TABLE wp_*_posts, wp_*_postmeta, wp_*_options;

Security Considerations

Restrict Site Creation:

Network Admin → Settings → uncheck registration options

Limit File Uploads:

// In mu-plugin
function dprt_restrict_upload_types($mimes) {
    unset($mimes['exe']);
    unset($mimes['php']);
    return $mimes;
}
add_filter('upload_mimes', 'dprt_restrict_upload_types', 99);

Prevent Plugin Installation by Site Admins:

Default Multisite behavior (only Super Admins install plugins).

Troubleshooting

404 Errors on New Sites:

Flush rewrite rules: Network Admin → Settings → Save (no changes needed)

Login Redirect Loops:

Check COOKIE_DOMAIN and cookie path constants.

Email Delivery Issues:

Configure SMTP for network (WP Mail SMTP plugin).

Site Not Found:

Verify DNS configuration (wildcard for subdomains).

Conclusion

WordPress Multisite enables efficient multi-site management through centralized administration, shared resources, and unified user management. Configure subdomain or subdirectory structures based on needs, implement network-wide plugins and themes, manage users across sites with Super Admin privileges, and optimize performance through object caching and CDN integration. Multisite transforms WordPress into enterprise-level platform managing hundreds of sites from single installation.

  1. WordPress Multisite Documentation
  2. Multisite Network Admin
  3. Multisite Constants Reference
  4. Domain Mapping Plugin
  5. Multisite Hosting Guide

Call to Action

Multisite networks need reliable protection. Backup Copilot Pro safeguards your entire WordPress network with automated backups. Protect all your sites—start your free 30-day trial today!