Multisite Removal



I currently manage multiple WordPress sites. On one domain I setup a  Multisite configuration. Later the client decided that it was not necessary and we set about removing it.

Uninstalling Multisite involves undoing all of the work you did to install it in the first place, so let’s go through it step by step:

1. Back up all your files! It’s better to be safe rather than sorry. You might like to check outSnapshot by WPMU DEV.

2. Login to your WordPress site via FTP or your site’s cPanel. If you’re using cPanel, head to File Manager to access your site’s files.

3. Open up the wp-config.php file and delete the following code:

define( ‘MULTISITE’, true );
define( ‘SUBDOMAIN_INSTALL’, false );
$base = ‘/wordpress/’;
define( ‘DOMAIN_CURRENT_SITE’, ‘localhost’ );
define( ‘PATH_CURRENT_SITE’, ‘/wordpress/’ );
define( ‘SITE_ID_CURRENT_SITE’, 1 );
define( ‘BLOG_ID_CURRENT_SITE’, 1 );

4. You will also need to edit the following line in your wp-config.php file and set it to “false”:

define(‘WP_ALLOW_MULTISITE’, true);

5. Next, you will need to edit your .htaccess file, which is in the root of your WordPress install:

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index.php$ – [L]# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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]

6. Finally, you’ll need to drop the following global tables in your database. phpMyAdmin is probably the easiest software to do this with you use cPanel, though you can use whatever method you like:

wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta

7. And now you’re all done and multisite should be gone from your WordPress install.