How To Move Absorb Consolidate Standalone Wordpress Site Into A WPMU Subdomain Site

Hello Friends,

I would really appreciate some guidance and assistance on this topic. My understanding of how WPMU manages its SQL database and tables for its subsites is not sufficient to be able to do this myself at the moment. I study fast, but am still new at multisite.

The task is simple, although to be repeated scores of times... (not that I intend or require to script this)

The scenario:

1) I have a fully working Wordpress website, basic install and the like, on a domain, on a hosting server, in the cloud.
2) I want to take this website, and then clone/copy it to my WPMU network as a subdomain site. I'm actually moving the site, and the old site/hosting will be deleted. (DNS records will be updated with registrar and DNS mapping plugin to sort that)

I'm sure this has been done, but researching it is difficult as search engines interpret that I want to upgrade my site to wordpress multisite, when I want to move a site to a separate multisite network as a new site on a subdomain and then remap the domain DNS to it.

Where I'm At:

I can backup the site, the files and the sql database. I can create the subsite on the WPMU installation and upload the sites files using FTP. Plugin issues are a thing, especially when they are critical to the sites functionality... but I rename the folders and tentatively integrate them into the site and possibly network if appropriate. If there's a cleaner way of actually getting the job done, I re-work that and use the array of plugins from wpmudev and my rolodex to improve the setup.

What I don't know how to do is import the SQL database of the site into the WPMU sites SQL database; well actually the tables for the networks subsite. This is important because obviously the SQL tables for the Wordpress site hold all its config data; especially for plugins and customized configs.

Regarding the wpmudev plugin Cloner, my understanding is that is a plugin that clones already existing multisite netwok sites back into the network. So that's not the tool to get the job done. What I need is Cloner but for external sites.

Question!?

How do I clone standalone wordpress installations on different domains and hosting platforms into my multisite network as subdomain sites.

I've got some low-tech solutions:
- create new subsite in network, setup etc
- copy old sites theme into network theme repository, activate etc
- export old site using wordpress exporter
- import files
- handle plugins appropriately by transferring over
- handle any other bugs, notify client of changes in logins or whatever.

But this does not sufficiently handle more complex sites. For example, a site that has extensive masked 301 redirect links for affiliate marketing. The SQL table contains the config for that. Without pulling that across the redirects don't work. This is a problem for sites with 1000's of posts.

I've used a plugin called WPTwin "WP Twin - Clone & Backup WordPress Blogs In Seconds" but
a) it's sketchy depending on the hosting servers php version, memory availability and sql server setup (doesn't work with sql servers in clusters)
b) it only clones to a new installation of wordpress and therefore is just moving the site across which means the site isn't integrated into the multisite network, negating the administration and management benefits that are the whole purpose of the show.

I've looked at SnapShot Pro which saves the site but can it save a site and then restore it into a WPMU multisite network as a subdomain site? From what I can tell that's not its design intention.

So, any ideas?

Can I just export all the tables, rename them with the appropriate prefix eg wp_23_posts and suck them all up? How do the plugins in the multisite installation know/recognize their configs if they are network activated? Does importing the tables and then activating the plugin via the network override the tables? Is there a specific order I have to do this in?

Can you point me in the right direction? I know this should be as simple as export/import SQL, line up the id's, names, access, and BOOM it should just work.

