WordPress Multisite is a built-in feature that lets you run multiple websites from a single WordPress installation. Instead of maintaining separate WordPress installs for each site, you manage them all from one Network Admin dashboard — sharing the same codebase, plugins, and themes while keeping content and settings completely isolated per site. This guide walks you through the subdomain mode setup, where each sub-site lives at its own subdomain like shop.yourdomain.com or blog.yourdomain.com, from start to finish.

Why Choose Subdomain Mode?

WordPress Multisite supports two URL structures: subdomain and subdirectory. Subdomain mode is the more flexible option for most use cases:

Prerequisites

Before enabling Multisite, make sure every item in the checklist below is in place. Missing any one of them will cause sub-sites to fail to load.

Requirement Details Mandatory?
Wildcard DNS A Record *.yourdomain.com pointing to your server IP Required
Wildcard SSL Certificate Covers *.yourdomain.com Strongly recommended
PHP 8.0+ / MySQL 5.7+ WordPress 6.x requires PHP ≥ 7.4 minimum Required
Apache mod_rewrite / Nginx rewrite Enables WordPress URL rewriting via .htaccess Required
Recent full backup Back up files and database before proceeding Strongly recommended

Step 1 — Enable Multisite in wp-config.php

Open wp-config.php at the WordPress root via FTP, your hosting File Manager, or SSH. Add the following line above the line that reads /* That's all, stop editing! */:

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

Save the file and refresh your WordPress admin dashboard. A new menu item, Tools › Network Setup, will now appear.

Step 2 — Run the Network Setup Wizard

Go to Tools › Network Setup. You will be asked to choose a URL structure:

Enter a network title (for example, "My WordPress Network") and the admin email address, then click Install. WordPress will display two code snippets you need to add to your files.

Code Snippet 1 — Add to wp-config.php

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

Paste this block immediately after the define( 'WP_ALLOW_MULTISITE', true ); line you added in Step 1.

Code Snippet 2 — Replace .htaccess Rules

Open .htaccess at the WordPress root and replace the existing WordPress rewrite block entirely with the new rules WordPress provides. A typical example looks like this:

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]

After saving both files, WordPress will ask you to log in again. Once logged in, go to My Sites › Network Admin to manage the network.

Step 3 — Add the Wildcard DNS Record

For subdomains like shop.yourdomain.com to resolve, you need a Wildcard DNS A record in your domain's zone file. In AsiaGB's DirectAdmin panel:

  1. Go to DirectAdmin › DNS Management.
  2. Select your domain.
  3. Click Add Record.
  4. Enter the following values:
Name:  *
Type:  A
Value: [Your Hosting Server IP Address]
TTL:   14400

You can find your server IP in DirectAdmin › Account Manager or by looking up the existing A record for your domain. After saving, allow 5–30 minutes for DNS propagation, then verify with:

nslookup test.yourdomain.com

The response should return your server's IP address.

Cloudflare tip: If Cloudflare manages your DNS, add a Wildcard A record (Name: *, Type: A, Content: your server IP) and set the Proxy Status to DNS only (grey cloud), not Proxied (orange). Let's Encrypt Wildcard certificates require a DNS-01 challenge and will fail with HTTP-01 if Cloudflare is proxying the wildcard record.

Step 4 — Install a Wildcard SSL Certificate

A Wildcard SSL certificate (*.yourdomain.com) secures every sub-site you create without needing a separate certificate each time. To request Let's Encrypt Wildcard via DirectAdmin on AsiaGB:

  1. Go to DirectAdmin › SSL Certificates.
  2. Choose Free & automatic certificate from Let's Encrypt.
  3. Enter both yourdomain.com and *.yourdomain.com in the domain field.
  4. Select the ACME DNS-01 challenge method (required for wildcards).
  5. Click Save.

Alternatively, AsiaGB offers commercial Wildcard SSL certificates that can be verified via email or file-based methods and are issued within 15 minutes. Verify the certificate is working correctly with:

openssl s_client -connect test.yourdomain.com:443 \
  -servername test.yourdomain.com 2>/dev/null \
  | openssl x509 -noout -subject -altnames

The output should include DNS:*.yourdomain.com in the Subject Alternative Names.

Step 5 — Add Your First Sub-site

With DNS and SSL in place, adding sub-sites is straightforward:

  1. Go to My Sites › Network Admin › Sites.
  2. Click Add New.
  3. Enter the Site Address (the subdomain slug) — for example, type shop to create shop.yourdomain.com.
  4. Fill in the Site Title, Site Language, and Admin Email.
  5. Click Add Site.

After adding the site, visit https://shop.yourdomain.com in your browser. You should see the WordPress default theme. Accessing https://shop.yourdomain.com/wp-admin should bring up the sub-site's dashboard.

Step 6 — Managing Plugins and Themes Across the Network

Plugin and theme management in Multisite works differently from a standard single-site installation because there are two levels of control.

Network-Activated Plugins

