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

  1. All subsites are deleted (their content is lost unless exported)
  2. Network structure is removed from database
  3. Main site becomes a standard single-site WordPress
  4. URLs change from example.com/site1/ to example.com/ (if using subdirectories)
  5. Multisite-specific database tables are removed
  6. 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

  1. Log into phpMyAdmin
  2. Select your WordPress database
  3. Click "Export"
  4. Format: SQL
  5. Click "Go"
  6. Save the .sql file on your computer

Backup your files

  1. Use FTP or SFTP
  2. Download entire wp-content/ folder
  3. Download wp-config.php
  4. Download .htaccess
  5. Download wp/ (WordPress core, if you want)
  6. Store on computer and cloud storage (Google Drive, Dropbox, etc.)

Use backup plugin

  1. Install UpdraftPlus or Duplicator
  2. Run full backup
  3. Download backup file
  4. 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

  1. Log into WordPress as super admin
  2. Go to My Sites > Network Admin > Sites
  3. Take a screenshot of all sites listed
  4. 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.

  1. Go to subsite as admin
  2. Go to Tools > Export
  3. Select "All Content"
  4. Click "Download Export File"
  5. This creates an .xml file with all posts, pages, comments, etc.
  6. 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

  1. Go to Network Admin > Sites
  2. Click the subsite you want to delete
  3. Go to "Settings" tab
  4. Scroll to bottom
  5. Click "Delete Site"
  6. Confirm
  7. 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

  1. Connect via FTP
  2. Find wp-config.php in WordPress root
  3. Download it
  4. 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

  1. Save wp-config.php
  2. Upload it back to WordPress root
  3. 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

  1. Open phpMyAdmin
  2. Select your database
  3. For each multisite table:
    1. Check the checkbox next to the table name
    2. Select "Drop" from the dropdown
    3. 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

  1. Open wp_options table
  2. Click "Search"
  3. Search for option_name: "siteurl"
  4. Find the row that says "ms_files_rewriting" or similar
  5. Click "Edit"
  6. Delete the option_value
  7. Click "Go"
  8. 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

  1. Go to wp_usermeta table
  2. Find rows where meta_key contains "capabilities"
  3. Rename multisite keys to single-site keys
  4. Example: wp_2_capabilities → wp_capabilities

Step 8: Fix URLs and Site Settings

After conversion, your site URLs might be broken.

Update site URL

  1. Log into WordPress wp-admin
  2. Go to Settings > General
  3. Update "WordPress Address (URL)" to your main domain
  4. Update "Site Address (URL)" to your main domain
  5. Make sure they're both the same and match your actual domain
  6. 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:

  1. Install "Better Find and Replace" plugin
  2. Go to Tools > Better Find and Replace
  3. Find old URLs: https://example.com/site1/
  4. Replace with: https://example.com/
  5. Click Replace All

Step 9: Update .htaccess for Single Site

Multisite .htaccess is complex. Simplify it for single site.

Check your .htaccess

  1. Connect via FTP
  2. Download .htaccess from WordPress root
  3. 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

  1. Save the new .htaccess
  2. Upload it back to WordPress root
  3. 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

  1. Go to Tools > Import
  2. Click "WordPress"
  3. Install "WordPress Importer" if not installed
  4. Upload the .xml file you exported earlier
  5. Select which author to assign posts to
  6. Click "Submit"
  7. 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

  1. Check imported posts for broken links
  2. Update internal links if needed
  3. Fix author information if necessary
  4. 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:

  1. Add to wp-config.php: define( 'WP_ALLOW_REPAIR', true );
  2. Visit yoursite.com/wp-admin/maint/repair.php
  3. Let WordPress scan and repair database
  4. 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

  1. Open wp-config.php
  2. Add before "That's all, stop editing!":
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    define( 'WP_DEBUG_LOG', true );
  3. Save and upload

Check errors

  1. Load your site (to trigger errors)
  2. Download debug.log from wp-content/ via FTP
  3. Look for errors
  4. 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

  1. Go to Plugins > Installed Plugins
  2. Look for any plugins that say "Network Only"
  3. These won't work on single site
  4. Deactivate and delete them

Update plugin settings

  1. Go through each plugin settings
  2. Look for multisite-specific options
  3. Update them for single-site mode
  4. Example: "Network path" settings need updating

Test theme

  1. Go to Appearance > Themes
  2. Activate your theme
  3. Check if it looks correct
  4. Check theme customizer works
  5. 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:

  1. Deleted subsites without exporting content
  2. Changed MULTISITE to false in wp-config.php
  3. Deleted the wp_blogs table
  4. Tried to access site
  5. Got "Error establishing database connection"
  6. Panicked and called us

What went wrong:

  1. They deleted content they thought was backed up
  2. They didn't clean up wp_options properly
  3. They didn't update user capabilities
  4. Leftover multisite database entries caused conflicts

Our fix:

  1. Restored from database backup
  2. Exported remaining subsite content
  3. Deleted subsites properly
  4. Removed all multisite-specific wp_options entries
  5. Updated wp_usermeta capabilities
  6. Changed MULTISITE to false
  7. Updated .htaccess for single site
  8. Tested thoroughly
  9. 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.