Easy Way To Uninstall WordPress Multisite And Convert it To A Single WordPress Site

WordPress Multisite is a powerful solution for launching several websites off just one WordPress install.

I have been struggling and squeezing my brain for months to find an easy simple way to uninstall WordPress Multisite and converted it into a single WordPress Site. I went into many online tutorials most of them were written 3-5 years ago, very useful information at the time but today they are very outdated.

People who know me, will tell you that I never give up.

Yesterday, I have found what was looking for, the easiest and simplest way to uninstall WordPress Multisite and convert it to a single WordPress site just in 5 minutes and without any hassle thanks to the valuable tutorial of Raelene Wilson posted on February 15, 2015.

Uninstalling Multisite In 5 Easy Steps

1. Backup your site

It is always better to be safe than sorry.
In case you have cPanel, I recommend you to make a complete SQL backups using My PhpAdmin a very usefull tool and download it to your local computer.

sql backup

Also you can download to your local computer a XML backup file of all content using WordPress export tools.

wp-export-tools

2. Edit wp-config.php file

Login to your WordPress site via FTP or cPanel, whichever method you prefer. If you’re using cPanel, go to File Manager to access your site’s files.

Open your 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 );

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);

3. Edit .htaccess file

Next, you will need to edit your .htaccess file, which is in the root of your WordPress install. Replace the rules you added to create your Multisite install with the following new rules:

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]

4. Drop Database Tables

wp-drop-tables

Lastly, you will need to drop the following global tables in your database. phpMyAdmin is probably the easiest software to do this with if 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

The next time you log in to your site Multisite should be gone from your WordPress install.

5. Match Permalinks

Before you start making those changes, make sure to take a snapshot of your Permalinks setting and once you are done, use the same setting.

Enjoy
Michel Noujaim