How to Migrate an Oxygen Website with ZERO Chance of Failure

More about this video

One thing I see over and over in the Oxygen community is people struggling with website migrations. Either the migrations fail and they get frustrated, or they complain about being in a position where they’re basically crossing their fingers hoping the migration doesn’t blow up in their face when all is said and done (even though it migrates fine most of the time).

Well … all your frustration ends today.

After you watch this video, you’ll have a 100% success rate with your Oxygen website migrations. Even if the migration fails, nobody will know it failed because of the technique I’m about to show you. The migration will only go live if it’s successful!

Additionally, I’m going to show you how to use All In One Migration in combination with this technique to ensure that your migrations are always easy and seamless.

Full written instructions for Mac & Windows:

Join the Inner Circle:
Get Automatic.css:

0:00 Intro & Context
02:10 Create Clean WP Install
02:46 Export Origin Site With All-In-One WP Migration
04:00 DNS Magic Trick
07:43 Import Exported Package File
09:35 Save Permalinks & Re-Sign Shortcodes
10:27 Verify a Clean Migration
11:30 Reset Your Hosts File
11:50 Clear DNS Cache
12:35 Change DNS A Record in Domain Dashboard

Video Transcript

Some of you are really going to love me after this video. We’re going to talk about migrating an oxygen website properly. We’re going to talk about 100% success rates on oxygen migrations. And I’m going to show you a little magic trick to ensure that even if your migration fails, nobody knows that it failed. And you can fix it before anybody sees it because of this magic trick. Basically, the migration is only going to be live for everybody on the internet if it’s successful. If that interests you and trust me, I keep my ear, I keep my eyes to the oxygen community. I see people talking about migration failures all the time, migration frustrations all the time, asking for help on migrations. This video is going to end it for you forever for good. If you’re one of those people who’s getting ready to migrate a website to the client’s live domain and your process, you have a process and it works pretty good, but you’re still like crossing your fingers hoping for the best, hoping it doesn’t blow up in your face, then you are going to love this video because again, this magic trick ensures that you cannot fail, at least not publicly.

Nobody will know that you failed if it fails and you have time to fix it and it’s all good in the hood. Okay, so let’s go ahead and I’m going to share my screen. We’re just going to do some pretending today. Okay, this is my agency website. It’s like a small little one page website. I am going to migrate this to a domain. I’m going to migrate it to a domain that I don’t even own, but we’re going to pretend that I own it. Okay, and the website is this. This is a test Okay, this is a test Again, you can see it’s a parked domain. All right, and you’re like, Kevin, how are you going to migrate this to a parked domain because you can’t log in, you can’t change the DNS, you exactly, exactly because when you migrate a website to a client’s website in oxygen, you don’t want to change the DNS before you do the migration.

Okay, you don’t want to try to time this up. You don’t want to hope for the best. You want to verify that the website works on the client’s live domain before you switch the DNS and that’s where the magic trick comes into play. So step one and this is going to be different depending on where you host your websites, the step one is to create a clean WordPress install in your hosting account and we’re going to tell it what domain we are creating this website for or this install for. So I use GridPain, I’m going to go ahead and log into GridPain, I’m going to go to the sites area and I’m just going to add a new website and I’m going to add it at this is a test And then I’m going to choose one of my servers and then I’m going to come down and basically just hit add site. Now while that’s adding the website, we can actually go over to our site we want to migrate and start prepping. So I’m going to go ahead and log in to my source website basically, go to plugins add new and I’m going to add all in one migration.

Now this is a free plugin but if you’re migrating a website that’s over 500 megabytes, you need their unlimited extension. I pulled it up over here on Google. This is created by Surfmask and it’s called the unlimited extension for all in one migration. 69 bucks, it’s well worth it, well, well, well, well, well worth it. It’s going to make your migration absolutely painless. So go and get that if you’re migrating a website over 500 megabytes. I’m going to go ahead and just install on the free version. It’s going to go ahead and install it. I’m going to activate it. And basically what I want to do is just export this website to a file on my computer. That’s the easiest way to do this. I’m going to go all in one export, I’m going to hit the export and choose file. And then it’s going to say preparing to export.

