WordPress Multisite is a hidden gem built into WordPress Core that lets you run multiple websites from a single installation — reducing costs, simplifying management, and saving significantly on hosting. This guide walks you through every step to get it running on AsiaGB Hosting.
What is WordPress Multisite?
WordPress Multisite (formerly WordPress MU / Multi-User) is a system that combines multiple WordPress sites into one shared database and core file set. Each site has its own content, users, and settings while sharing WordPress Core, Themes, and Plugins.
| Feature | Single Site | Multisite Network |
|---|---|---|
| WordPress Installs | 1 per domain | 1 runs N sites |
| Database | Separate | Shared (different tables) |
| Plugins/Themes | Install separately | Install once, use across sites |
| WordPress Updates | Update each site | Update once |
| Best for | Single website | Multiple brands/languages |
When Should You Use Multisite?
- Multi-language sites — site.com (TH), site-en.com (EN), site-zh.com (ZH)
- Multiple brands in one organization — each brand with its own look
- Schools / Franchises — each branch gets its own sub-site
- Cost reduction — one hosting account instead of many
- One team managing multiple sites — admins work from a single dashboard
If each site needs a different WordPress version, different server regions, or full risk isolation — separate installations are better.
Requirements Before You Start
- WordPress 3.0+ (Multisite is built-in)
- PHP 7.4+ (8.1+ recommended)
- Apache
mod_rewriteenabled - Ability to edit
wp-config.phpand.htaccess - For Subdomain: Wildcard DNS Record (
*.domain.com) - WordPress installed in the root directory (not a subfolder)
- Deactivate all plugins before enabling Multisite
AsiaGB Hosting uses DirectAdmin with Apache mod_rewrite enabled out of the box, supporting both Subdomain and Subdirectory Multisite networks.
Step 1 — Enable Multisite
Always back up your files and database before enabling Multisite — so you can roll back if anything goes wrong.
Go to Plugins → Installed Plugins → Select All → Deactivate.
Add this line before the /* That's all, stop editing! */ line:
/* Enable WordPress Multisite */
define( 'WP_ALLOW_MULTISITE', true );
After saving wp-config.php, refresh the admin page and go to Tools → Network Setup.
Step 2 — Choose Network Type
WordPress Multisite supports two URL structures:
| Type | Example URL | Pros | Cons |
|---|---|---|---|
| Subdomain | site1.example.com | Looks independent, separate SEO | Requires Wildcard DNS |
| Subdirectory | example.com/site1/ | Easier setup | Shares domain authority |
Subdirectory is easier — no Wildcard DNS needed. It's ideal for sites within the same organization, e.g. example.com/en/, example.com/store/
Step 3 — Update wp-config.php and .htaccess
WordPress will display the exact code to add. Example for Subdirectory:
// wp-config.php — add after WP_ALLOW_MULTISITE
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
# .htaccess — replace the existing WordPress block
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]
Step 4 — Access Network Admin
After saving both files, log in again. You'll see My Sites → Network Admin in the Admin Bar — your main hub for managing the entire Network.
Step 5 — Create a Subsite
- Site Address — URL of the subsite (subdirectory path or subdomain prefix)
- Site Title — site name
- Admin Email — email of the site administrator
Domain Mapping — Custom Domain per Subsite
To give a subsite its own independent domain (e.g. brand2.com instead of example.com/brand2/):
- Add an A record for brand2.com pointing to your Hosting IP in DNS
- Add the domain as Addon Domain in DirectAdmin (Domain Management → Add Domain)
- Go to Network Admin → Sites → Edit that subsite
- Change the Site Address (URL) to
https://brand2.com - Wait for DNS propagation (10–30 minutes)
Managing Plugins and Themes in a Network
| Level | Who Does It | Result |
|---|---|---|
| Network Activate | Super Admin | Plugin active on all subsites (forced) |
| Site Activate | Site Admin | Plugin active on that subsite only |
| Network Deactivate | Super Admin | Plugin hidden from all subsites |
Performance Tips for Multisite
- Object Cache — Redis or Memcached significantly reduces database queries
- CDN for Media — offload media to CDN if subsites have many images
- Disable WP-Cron — use Server Cron instead (WP-Cron fires more often in Multisite)
- Limit Upload Size — Network Admin → Network Settings → Max upload file size
Backing Up a Multisite Network
Multisite backups must cover:
- Full database — all subsite tables are in the same database
- wp-content/uploads/sites/ — each subsite's media in separate subdirectories
- wp-config.php — contains critical Network configuration
AsiaGB Hosting provides twice-monthly automated backups (1st and 15th) as a safety net, but we recommend backing up more frequently — especially before WordPress Core updates.
Common Problems and Fixes
| Problem | Cause | Fix |
|---|---|---|
| Subsite 404 after creation | Incorrect .htaccess | Verify the full htaccess block was copied |
| Subdomain not working | Missing Wildcard DNS | Add *.domain.com A record |
| Plugin not visible in subsite | Not Network Enabled | Network Admin → Plugins → Network Activate |
| Cannot upload files | Missing permission on sites/ folder | chmod 755 wp-content/uploads/sites/ |