Do you have an outright solution? Does one already exist that I have overlooked? [ this is the part where someone says 'yeah, there's a plugin that does that, here...' and my googling skills are shown to be very-not-1337 ]

I have to handle this to incorporate a range of existing clients websites as to avail to them the benefits of my new WPMU installation. This will be an ongoing activity occurring in my multisite network a technical solution is required.

As always, because of manual activity in the SQL database, backups, testbeds, and restores all have to be done too. >< :slight_frown: ><

Customer .htaccess configs are also presenting themselves as issues. Which is another fun part of the gig. Most of the time this is easily reworked though - that's half the reason why we're doing what we're doing; to improve the clients setup.

If there is no quick fix to this and requires a custom solution and dev I'd be happy to share/donate all documentation and processes to the community.

Sorry for the long post, but it says more detail the better. Plus I hope that this ends up helping someone in the future trying to do the same thing as I've been unable to find a complete resource covering this topic.

Thanks.

Sincerely,

Alex

<edit> added 'Consolidate' to title to improve search engine visibility as this is essentially what the question is about. </edit>

  • Predrag Dubajic

    Hey @alex,

    Hope you're doing well today :slight_smile:

    Thanks for the detailed explanation. We actually have a blog post about migrations that explain in detail how to move sites between single and multisite installs, you can read all about that here:
    https://premium.wpmudev.org/blog/import-export-wordpress-sites-multisite/

    If you already saw that or some things are not clear please let us know and we will do our best to further help you with this.

    Best regards,
    Predrag

  • alex

    Hey Predrag,

    I'm sorry but this information does not resolve my issue at all.

    https://premium.wpmudev.org/blog/import-export-wordpress-sites-multisite/ is pretty much just my explanation of my 'low-tech' method. The main problem being this:

    More specifically, it won’t automatically import your plugins or themes. It also won’t import some of your settings, things such as your permalinks structure, the title of your site, or your timezone settings. You’ll have to go into your new site and set these things up again.

    Essentially "all the important stuff won't be transferred" :wink:

    Same dealio with https://premium.wpmudev.org/blog/migrating-multiple-blogs-into-wordpress-multisite/

    Edit the Configuration Settings For Each Site

    Your widget and plugins settings, as well as your preferred menu navigation, will be lost for each site and unfortunately there’s no way around this. You will need to reconfigure these settings for each of your sites so you can get them looking exactly as they did before.

    This means updating the Customize options in the Appearance > Themes section, updating your logo and navigation, repositioning your widgets and editing the settings for each of your plugins.

    The basic 'wordpress export and import' does not sufficiently handle more complex sites.

    Theme's I'm not too worried about as we will re-dev into Upfront etc.

    It's the plugin configurations and other goodness stored in the SQL tables that I want to export/import and I need to know how to do this?

    It was pointed out in the many sites to multisite post;

    It’s best to check your plugins are compatible with Multisite before copying them across. If a plugin is not supported, search for an alternative in the WordPress Plugin Repository or, better yet, have a look through WPMU DEV’s 140+ plugins.

    And like I said, the solution I've been using is to tentatively integrate them into the site and possibly network if appropriate. If there's a cleaner way of actually getting the job done, I re-work that and use the array of plugins from wpmudev and my rolodex to improve the setup.

    I think I need some higher tech dev help... Of course I can export/import posts and pages but this solution isn't comprehensive enough.

    So, shall we dig into this together? Or does anyone else have some input? Like I said, whatever solution is developed I'm happy to give it away and share with everyone. Lets all figure this one out yah?

    Thanks.

    Sincerely,

    Alex

  • alex

    Making some progress in researching this more. Seems as if Snapshot CAN do it, albeit with a hiccup or two...

    https://premium.wpmudev.org/forums/topic/single-to-multi-site-move-using-snapshot
    https://premium.wpmudev.org/forums/topic/how-to-migrate-a-single-wordpress-site-to-a-multisite-network-using-snapshot
    https://premium.wpmudev.org/forums/topic/need-help-with-snapshot-migration

    I will test and find out.

    Except that now, every post and page that has an image, featured and/or embedded in a post or page, the image URL does NOT have the "sites/xx/" construct inserted into the URLs. ALL of them still have the source construct so all posts and page images throw 500 errors.

    You can change the old URLs of the images and pages to the new URLs by using any of the following solutions.

    https://wordpress.org/plugins/search-and-replace/
    https://github.com/interconnectit/Search-Replace-DB

    Regards,
    Vinod Dalvi

    This should be fun with a 150gb high definition image and wallpaper site I intend to move...

    If anyone has a sleeker way of migrating single sites into a multi-site network please let me know.

  • Adam Czajczyk

    Hey Alex!

    I hope you're well today and I hope you don't mind me jumping into this conversation!

    I've carefully read your question at least two times along with the follow-ups and I think this may be very difficult if possible at all.

    There are a few ways you could go:

    1. Create a fresh "basic" site in your Multisite network and then
    - manually install all necessary plugins and themes
    - manually tweak settings to match the "source" site
    - use WP export/import tool to copy all the content
    - change domain delegation and map the domain to your "target" site (e.g. using our Domain Mapping)

    This would actually mean setting all the site from scratch, so it's not a solution here.

    2. Try giving out Snapshot plugin a try
    - create a "basic" sub-site
    - backup "source site" with Snapshot
    - restore it to a "target" site and then...
    - manually adjust all the settings

    This also requires some "manual" steps and I'm pretty sure will result in some unexpected issues that will have to be identified and solved.

    That said, I think there's no good solution, if any. The article my colleague @Predrag Dubajic suggested covers essential steps that would allow you to import single site into Multisite but usually such sites are not very complex and it's not about "fully automatic incorporation of many complex services into one Multisite network".

    There are two main issues here, in my opinion:

    1. The plugins: some of them will not work in Multisite environment at all and some will behave quite different than on single install

    2. You're absolutely right about that: the database.

    If and only if Multisite database was like a bunch of tables 100% reflecting the single install, differentiated only by number (e.g. sub-site ID) + some "independent" tables carrying only settings related to the network setup - consolidation of multiple single sites into one network would be a piece of cake.

    However, on Multisite setup you've got:
    - some tables related to sub-sites (e.g. wp_2_posts, wp_3_posts etc) and this can be very easily migrated
    - some "common" global tables that include settings and data more or less common for Multisite (and if not common, then at least this is stored in a common tables); the hard part is that the same data and settings for single sites exist and we should find a way to merge.

    This makes the task difficult. I'm not saying this is not possible but in my opinion there's now way to avoid serious and time consuming manual job and there'd be a big chance of errors. I think the only case a full automation may be possible is if following requirements are met:

    - there's a known and established structure (scheme) of target Multisite setup
    - all the "source" sites are of exactly the same configuration; I'm not referring here to the content because it doesn't matter if there'd be 2 posts or 10 000 posts, of course. My point is that WordPress version and configuration, plugins set (including versions) and plugins configuration etc.

    Even then though, to fully automate this task most likely a custom written script or application would be required. Such a tool should take into account these aforementioned conditions and also should have built-in some additional logic, for example:
    - what to do if an incompatibility of WP version or a single plugin occur
    - what to do if there are some settings that wouldn't merge but should have to be overwritten
    - how to handle .htaccess variation
    - how to adjust/replace/handle various tweaks/settings in wp-config, htaccess and/or database that come from the "source" sites and are strictly related to server the source site is on and to its unique themes-plugins-server configuration

    Unfortunately, the list can go on...

    I'm sorry for such a long post but I'd like to give you my thoughts on this as I think this is a very interesting project but I think there's simply no "ready-to-use" tool or a solution, nor there's an easy way to create a universal one.

    If you have any further questions/thoughts on this or I'm just missing something important here, just let me know please and I'll be happy to assist!

    Cheers,
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.