WordPress Multisite Network Setup: Turnkey Solution
Managing a network of 50 sites requires a unified system. With separate installations for each site, administration takes 3–5 times longer: 50 core updates, 50 copies of plugins, 50 databases. WordPress Multisite (WPMS) lets you run an unlimited number of sites from a single installation with a single database. It's not just "multiple sites on one server" — it's a complete separation of infrastructure with a single core. Suitable for media networks, multi-regional projects, SaaS platforms on WordPress, educational portals. Basic setup of a network of 3–5 subsites takes 2–3 days; customization for production with data isolation and custom plugins takes from 5 days. Over 8+ years, we have delivered 50+ Multisite projects, including networks with 100+ subsites. Many face issues with user synchronization, updates, and content — Multisite solves them with one solution. Each project undergoes load testing and Core Web Vitals optimization. Contact us for a detailed audit of your current architecture.
How to Enable Multisite?
Add the constant to wp-config.php before installation:
define('WP_ALLOW_MULTISITE', true); After that, the "Network Setup" item appears in the "Tools" menu. According to WordPress Codex, the constant must be added before installation. Here is a step-by-step guide:
- Open
wp-config.phpand insert the line above before the line/* That's all, stop editing! */. - Go to Admin > Tools > Network Setup.
- Choose addressing type: subdomains or subfolders.
- Copy the generated code and add it to
wp-config.phpand.htaccess(ornginx.conf). - Restart the server.
Comparison of Addressing Types
| Parameter | Subdomains | Subfolders |
|---|---|---|
| DNS setup | Wildcard record | Not required |
| SSL | Wildcard certificate | Single certificate |
| SEO | Better for regional sites | Single domain, suitable for sections |
| Complexity | Higher (DNS+SSL setup) | Lower |
| Example | ru.example.com, en.example.com | example.com/ru, example.com/en |
Wildcard SSL for *.example.com is obtained via Let's Encrypt with DNS-01 challenge. For example:
certbot certonly --manual --preferred-challenges dns \ -d example.com -d '*.example.com' Typical Setup Errors
- Wrong constant order:
WP_ALLOW_MULTISITEmust be beforedefine('DB_NAME', ...). Otherwise Multisite won't activate. - Missing wildcard DNS: For subdomains, you need to add a record
* → A — your IP. Without it, new sites won't open. - SSL only on main domain: With subdomains, each site opens with a certificate error if wildcard is not configured.
Database Table Structure
Multisite creates tables with a prefix for each subsite. The main site uses wp_posts, the second uses wp_2_posts, the third uses wp_3_posts:
wp_blogs -- registry of network sites wp_blog_versions -- DB versions per site wp_sitemeta -- meta-data of the whole network wp_site -- root site wp_users -- shared users (single registry) wp_usermeta -- roles stored here per-site -- Tables of the first site wp_posts, wp_postmeta, wp_options, wp_terms... -- Tables of the second site wp_2_posts, wp_2_postmeta, wp_2_options, wp_2_terms... Users are shared, but roles are different for each subsite. A user can be an editor on site2 and a subscriber on site3.
Programmatic Subsite Creation
$blog_id = wpmu_create_blog( 'newsite.example.com', '/', 'New Site', get_current_user_id(), ['public' => 1], 1 ); if (is_wp_error($blog_id)) { error_log('Error: ' . $blog_id->get_error_message()); return; } switch_to_blog($blog_id); update_option('blogdescription', 'Description'); restore_current_blog(); How to Map a Custom Domain to a Subsite?
Domain mapping — attaching a third-party domain (client-site.ru) to a Multisite subsite. Natively with WordPress 4.5+, you can change siteurl and home via WP-CLI. Nginx adds a server block that directs requests to the same root directory. Here's an example configuration:
server { listen 443 ssl; server_name client-site.ru; root /var/www/html; ... } Don't forget to add a DNS record for client-site.ru pointing to the server IP.
Network Plugins and Themes
A plugin activated at the network level works on all subsites. Some plugins don't support Multisite due to hardcoded table prefixes. You can check if an installation is multisite using is_multisite().
How Multisite Solves Scaling Issues?
With 50–100 active subsites on one server, degradation may occur due to each site's wp_options table. Solutions: Redis Object Cache with key segregation by blog_id, Varnish, HyperDB for database distribution. The average budget savings when switching from separate installations to Multisite is 40–60%. Multisite is 3–5 times more cost-effective than separate installations in terms of hosting costs and administration time. Request a consultation to evaluate your project.
Limitations and Solutions
| Problem | Solution |
|---|---|
| Degradation with 50+ subsites | Redis Object Cache + Varnish |
| Slow switch_to_blog | HyperDB for database distribution |
| Plugin conflicts | Testing on staging network |
What's Included in the Work
- Requirements analysis and network architecture design
- Server setup (Nginx, SSL wildcard, Redis, certificates)
- WordPress Multisite installation and configuration
- Domain mapping for custom domains
- Connection of network plugins (caching, security, SEO)
- Development of a custom subsite registrar if needed
- Documentation, access transfer, team training
- 30-day warranty period after project delivery
Our experience: 8+ years working with WordPress, 50+ successful Multisite projects, 100+ subsites in individual projects. Contact us to evaluate your project. Order a turnkey WordPress Multisite setup — we will offer the optimal solution.







