Change Single WP site into Multi-Site (MS)
WordPress Multisite is an excellent feature. Even if you want to use only one site, you’d better to create a MS wordpress installation, and then use the first sub-site as the MAIN SINGLE SITE. (If you dont know MS functionality fully, at first, I RECOMMEND YOU TO SPEND ABOUT A HALF AN HOUR to understand what it is. You can read about it here )
Then, you can start:
(Step 1) Setup the main domain
Let’s say, you want to setup MultiSite WordPress at
example.com, having like:
Now let’s say, you are migrating
james.de (or even
example.com dashboard, create a sub-site named
james. Now, remember which ID is assigned to that sub-site
Let’s say, it is 2 (note usage of this number in the rest of this tutorial. OF COURSE, YOU SHOULD CHANGE IT WITH YOUR ACTUAL ID).
(Step 2) edit SQL with phpMyAdmin
In most cases, I wont recommend to use the built-in Export/Import feature in such cases, because you might lose IDs, permalinks and etc.. So, the best way is to migrate UNTOUCHED DB correctly. During the migration, we will have to REPLACE SOME STRINGS INSIDE DATABASE, for which I HIGHLY RECOMMEND Database Migrator script (instead of simple TEXT-EDITORS, because if you’ll replace strings manually using text-editors, then SERIALIZED ARRAYS wont be re-calculated, and site wont function correctly! ).
At first, Export database SQL file from
james.deusing phpMyAdmin (Note, make 1 additional copy of that SQL for a backup). Now, in the SQL file, replace all occurrences of:
`wp_2_( After replacement, just rename
wp_users[and same with
w_2_usermeta], because they should stay as is )
example.com/james/(also, read [popupi 1]THIS NOTICE (popup)[/popupi] after conversion )
/uploads/sites/2/(note,it’s a bit tricky… After replacements, manually search for
/uploads/phrase, to ensure that you havent accidentally replaced external links i.e.
(Step 3) Avoid user ID conflicts
Now remains most important part: users! To avoid conflict between user IDs, enter in
example.com database: in
wp_usermeta, replace the ADMINISTRATOR (and all other users) IDs to random number i.e. 321 (WHICH USER ID DOESNT EXIST IN
(Step 4) Move files
Now, Files & Folders: move all contents from
Also, do this check in Database.
(Step 5) Importing DB
At first, delete in
example.com database, delete all tables starting with
w_2_, and now I think you are ready to import the
james.de‘s our modified SQL file. (During import, if there happens any SQL errors, then fix them – BTW, another recommended way could be to import the tables one-by-one usng PHPMYADMIN’s SQL Tab, where you can copy&paste contents from SQL file to be executed directly. Thus, you will see directly which table might give you import errors).
(Step 6) Specific notes
After importing, read these [popupi 3]notes (popup).[/popupi]
If Import is successful, then visit your site! Congratulations!
(p.s. In addition, you can read these [popupi 2]nice tutorials (popup)[/popupi] too.)
If you find issues in this tutorial, or you want custom help of programmer, you can contact http://itask.software/contact-us/.