Now while that works, if we go over to GridPain and we go over to page three, we should see this is a test I can click this little single sign on link and it will sign me in to this is a test Except we can’t do that because the DNS has not been switched, right? So here’s where the magic trick comes in. Let’s see if our download is ready. It is. I’m going to download this real quick. All right, and we’re going to go save and it’s downloading there in the background. So let’s go ahead and take care of the magic trick. Basically what the magic trick does is it makes my computer believe that this domain is pointing to the clean WordPress install that I just created on my GridPain server. Okay? So if you look at the else, anybody else that goes to this is going to see this page right here because I don’t, again, I don’t even own this domain, right?

But my computer is going to believe that I own this domain and here’s how we’re going to do it. Now this is different between Mac and Windows. I apologize. I do not have a Windows machine. I haven’t owned a Windows machine and forever, like over a decade. So I can’t walk you through the Windows version. But I will put the instructions in the description of the video below. It’s very, very similar. There’s just some slight differences. Okay? But the first thing we need to do is open up Terminal. So the way I’m going to do that is just go to Spotlight and type in Terminal and it’s going to give me a clean Terminal window right here. So I’m going to type in Sudo, Space, Nano, Space Private, ETC hosts just like that.

And I’ll put these instructions down below. I know it’s very small on my screen. You probably, I don’t think I can, oh, I can zoom in. Let’s do that then. Okay. So right there, let me type it again for you so you can watch. So it’s Sudo, Space, Nano, Space Private, start with that forward slash right there, Private ETC hosts and then hit Enter. And what it’s going to do is ask you for your system password. So I’m going to put in my system password, hit Enter and it’s going to take me into my computer’s host file. I’m going to come down here to all this blank space and this is where we basically map the domain to the IP address. I wrote down the IP address of that server. If we go look, it says it right there.

Okay. I can actually just copy it and then I’m going to go back into terminal and I can paste it. So I’m pasting the IP address and then I want to make the website’s domain name. So this is a test I’m going to paste it again on the next line and I’m going to do the WW version. That way it works either way. This is a test And then I’m going to save these changes and the way you do that in terminal is you hold Control and hit O. You can actually see it right down here. It’s called right out. You write out the changes. So Control O and then it’s going to say file name to write and you just hit Enter. It’s going to tell you it wrote 12 lines.

All right. Now sometimes there’s a caching issue because I’ve already gone to this is a test and pulled up this website. So sometimes if you just open a tab in the same browser, it doesn’t work like this. So there’s two different things you can do. One is you can clear the cache on you can clear the DNS cache, which I’ll show you how to do in a minute or two. You can open a different browser like I’ll open up Brave and it typically works in a different browser. So I’m going to go to this is the test And you can see that even though I don’t own this domain, my computer legit thinks that this goes to that clean word presence all that I just created. And I don’t know my login credential. So what I’m going to do is in grid pane, I’m going to click the single sign on link. And I believe now this Firefox browser or my still in brave, I guess I’m still in brave.

Okay. So now I’m in and you can see this is a clean word press install. So all I’m going to do here is add new and I’m going to go to upload and we have to add the all in one. I’m sorry, I’m not going to go to upload. I’m going to go to search all in one migration. And I’m just going to add the exact same plugin. And remember, if my website before was over 500 megabytes, I have to also add the unlimited extension. But the file that we just downloaded is like 350. So it should work just fine. So I’m going to go to all in one and I’m going to go to import now. Remember, we did export the first time. Now we’re doing import because we’re on the clean install at this is a test So I’m going to go to all in one import and then I’m going to import from file and I’m going to choose that file on my computer and it’s going to go ahead and upload this file.

