A WordPress Multisite network shares one install across many sites, and every subsite has its own URL. When you migrate or restructure a network, you have to map those Multisite URLs correctly or subsites will break. The fastest way is to paste your URLs into the Multisite URL Converter and let it translate the structure for you.
Subdomain vs subdirectory Multisite
A Multisite network uses one of two URL layouts, fixed when the network is created:
- Subdomain: each site lives on its own subdomain, like
site1.example.comandsite2.example.com. This needs wildcard DNS and a wildcard host setup. - Subdirectory: each site lives in a path, like
example.com/site1andexample.com/site2. No special DNS needed.
You cannot flip between the two by editing a setting. Converting a network from subdirectory to subdomain (or the reverse) means rewriting the URL for every subsite, which is exactly the mapping the converter handles.
Where the network is defined
The layout and the network root are set in wp-config.php:
MULTISITEturns Multisite on.SUBDOMAIN_INSTALListruefor subdomain mode andfalsefor subdirectory mode.DOMAIN_CURRENT_SITEholds the network’s primary domain.
The per-site records live in the database. The wp_blogs table lists every subsite with its domain and path, and wp_site holds the network’s main domain and path. When you move a network, those values plus each subsite’s siteurl and home options all have to line up with the new structure.
Why migrations need careful URL mapping
Each subsite has a distinct domain and path, so a network migration is not one find-and-replace. It is a set of them, one mapping per subsite. Get a single subsite wrong and its admin, media, and links point at the old location.
There is a deeper trap with domain changes. WordPress stores plugin and theme settings as serialized PHP, where string lengths are baked in. A raw SQL UPDATE ... REPLACE corrupts that data because the recorded lengths no longer match. You must use a serialization-aware search-replace, such as wp search-replace from WP-CLI, which unpacks each serialized blob, swaps the value, and repacks it with correct lengths. Always run it across the whole network with the --network flag.
Convert your Multisite URLs in three steps
- Open the Multisite URL Converter and choose your source and target layout, subdomain or subdirectory.
- Paste your network domain and the list of subsite slugs, then read off the mapped old-to-new URL pairs.
- Use each pair as input for a serialization-aware
wp search-replace, after taking a full backup and testing on staging.
Everything runs in your browser, so your domains and slugs never leave your device. Back up the database first, run the replace on a staging copy, and only touch production once the staging network loads cleanly.
Related tools
- wp-config Generator - build the Multisite constants for
wp-config.php. - DB Table Prefix Generator - pick a clean prefix before importing the network database.
- Serialized Data Fixer - repair serialized values broken by a raw search-replace.
Map every subsite, replace with serialization in mind, and your network moves without a single broken URL.