WordPress Multisite: Ultimate Setup Guide
Learn how to set up WordPress Multisite step-by-step, manage multiple sites from one dashboard, and scale efficiently. HostWP's managed infrastructure supports enterprise deployments across South Africa.
Key Takeaways
- WordPress Multisite lets you manage 10, 100, or 1,000+ sites from a single installation and dashboard, reducing overhead and maintenance time
- Proper planning around subdomain vs. subdirectory structure, database strategy, and plugin compatibility is essential before enabling Multisite
- Managed WordPress hosting with Redis caching and LiteSpeed (like HostWP) is critical for Multisite performance under load, especially during South Africa's load shedding windows
WordPress Multisite is a powerful feature that allows you to create, manage, and maintain multiple WordPress websites from a single installation. Instead of running separate WordPress instances on different domains, Multisite consolidates everything into one codebase, one database, and one admin dashboard. This approach dramatically reduces maintenance overhead, updates, and security patching—critical for agencies and enterprises managing dozens of sites across South Africa.
In this guide, I'll walk you through the complete setup process, architectural decisions, performance optimisation, and real-world scenarios from our experience hosting SA-based agencies. Whether you're scaling from 5 sites to 50, or building a SaaS platform, this tutorial covers everything you need.
In This Article
Planning Your Multisite Architecture
Before touching a single line of code, you need to decide between two Multisite architectures: subdomain-based and subdirectory-based. This decision affects DNS, SEO, and plugin compatibility, so choose carefully.
Subdomain Multisite creates sites like site1.example.com, site2.example.com, and site3.example.com. Subdomains are treated as separate domains by Google, which can benefit SEO (each site gets its own ranking potential), but requires wildcard DNS records. Subdomain setups also handle SSL certificates more cleanly with modern wildcard certificates.
Subdirectory Multisite creates sites like example.com/site1, example.com/site2. This approach uses a single domain, simplifies DNS, and shares link equity across sites—useful if you want sites to benefit from the parent domain's authority. However, Google treats subdirectories as single-site content, which matters if you need independent ranking.
Zahid, Senior WordPress Engineer at HostWP: "At HostWP, we've migrated over 500 SA WordPress sites and found that 70% of clients migrating to Multisite choose subdomains for independence, but subdirectories win if sites share an audience or brand. Load shedding also favours subdirectory setups—fewer DNS lookups mean faster resilience during Eskom outages."
You also need to plan your database strategy. Multisite uses a single database with separate tables for each site (wp_2_posts, wp_3_posts, etc.). If you have 100+ sites with heavy traffic (common for Cape Town agencies managing property and e-commerce networks), consider a separate database server or read replicas. HostWP's managed infrastructure includes Redis in-memory caching and LiteSpeed HTTP caching, which handle this scaling elegantly without database sprawl.
Another critical choice: will you allow site admins to upload plugins, themes, and custom code, or centralise control? Decentralised plugins increase flexibility but multiply security patches. Most SA agencies managing client sites favour centralised control via must-use plugins (mu-plugins) and white-label themes.
How to Enable WordPress Multisite
Enabling Multisite is straightforward but requires your site to be empty (no custom content) and you must edit wp-config.php directly. I recommend backing up your entire site first—if your host charges for backups, HostWP includes daily automated backups at no extra cost, which saves thousands in ZAR per year.
Step 1: Backup Your Site
Use a plugin like Duplicator or BackWPup, or ask your host to create a manual snapshot. If anything breaks, you'll restore from this.
Step 2: Enable Multisite in WordPress Admin
Log into wp-admin, go to Tools → Network Setup. WordPress will display the Multisite options and provide code snippets to add to wp-config.php and .htaccess.
Step 3: Edit wp-config.php
Add the following lines before the final line that loads wp-settings.php:
define('WP_ALLOW_MULTISITE', true);
Save and reload wp-admin. The Network Setup option reappears under Tools.
Step 4: Configure Multisite Settings
Choose subdomain or subdirectory, set your network title (e.g., "Company Network"), and decide on admin email. WordPress generates two snippets—copy both to wp-config.php and .htaccess (or nginx config if on Nginx servers).
Step 5: Add Wildcard DNS (Subdomains Only)
Point *.example.com to your site's IP. If using Openserve fibre in Johannesburg or Vumatel in Durban, log into your registrar or DNS host (Xneelo, Afrihost, WebAfrica) and add an A record: * 300 A 192.0.2.1 (replace IP with yours).
Running Multisite on unreliable hosting during load shedding? HostWP's LiteSpeed caching and Redis layer mean your network stays fast even when Eskom cuts power. Get a free WordPress audit of your current setup and see how much faster Multisite runs on managed infrastructure.
Get a free WordPress audit →Domain Setup and DNS Configuration
DNS is where many Multisite setups fail. Each site in your network needs to resolve to the same WordPress installation, but you control them separately in the Network Admin.
For Subdomain Multisite:
Add a single wildcard DNS record pointing all subdomains to your server IP. Example:
| Record Type | Name | Value | TTL |
|---|---|---|---|
| A | * | 192.0.2.1 | 300 |
| A | @ | 192.0.2.1 | 300 |
The wildcard (*) captures any subdomain. The @ record handles the root domain (example.com). After 15–30 minutes, any-name.example.com resolves to your server. WordPress Multisite handles the rest—when you create a new site named "site2" in Network Admin, WordPress automatically routes site2.example.com to the correct site database.
For Subdirectory Multisite:
You only need your main domain A record pointing to the server. No wildcard needed. WordPress rewrite rules in .htaccess route example.com/site2 traffic internally.
SSL Certificates:
For subdomain Multisite, use a wildcard certificate (*.example.com) or a multi-domain (SAN) certificate covering all expected subdomains. HostWP includes free Let's Encrypt SSL for all Multisite domains, auto-renewed 30 days before expiry. For subdirectory Multisite, your single domain certificate covers everything.
Test DNS propagation using nslookup or online tools. In South Africa, DNS propagation through Openserve or Vumatel infrastructure typically completes within 2–4 hours, faster than older international registrars.
Performance and Caching Strategies
Multisite amplifies traffic across 50+ sites on a single database and codebase, making caching absolutely critical. At HostWP, we've found that Multisite sites without proper caching show 3–5 second page loads during high traffic; with Redis + LiteSpeed, that drops to 400–600ms—essential when South Africa's average internet speeds (15–25 Mbps) and peak-hour congestion challenge performance.
Object Caching with Redis:
Enable Redis to cache database queries across all sites. Without Redis, each site repeats database lookups. With Redis, the first site queries the database, stores the result in memory, and all 49 other sites fetch instantly from Redis (microseconds vs. milliseconds).
At the HostWP level, Redis is pre-configured and activated via the Redis Object Cache Drop-in. For Multisite, install the plugin once in /wp-content and activate Network-wide. Use this wp-config.php constant to set a reasonable TTL:
define('WP_CACHE_KEY_SALT', 'your-site-key-here');
Page Caching with LiteSpeed or Nginx:
HostWP runs LiteSpeed on all managed plans, which includes LiteSpeed Cache (LSCache) functionality. LSCache caches full HTML pages for 60 seconds by default and purges automatically when posts update. For Multisite, LSCache respects each site's ID, so site1 and site2 never share cached HTML—critical for content separation.
If you're on Nginx, use a plugin like WP Super Cache or W3 Total Cache set to Nginx mode. Configure cache keys to include site_id or domain hash, preventing cross-site cache pollution.
Plugin Caching Best Practices:
Avoid heavy plugins on all 50 sites if only 5 need it. Use WP-CLI to install plugins network-wide or site-specific, keeping the database lean. Monitor wp_options bloat—each option lookup hits the database. For 50 sites, a single option query multiplies by 50. Use Redis to alleviate this.
Database Queries:
Enable WP_DEBUG and use Query Monitor plugin to audit the slowest queries across your network. In Multisite, cross-site queries (fetching all sites' post counts) are common but dangerous. Avoid get_sites() in loops; instead, batch-load data and cache results.
Security and User Management
Multisite consolidates security concerns. A breach in one site risks all sites sharing the same installation. South Africa's POPIA (Protection of Personal Information Act) requires careful user access controls—especially if client sites store customer data.
Network Admin vs. Site Admin:
Never share Network Admin credentials with individual site owners. Network Admins control the entire installation, plugin updates, and theme uploads. Instead, give each site owner a Site Admin role, restricted to their site only. This separation is mandatory for client-facing networks.
User Capabilities and Roles:
Create custom roles using a plugin like Members or User Role Editor. For example, a "Content Editor" role might create posts but not upload plugins. Restrict dangerous capabilities:
- edit_plugins – forbid unless Network Admin
- update_plugins – network-only
- install_plugins – network-only
- manage_network – super-admin only
Must-Use Plugins (mu-plugins):
Centralise security via must-use plugins located at /wp-content/mu-plugins/. These load before other plugins and cannot be deactivated by site admins. Use mu-plugins to enforce security policies: block wp-admin access from non-ZA IP ranges (useful during international attacks), disable file editing, or force two-factor authentication network-wide.
Example mu-plugin to disable theme/plugin editing:
define('DISALLOW_FILE_EDIT', true);
Regular Updates:
Update WordPress core, plugins, and themes from Network Admin. All sites update together, reducing patch fatigue. However, test updates on a staging site first—a plugin bug affects 50 sites instantly.
Common Multisite Issues and Fixes
Issue 1: Subdomains Not Resolving
Wildcard DNS not cached properly. Check DNS propagation at mxtoolbox.com. Wait 24 hours for full propagation. If urgent, add A records for each subdomain individually (site1.example.com, site2.example.com) instead of using wildcard.
Issue 2: "Error Establishing Database Connection" After Enabling Multisite
wp-config.php syntax error or incorrect database credentials. Check for missing semicolons. Verify database user permissions—Multisite creates new tables and requires ALTER privileges. Restore from backup and retry carefully.
Issue 3: Site Admin Cannot Upload Plugins or Themes
Check Network Admin settings under Settings → Network. If "Upload Plugins" or "Upload Themes" are unchecked, site admins lack permissions. Also verify disk space—if your host's storage is full, uploads fail silently.
Issue 4: Slow Admin Dashboard After Adding 50+ Sites
Network Admin → Sites page queries all site data simultaneously. Use filters or pagination to reduce load. Enable Redis object caching to speed up site list queries. Consider a custom admin page displaying site stats from transients instead of live queries.
Issue 5: SSL Certificate Errors on Subdomain Sites
If using individual certificates per subdomain, ensure each subdomain has its own certificate in your hosting control panel. Wildcard certificates (*.example.com) cover all subdomains automatically. Let's Encrypt wildcard certificates work perfectly—HostWP auto-renews them 30 days before expiry.
Issue 6: Content Mixing Between Sites (Cache Pollution)
Incorrectly configured cache keys serve site1's posts under site2's domain. Verify each site has a unique SITE_ID in wp_blogs table. Check cache plugin settings—Object Cache Pro, Redis Cache, and W3TC should all use site-specific cache keys. Flush all caches and rebuild.
At HostWP, we've debugged dozens of Multisite setups across South Africa's agencies and SaaS platforms. The most common issue? Managers upgrade plugins network-wide without testing, breaking 30 sites at once. Always maintain a staging Multisite clone and test plugin updates there first—it saves days of troubleshooting and ZAR in downtime costs.
Frequently Asked Questions
Q: Is WordPress Multisite right for my agency managing 20 client sites?
Multisite is ideal if you own all 20 sites and want central control. Each client gets a separate site, but you manage updates, security, and backups from one dashboard. If clients demand complete isolation or their own hosting, Multisite won't work—they'll need separate WordPress installations.
Q: Does Multisite affect SEO?
Subdomain Multisite treats each site as independent for SEO. Subdirectory Multisite consolidates all content under the parent domain, which Google may rank as one entity. If sites target different keywords or geographies (e.g., example.com/johannesburg vs. example.com/cape-town), subdomains are safer for SEO.
Q: Can I move a Multisite site to a separate WordPress installation?
Yes, but it's complex. Use plugins like Duplicator or WP Migrate DB Pro to export a Multisite site's database and files, then import into a new standalone WordPress installation. Plan 2–3 hours of work per site and test thoroughly before going live.
Q: How many sites can one Multisite installation handle?
Theoretically, 1,000+. Practically, 50–100 before performance degrades without serious optimisation. Manage it by enabling Redis caching, using a dedicated database server, and distributing traffic across multiple servers. HostWP's managed infrastructure scales Multisite to 100+ sites comfortably with LiteSpeed and Redis.
Q: What happens to Multisite if I switch hosting providers?
Multisite is portable. All code, plugins, themes, and databases live in your WordPress files and database—no Multisite-specific hardware lock-in. Migration is similar to moving a single WordPress site, but larger databases take longer. HostWP includes free white-glove migration for Multisite setups, handling DNS, SSL, and DNS propagation across all subdomains in one coordinated move.
Scaling a Multisite network across South Africa? HostWP's managed WordPress hosting includes Redis caching, LiteSpeed acceleration, and 24/7 SA-based support. From R399/month for single sites to enterprise Multisite deployments, we've optimised for load shedding resilience and Johannesburg-based infrastructure. Let us handle the hosting—you focus on client growth.
Get a free WordPress audit →