WordPress Multisite to Single Site Conversion Guide
You set up WordPress multisite years ago.
You were going to run 3 or 4 sites on one installation. Save money. Share themes and plugins. Centralized management.
But that never happened. One site became the main site. The other sites got ignored.
Now you're managing a complex multisite setup for just one active site. It's overhead you don't need. Plugin compatibility is a nightmare. Updates are risky because they affect all networks. You can't customize the site the way single-site WordPress allows.
You want to convert back to single site WordPress.
But you don't know how. There's no "convert" button. The WordPress documentation is vague. You're afraid if you do it wrong, you'll lose your content or break your site.
A client of ours had exactly this problem. They ran a multisite with 7 subsites. Only 1 had actual content. The other 6 were abandoned test sites. They wanted to delete the multisite, convert the main site to single site, and simplify everything.
They tried converting on their own. They disabled the multisite network. Content disappeared. Database was a mess. URLs broke. They called us in a panic.
It took us 3 days to fix because they didn't follow the right process. The conversion itself is actually straightforward if you know the steps.
Why Convert Multisite to Single Site
Multisite has overhead. Single site is simpler.
- Complexity: Multisite is harder to manage, update, and troubleshoot
- Plugin compatibility: Many plugins don't work on multisite or work differently
- Theme customization: Limited by multisite restrictions
- Performance: Multisite can be slower than optimized single site
- Hosting: Some hosts don't support or charge extra for multisite
- You only need one site: Why pay for and manage multisite complexity?
Before You Start: Understand What You're Doing
This is a destructive process. You cannot easily undo it. Plan carefully.
What happens during conversion
- All subsites are deleted (their content is lost unless exported)
- Network structure is removed from database
- Main site becomes a standard single-site WordPress
- URLs change from example.com/site1/ to example.com/ (if using subdirectories)
- Multisite-specific database tables are removed
- Plugin/theme compatibility might change
Data you need to back up
- Entire multisite database
- All files in wp-content/
- wp-config.php and .htaccess
- Any custom code or modifications
Do not proceed without complete backup.
Which sites to keep
You have options:
- Keep main site only: Delete all subsites, convert main to single
- Merge all sites into one: Migrate content from all subsites into main site
- Keep one subsite: Export subsite content, delete all others, convert main, then import
Decide this before starting.
Step 1: Complete Backup (Non-Negotiable)
Back up everything before touching anything. You cannot undo this process.
Backup your database
- Log into phpMyAdmin
- Select your WordPress database
- Click "Export"
- Format: SQL
- Click "Go"
- Save the .sql file on your computer
Backup your files
- Use FTP or SFTP
- Download entire wp-content/ folder
- Download wp-config.php
- Download .htaccess
- Download wp/ (WordPress core, if you want)
- Store on computer and cloud storage (Google Drive, Dropbox, etc.)
Use backup plugin
- Install UpdraftPlus or Duplicator
- Run full backup
- Download backup file
- This gives you a complete site snapshot
Do not skip backup. Do not proceed without it.
Step 2: Document Your Multisite Structure
Know what you have before you delete it.
List all sites in your network
- Log into WordPress as super admin
- Go to My Sites > Network Admin > Sites
- Take a screenshot of all sites listed
- Note each site's:
- URL (example.com or example.com/site2/)
- Site ID number
- Date created
- Number of posts/pages
- Status (active/archived/deleted)
Document which site is the "main" site
The main site is usually:
- Site ID 1
- Your primary domain (not a subdomain or subdirectory)
- Contains your main content
Export content from subsites you want to keep
Before deleting any subsite, export its content.
- Go to subsite as admin
- Go to Tools > Export
- Select "All Content"
- Click "Download Export File"
- This creates an .xml file with all posts, pages, comments, etc.
- Repeat for each subsite you want to preserve
Do this for every subsite. If you delete without exporting, content is gone forever.
Step 3: Delete Unnecessary Subsites
Remove all subsites except the main one.
Delete a subsite
- Go to Network Admin > Sites
- Click the subsite you want to delete
- Go to "Settings" tab
- Scroll to bottom
- Click "Delete Site"
- Confirm
- Site is deleted (this is permanent)
Be careful with deletion
Make absolutely sure you exported content before deleting.
Deletion removes:
- All posts, pages, and content
- All users (except super admin)
- All database tables for that site
- All files in that site's directory
Keep the main site
Do NOT delete site ID 1 (the main site).
Only keep site ID 1. Delete all other subsites.
Step 4: Deactivate Multisite in wp-config.php
This removes the network structure from WordPress.
Access wp-config.php
- Connect via FTP
- Find wp-config.php in WordPress root
- Download it
- Open in text editor
Find multisite configuration
Look for these lines:
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 );
Change MULTISITE to false
Change this:
define( 'MULTISITE', true );
To this:
define( 'MULTISITE', false );
Delete the rest
Delete (or comment out with //) these lines:
// 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 );
Save and upload
- Save wp-config.php
- Upload it back to WordPress root
- Overwrite the original
After this step, your WordPress will stop functioning as multisite.
Step 5: Remove Multisite Tables from Database
Multisite uses special database tables. Remove them.
Identify multisite tables
Multisite adds these tables (in addition to standard single-site tables):
- wp_blogs
- wp_blog_versions
- wp_signups
- wp_site
- wp_sitemeta
- wp_registration_log
Also any site-specific tables like wp_2_posts, wp_2_users, wp_3_posts, etc.
(The number corresponds to site ID.)
Delete via phpMyAdmin
- Open phpMyAdmin
- Select your database
- For each multisite table:
- Check the checkbox next to the table name
- Select "Drop" from the dropdown
- Confirm deletion
Tables to KEEP
These are your main site's tables. Do NOT delete them.
- wp_users (main site users)
- wp_posts (main site posts)
- wp_postmeta
- wp_comments
- wp_commentmeta
- wp_links
- wp_options (main site settings)
- wp_terms
- wp_termmeta
- wp_term_relationships
- wp_term_taxonomy
Be very careful
Deleting the wrong tables will destroy your site.
Only delete tables you're sure about. When in doubt, ask in WordPress support forums with table names listed.
Step 6: Clean Up wp_options Table
Multisite settings in options table need to be removed.
Delete multisite-specific options
In phpMyAdmin, go to wp_options table and delete rows with these option_names:
- siteurl (if it contains network settings)
- ms_files_rewriting
- upload_path (if multisite-specific)
- active_sitewide_plugins
- active_plugins (for network-wide plugins)
How to delete in phpMyAdmin
- Open wp_options table
- Click "Search"
- Search for option_name: "siteurl"
- Find the row that says "ms_files_rewriting" or similar
- Click "Edit"
- Delete the option_value
- Click "Go"
- Repeat for each multisite option
Alternatively: Use SQL command in phpMyAdmin:
DELETE FROM wp_options WHERE option_name IN ( 'siteurl', 'ms_files_rewriting', 'active_sitewide_plugins' );
Step 7: Update wp_users and wp_usermeta
In multisite, users have special capabilities. Update them for single site.
Remove multisite capabilities
In phpMyAdmin, run this SQL:
UPDATE wp_usermeta SET meta_key = 'wp_capabilities' WHERE meta_key = 'wp_X_capabilities';
(Replace X with site ID if you know it, or use LIKE to find all.)
Or manually via phpMyAdmin
- Go to wp_usermeta table
- Find rows where meta_key contains "capabilities"
- Rename multisite keys to single-site keys
- Example: wp_2_capabilities ā wp_capabilities
Step 8: Fix URLs and Site Settings
After conversion, your site URLs might be broken.
Update site URL
- Log into WordPress wp-admin
- Go to Settings > General
- Update "WordPress Address (URL)" to your main domain
- Update "Site Address (URL)" to your main domain
- Make sure they're both the same and match your actual domain
- Click Save
If you can't access wp-admin
Update via wp-config.php:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
If URLs are still wrong
Use Search and Replace plugin:
- Install "Better Find and Replace" plugin
- Go to Tools > Better Find and Replace
- Find old URLs: https://example.com/site1/
- Replace with: https://example.com/
- Click Replace All
Step 9: Update .htaccess for Single Site
Multisite .htaccess is complex. Simplify it for single site.
Check your .htaccess
- Connect via FTP
- Download .htaccess from WordPress root
- Open in text editor
Multisite .htaccess looks like this
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]
Replace with standard single-site .htaccess
Replace entire file with this:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Save and upload
- Save the new .htaccess
- Upload it back to WordPress root
- Overwrite the original
Step 10: Import Subsite Content (If Needed)
If you want to preserve content from deleted subsites, import it now.
Import .xml file
- Go to Tools > Import
- Click "WordPress"
- Install "WordPress Importer" if not installed
- Upload the .xml file you exported earlier
- Select which author to assign posts to
- Click "Submit"
- All posts/pages from subsite are imported
Be aware of duplicates
If you're importing into the main site and it already has content with same titles, you'll get duplicates. Be selective about what you import.
Clean up after import
- Check imported posts for broken links
- Update internal links if needed
- Fix author information if necessary
- Update featured images if they didn't transfer
Step 11: Test Everything
Don't assume it worked. Test thoroughly.
Test homepage
- Does homepage load?
- Are images displaying?
- Do navigation menus work?
Test posts and pages
- Can you view individual posts?
- Do links work?
- Are images showing?
- Do comments load?
Test admin functions
- Can you create new post?
- Can you edit existing post?
- Can you upload media?
- Do plugins work?
- Can you manage users?
Test on multiple devices
- Desktop browser
- Mobile browser
- Tablet
Check database for errors
Run repair tool:
- Add to wp-config.php: define( 'WP_ALLOW_REPAIR', true );
- Visit yoursite.com/wp-admin/maint/repair.php
- Let WordPress scan and repair database
- Remove the line from wp-config.php when done
Step 12: Enable Debug Logging if Issues
If something is broken after conversion, enable debug to see errors.
Enable debug mode
- Open wp-config.php
- Add before "That's all, stop editing!":
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'WP_DEBUG_LOG', true ); - Save and upload
Check errors
- Load your site (to trigger errors)
- Download debug.log from wp-content/ via FTP
- Look for errors
- Search for "error" or "fatal" in the file
Common post-conversion errors
| Error | Cause | Fix |
|---|---|---|
| "Table wp_X_posts doesn't exist" | Subsite tables weren't deleted | Delete those tables from phpMyAdmin |
| "Error establishing database connection" | Database prefix is wrong | Check wp-config.php prefix matches table names |
| "Undefined index: blog_id" | Multisite code still running | Verify MULTISITE is false in wp-config.php |
| "Plugin X requires multisite" | Plugin doesn't work on single site | Deactivate and delete that plugin |
| White screen of death | PHP memory limit too low or fatal error | Check debug.log for specific error, increase memory |
Step 13: Update Plugin and Theme Settings
Some plugins and themes have multisite-specific settings.
Check plugin compatibility
- Go to Plugins > Installed Plugins
- Look for any plugins that say "Network Only"
- These won't work on single site
- Deactivate and delete them
Update plugin settings
- Go through each plugin settings
- Look for multisite-specific options
- Update them for single-site mode
- Example: "Network path" settings need updating
Test theme
- Go to Appearance > Themes
- Activate your theme
- Check if it looks correct
- Check theme customizer works
- Test theme settings
Real-World Multisite to Single Site Conversion
Scenario: A publishing network had 7 multisite blogs. Only the main blog had active content. The others were abandoned test sites from years ago. They wanted to delete the multisite and convert to single-site WordPress for simplicity.
What they tried:
- Deleted subsites without exporting content
- Changed MULTISITE to false in wp-config.php
- Deleted the wp_blogs table
- Tried to access site
- Got "Error establishing database connection"
- Panicked and called us
What went wrong:
- They deleted content they thought was backed up
- They didn't clean up wp_options properly
- They didn't update user capabilities
- Leftover multisite database entries caused conflicts
Our fix:
- Restored from database backup
- Exported remaining subsite content
- Deleted subsites properly
- Removed all multisite-specific wp_options entries
- Updated wp_usermeta capabilities
- Changed MULTISITE to false
- Updated .htaccess for single site
- Tested thoroughly
- Conversion successful
What they should have done: Follow these 13 steps in order. Don't skip steps. Take your time.
Multisite to Single Site Conversion Checklist
Converting multisite to single site?
- ā Complete full database and file backup
- ā Document all multisite sites and their URLs
- ā Export content from all subsites you want to keep (.xml files)
- ā Delete all subsites except main site
- ā Change MULTISITE to false in wp-config.php
- ā Delete multisite-specific lines from wp-config.php
- ā Remove multisite tables from database (wp_blogs, wp_site, etc.)
- ā Clean up wp_options (remove multisite settings)
- ā Update wp_usermeta capabilities (remove multisite user meta)
- ā Update site URL in Settings > General
- ā Replace .htaccess with single-site version
- ā Import subsite content if needed
- ā Test homepage, posts, admin functions on multiple devices
- ā Run database repair tool
- ā Enable debug logging if errors occur
- ā Deactivate/delete multisite-only plugins
- ā Update remaining plugin settings for single-site mode
- ā Test theme and theme customizer
- ā Remove WP_ALLOW_REPAIR and WP_DEBUG lines after testing
When to Contact Hosting Support
Contact them if:
- You can't access phpMyAdmin to manage database
- You need help backing up multisite database
- You can't access FTP to modify .htaccess
- You get "permission denied" errors
- After conversion, site is completely broken and you need emergency restore
- You need help identifying which tables to delete
What to tell them:
"I'm converting WordPress multisite to single site. I need help deleting the old multisite tables and restoring from backup if something goes wrong. Can you assist?"
Most hosting has done this and can help in 1-2 hours.
Preventing Multisite Disasters
1. Always test on staging first
If possible, test this entire conversion on a staging copy of your site before doing it on production.
2. Take multiple backups
Database backup, full site backup, exported .xml files. Have 3-4 versions stored locally and in cloud.
3. Document everything
Write down each step as you do it. If something breaks, you'll know exactly what you changed.
4. Don't rush
Do this on a day when you have 4-5 hours available. Don't do it on a Friday afternoon.
5. Have rollback plan
If anything goes wrong, you should be able to restore from backup in 30 minutes. Know how to do that.
The Real Talk
Multisite to single site conversion feels risky because it is risky. You're changing fundamental WordPress architecture. Database tables are being deleted. Configuration is being rewritten. One wrong step and your site breaks.
But here's what I've learned: The risk is manageable if you take it seriously.
This is not a quick 5-minute task. This is a 2-3 hour job that requires focus and care. If you do it tired or in a hurry, you'll make mistakes.
Follow the 13 steps exactly. Don't skip any. Don't combine steps. Work through them methodically.
And most importantly: Take full backup before you start. If something goes wrong, you can restore and try again.
Multisite conversion isn't difficult. It's just tedious and consequence-heavy. Respect that and you'll be fine.
Your single-site WordPress will be simpler, faster, and easier to manage. It's worth the 3 hours of careful work.