I’m telling you guys, if you use all in one migration, you’re never, it’s very, very, I’ve never had a migration fail using all in one. And then even if it did fail, when you’re using this magic trick with the DNS and your host file on your computer, nobody will know that it failed. You’re only going to change the DNS to the new migrated website if you verify that the migration worked. So I’m going to hit proceed on this. It’s basically saying, hey, we’re going to rewrite everything in your database. So you got to obviously say, okay, let’s do that. It says it’s been imported successfully. So now what I have to do is refresh and it’s going to log me out. Okay. So what I’m going to have to do now is go back and do the single sign on again. It should have my credentials, but honestly, I don’t even know what they are. I use, I use last pass for everything.

So there we go. Now I’m in and look, it still says this is a test My computer legit believes that this website is live on the internet. Okay. Now what I can do is verify that the install worked, except it didn’t because there’s with oxygen a few more steps that you have to do. So this is what people see and they’re like, oh, God, it didn’t work. It blew up in my face. I’m freaking out. You got to do the other steps. So we’re going to go to first settings, permalinks, save these twice. So I’m going to hit save, save. Next thing I’m going to do is I’m going to go to oxygen settings, security, sign all short codes, and I just choose everything because it doesn’t actually, it’s not going to break anything.

If something doesn’t have short codes, it’s just going to skip over it. I’m going to hit start because what I see sometimes is people trying to only select the ones they think they need to select and then they miss one and then part of the site’s broken. This just ensures that nothing is going to be broken. So I’m going to go to oxygen settings and I’m going to go to CSS cache, regenerate. You want to regenerate that CSS cache inside of oxygen. And then I visit the site. I see a proper migration. At look, this is a test So this was the client’s real domain. You have migrated the website to the real domain. You have verified that the migration works except nobody else can see it. If anybody else on the internet goes to this is a test, they’re going to see the old one, right?

They’re not going to see this. They’re going to see that parked domain thing. Remember, I don’t even own this domain. Only my computer thinks I own this domain. But I’ve done the migration. I’ve verified that the migration works. Now what I would do is I would go into the DNS of this actual domain that the client owns and I would change the DNS to my server IP address. And boom, it’s done and I don’t have to worry at all. And when you do that change, you don’t have to resize shortcuts. You don’t have to clear your cache. You don’t have to do anything else. It is already done. It’s just going to start working. Okay?

What you do want to do though, you go to terminal and you got to remove this stuff. Okay? So here we go. We’re just taking this out. And then I want to write out the changes. I’m going to hit control O to write them out. Hit inner. It wrote 10 lines. I now want to exit. So I’m going to hit control X and I’m going to exit back to the beginning. Now I will show you how to clear your DNS cache. Okay? So you’re going to type in pseudo and this is long string. And I write it down because I can never remember it. So it’s dscacutilspace-flushcache.

And you hit inner. It’s going to ask you for your system password. You hit inner again. Now our cache should be flushed. So look, if I refresh this, it’s gone. Because remember, only my computer thought that was supposed to happen. And now that I’ve removed those instructions and cleared the cache, it’s gone. This is what everybody else sees. But remember, I have that website on a server programmed for that domain, verified that the migration worked. Now all I have to do is change the IP address. You log into the DNS, change the A record to the new IP address and you are good to go. 100% migration that will never, ever fail on you. And even if it does fail, nobody knows it fails. You can do it again and again and again and again to the live domain until it works, which you won’t have to do if you use all in one migration.

And then once you’ve verified that it works, you swap the A record IP address. Simple as that. Let me know what you think in the comments. If you like this video, hit subscribe, drop a comment, just say thanks. It’s all you have to do. Or drop a bigger comment, whatever doesn’t matter to me. If you have a suggestion for a video, for a training, for whatever you want to see, you can drop that below in the comments as well. All right, guys, I’m out. Do you think we’re allowed to give this order for?