A plugin activated at the Network level applies to every sub-site automatically, and sub-site admins cannot deactivate it. Use this for network-wide security, caching, and essential infrastructure:

# Plugins commonly activated at Network level
- Wordfence Security    (network-wide firewall and malware scanning)
- LiteSpeed Cache       (server-level cache for all sub-sites)
- Yoast SEO            (consistent SEO configuration)
- WP Mail SMTP         (single outgoing email server for all sub-sites)

Per-Site Plugin Activation

To allow sub-site admins to activate plugins independently, go to Network Admin › Settings › Network Settings and enable "Allow site administrators to install plugins". Sub-site admins can then activate (but not install) plugins that the Network Admin has already uploaded.

Themes

Themes must be installed at the Network Admin level before any sub-site can use them. From Network Admin › Themes, click "Network Enable" to make a theme available to all sub-sites, or enable it on a per-site basis from the sub-site's own Appearance settings.

Performance Tuning in wp-config.php

Running multiple sites through one WordPress install can increase memory usage. These additions to wp-config.php help keep things running smoothly:

/* Multisite Performance Tweaks */

// Increase memory for the network
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

// Disable storage quota checks (manage quotas in Network Settings instead)
define( 'UPLOAD_SPACE_CHECK_DISABLED', true );

// Limit post revisions per post
define( 'WP_POST_REVISIONS', 5 );

// Increase autosave interval (seconds)
define( 'AUTOSAVE_INTERVAL', 120 );

If your server has a custom upload path configuration, explicitly define the uploads directory to prevent path resolution issues:

// Explicitly set the uploads directory
define( 'UPLOADS', 'wp-content/uploads' );

Troubleshooting Common Issues

Most problems encountered after enabling Multisite subdomain mode fall into a few repeating categories.

"Site not found" or blank page when visiting a sub-site

This almost always means the Wildcard DNS record has not propagated yet, or the web server is not accepting requests for that subdomain. Check with nslookup shop.yourdomain.com first. If DNS is resolving correctly but the site still fails, verify that your Apache VirtualHost or DirectAdmin configuration accepts wildcard subdomain requests. In some DirectAdmin setups, you must create a * subdomain entry under Subdomains to generate the corresponding Virtual Host configuration.

SSL error on new sub-sites

If you are using individual Let's Encrypt certificates rather than a Wildcard, you must issue a new certificate every time you create a sub-site, which quickly becomes impractical. Switch to a Wildcard certificate if you have not already. If you have a Wildcard in place and are still seeing SSL errors, check whether the certificate auto-renewal is working and that the renewed certificate still covers *.yourdomain.com.

Redirect loop or Mixed Content warnings on HTTPS

This occurs when WordPress has stored http:// URLs in the database for the site URL or home options but the server forces HTTPS. Add these lines to wp-config.php:

// Force HTTPS for admin and all sub-sites
define( 'FORCE_SSL_ADMIN', true );

// Required if WordPress sits behind a reverse proxy or load balancer
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] )
     && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
    $_SERVER['HTTPS'] = 'on';
}

Sub-site admin cannot see expected plugins

The Network Admin must both upload and "Network Enable" (or make available to sites) a plugin before any sub-site admin can see and activate it. Go to Network Admin › Plugins, find the plugin, and click "Network Activate" or "Enable" depending on your access model.

Frequently Asked Questions

What kind of hosting does WordPress Multisite subdomain mode require?

You need hosting that supports Wildcard DNS and Wildcard SSL certificates, because each sub-site opens at its own subdomain such as site1.yourdomain.com. Your DNS zone must have a Wildcard A Record pointing to your server, and your SSL must cover *.yourdomain.com. Hosting that lets you edit your own DNS zone file and install Wildcard SSL independently — such as AsiaGB shared hosting with DirectAdmin — makes the entire process straightforward.

Can I use my existing plugins after enabling Multisite?

Most plugins work normally. The key difference is that only the Network Admin can activate plugins at the network level. Sub-site admins can activate plugins for their own site if the Network Admin permits it. Plugins built without Multisite awareness may misbehave when Network-activated. Always test in staging before rolling out to production.

What is the difference between Multisite subdomain and subdirectory mode?

Subdomain mode (site1.domain.com) works on both new and existing WordPress installs, and each sub-site URL appears independent — ideal for managing multiple clients. A Wildcard SSL covers all subdomains at once. Subdirectory mode (domain.com/site1) skips the DNS requirement but can only be enabled on a brand-new WordPress installation, not on one already in use for more than a month.

Can I delete a sub-site from the Network without losing its data?

Yes, from Network Admin › Sites › Delete. A full delete removes the database tables and uploaded files for that sub-site. To preserve content, export it via Tools › Export on the sub-site before deleting. The Archive and Spam options hide or suspend a sub-site without deleting any data, useful when you want a temporary suspension rather than permanent removal.

Hosting Optimised for WordPress

AsiaGB Hosting supports PHP 8.3, MySQL, LiteSpeed Cache, and WordPress Toolkit. Plans start at 500 THB/year.

View Hosting Plans