 I'll be back. I will hand back. Thank you very much. My friend works, people in the back are happy, everything's good. So hello, my name is Ed, and I live in Brighton, where I work as a producer at Pragmatic. For all intents and purposes, this means that I spend a lot of my time thinking about websites. Piecing together client requirements, working out how we can best deliver them. I've been thinking quite a lot recently about migrating websites, and more specifically migrating several websites into one. Sometimes I like to take my work home with me, and I like to think about other things. Recently I've been thinking about moving house, and at some point I got confused, melded the two together, and we ended up with a wonderful talk about how migrating content is a bit like moving house. So first thing, obviously moving house absolutely sucks. No matter how many times that you do it, or how many things you think you might be able to do better next time, or after having done it badly the time before, moving house is always an incredible waste of time. Now that's not necessarily to say that it's not worthwhile, it's not exciting, and it brings with it new opportunities, communities, and even just extra space. But it's hard to forget that the process itself just takes so long to actually do. But once you've done it a few times, it's easy to get into a rhythm, and you can pick up tricks to make sure that it's done a little bit easier next time. Like bagging up your shopping at the supermarket, you remember this time to put the eggs on top of the cans to prevent yourself a messy heartache later on. That being said, no matter how many times you move, each time is always different to the last. That's true. We will probably be moving most of the same things that we moved before. If you're anything like me, there's probably a whole pile of stuff that you never really unpacked the last time, and they kind of just come along for the ride. They end up back in the attic again wherever you decide to stop. Equally, depending on how many birthdays, Christmases, and iPhone cycles you've stayed on one location for, will also depend on how much more stuff you're going to bring with you this time. But the house that we're going to move to is probably not the house that we moved to last time, and that's the key difference, because we can't just assume that everything is going to fit, and we can't assume that it's going to be easy to get it there either. The amount of stuff that we have to take with us and the complexity of getting it there in the first place really helps to decide whether or not it's something that we're willing to do ourselves or if we get an expert in to help. In the same way, and somewhat unsurprisingly, migrating websites really comes down to the content itself. How much there is, how interconnected it is, how important it is. I'm sure I could probably hire a man in a van to help me move across the street, and 250 feet, a point of reference, is from here to about the end of this corridor. But on the face of it, it seems like you might just laugh at me. And so I could probably just do it myself. I can see it from here. I can probably just pick it up and make a human chain gang list of his table, move it around. But it's entirely likely something's going to break along the way. It's all going to go wrong. Everybody's going to be sad. But there's a definite tipping point when there's just that bit too much to reasonably be able to do yourself without potentially losing something along the way. Equally, unless you're just moving or migrating website hosts, it's likely that your website is being updated or even rebuilt completely, at which point the question of where it's all going to go is vital. So I was thinking about this whilst unpacking some boxes. As I said earlier, I've got a ton of boxes that I haven't unpacked since I moved about seven months ago. So they're probably fine where they were. I thought I'd just think about this instead. I realised that a lot of the things I was doing at work whilst migrating websites actually shared quite a few similarities with Moving House. This was pretty exciting, if only because Moving House is something that we've all done, which means it's something that everybody can understand and relate to. In my job, I use a lot of metaphors. In fact, pretty much every day I'm speaking to somebody somewhere, making some kind of reference or analogy to help better understand the situation and give everybody some common ground to discuss what's going on. Your website is a car. Your hosting is the garage that you're going to park it in. An iframe is a window into somebody else's living room. You can't change the curtains or the decoration, but you can watch their TV. Migrating your website is a lot like Moving House. So, why is it important? What can we learn from this? Collectively, the bulk of us have probably moved house a lot more times than we've migrated websites. Which at the end of the day means that having something else that they're familiar with, clients are familiar with, that you're familiar with just makes it a lot less daunting the next time you do it and discuss it. Moving House is also something that you are deeply involved with. It's all of your stuff. You need to pack it. You need to throw it some of the way. You move it. You break something. Everybody's sad. It's tiring, but it's also quite memorable. But migrating your website isn't always something that you are as deeply involved with. You might know what's going on at a surface level, but you don't have that same connection. It all just kind of happens in the background, which makes it harder to remember and subsequently makes it harder to do again. So, let's draw some lines between the two and see what we can find out. Step one, what have you got? Before you begin actually moving anything, it's essential to find out as much as we can about what we're going to move first. This is true of everything that we move on any scale at any distance. You wouldn't think to pick up a wardrobe without first checking to see if anything is inside of that wardrobe. And if you're forward thinking, you'll also think about getting the tape measure out first just to make sure it will fit when it gets there, rather than getting halfway through. By having more information, it naturally leads to us having more informed decisions, which saves us a lot of wasted time getting things wrong, but also allows us to plan effectively. The information that you're collating doesn't need to be overly specific, and any information can be a good start. That being said, the more detail you can be, the better. So we could start with this. We've got some general content pages, we've got a core blog, we've got a WooCommerce shop, and we've got a PDF download. Immediately we can imagine what we need to do, but we can kind of think, we don't need some of this other functionality. Actually, in order to get this information, WordPress can help us out quite a lot with total post counts on many admin pages, making it relatively straightforward to break out a comprehensive report, and we can see here we've got 778 posts, we've got no comments, and we've got 50 pages. Immediately that changes the scale just a little bit. If we ding it in a little further, we can find out a bit more and a bit more, and our previous list becomes a bit more concise. Or precise. 50 pages across four templates. 778 blog posts, 45 categories, users, images, very often forgotten about as you go along. So, first of all, it's looking a bit bigger than we had originally anticipated. This isn't necessarily a problem, but it's worth finding out now rather than scheduling some time in, it's going to take three times as long. So we know what we've got to move. Nice. I guess let's just move it, right? Well, not quite. Step two, set fire to everything. Maybe not quite so dramatically, but the idea is to imagine what it would be like if you lost everything that you'd just planned out. What would the world look like if you didn't have those blog posts, that would be sweet, or their kind of comments? What would cause you the most problems to have to redo everything again? Inversally, what are you glad to be rid of? That ugly painting, the uncomfy sofa with the sag on one side? Or those pages that that intern posted and kind of didn't work out? Or those comments that would just spam? Unlike Moving House, you can completely ignore some things rather than moving them or throwing them away. They'll get deleted eventually, but in the meantime, you can kind of just ignore it. Problem solved. For everything else, make a note of what you want to keep. And then, carry on to step three. Where does it all go? So we've got that idea of what we want to keep. Where is it going to go? This is one of the first things we do when we move into a new house. We'll walk around the rooms, we'll allocate some, we'll squabble over future furniture decisions Some things are pretty obvious. The kitchen is probably the room with all the cupboards in it and the oven. Your fridge is probably going to go there. The personal collection of miniature hotel shampoos that you've been keeping in rosemary and mint condition will go wherever the shower is. But what about everything else? What's left may not actually be that obvious. And if you don't want Java, you should remind me later. OK, sorry. What's left might not actually be that obvious. And if you're in the process of redesigning your site, it may be that you need to allocate a place in the designs for this content. Another good reason to do this early. Oh, no! We forgot about the reviews. We need to make sure there's a star rating next to each location. Making sure to map all of this information correctly, both in the back end and in the front end is pivotal to ensure that you've got everything. But it's also a great opportunity to realise if there's anything you don't have. This means, or this might mean, revising a wireframe that's a bit overly ambitious or alternatively committing to filling the gaps and writing that missing content. Whichever way you choose to go, knowing where the gaps are early can make sure that everybody knows what to expect. Step four. It won't all fit. Inversally, what if you've got too much stuff? Wireframe doesn't allow for it. Your designs don't quite measure up. We come back to this. We should get rid of everything else. You've already mapped everything you want. You've already put something in the right location. Anything you've got left over is probably a waste of space. Back to our house analogy. What if you're moving into a one-bed flat and you don't have room for your three-piece suite anymore? You're moving in with somebody else and you don't have a need for two full sets of dinner plates. If you and your website are moving to the next level, it may be that you don't actually need all the same things anymore. Your old blog might not fit with your new corporate message. You might not need all those products anymore. You don't sell them. For everything that doesn't have an obvious place to call home at this stage, it's worth addressing whether or not you really need it. If it's not going to make it to the front end of the website, it doesn't make the cut now. You're unlikely to come back in six months' time and suddenly find a need for it, so just get rid of it. So how do you do it? What's the best way? Well, pretty much every time I've moved house, I've decided that this house move is going to be the one where I get it right. I'm going to catalogue my CDs and I'm going to adequately index all of my books. It's going to be great. I download a barcode scanner and I start creating a new dewy decimal system that only I could understand. I think that this time, I'm going to go one step further and there's writing kitchen on my boxes. I'm going to write out what each box contains. I'm going to give it a number, saving a spreadsheet, be a breeze, I'll never lose anything again. In fairness, that is a cracking idea. But, I'm probably not the first person to think of it either, but an hour later, when I've only packed one box, I've kind of got a bit fed up of it, I'm just going to go back to the tried and tested method, shove in everything in a box where it kind of fits and just hoping that I don't lose anything along the way. As such, it doesn't really matter how you actually get that information and collate it all together. In fact, what you will probably find is that halfway through, you'll change it and you'll have multiple different versions of similar data. The important thing is that whatever the method is, it's easy to decode, ideally, by more people than just yourself. So far, it looks like we're doing pretty well. We've itemised everything we've got and we've trimmed the fact from what we don't need anymore. We've mapped it out so that everything has a place to go. We've informed the relevant people. Designers can design with real content in mind. Developers can work out the best way to store their information, how they can put it out on the page and put it in the right place. Project managers are happy. Everybody's got a plan. As a bonus, we can get rid of anything extra that doesn't make sense to be there anymore and we can easily see the potential gaps and either amend the designs to remove unnecessary features or add new content to make it work. So far, so good. Now we just need to actually do it. So it's entirely likely that there's probably a big delay between having everything ready and actually migrating your content. The website needs to get built. Designs need to get signed off. It's probably not going to be the next thing you do. All the more reason why it's important that you plan it out properly and that it's easy to understand so that in six months' time, when you come back to it, it's there ready for you to just pick back up. In some cases, it can make sense to do an initial migration at some point within this process. The developers can look at real content of the site depending on how that content's moving across and what your site's going to look like. This probably won't be final because your old site is still live. All the content's still changing. You've still got product selling and your stock quantities are changing, but it's a good start. It's important to know if you do that, you really need to do all the next steps twice. That's not necessarily a bad thing, but it is important to keep in mind. Step six, pack it up, move it out. Depending on the project and your requirements, it may be that it's a dry run or it may be the real deal. Either way, the process is more or less the same. Dry runs aren't normally a part of a typical house move, but if you consider when a Prime Minister or a President changes office, the window to get the old one out and the new one in is typically only a few hours whilst they've kind of both left to go to a signing meeting and then come back. I like to think of this as the scene in the movie where they build a fake vault and practice breaking into it a few times just to make sure they've got it down. If you have a live website, especially a shop, you may move things across slowly or in phases. Once in order to get some content in place, then again, when you actually go live. So, how do we do it? Well, there's a few options. You could clone it. By this, I effectively mean that you install a plug-in that will clone your website content from one place, put it into another. This can work quite nicely as a starting point and you can easily go in and delete or amend anything that you want changing. If it's just the design that's changing, the new site in the new site, being able to effectively just dump all your existing content in your new place, moving from A to B can be the quickest method of getting there. You could do it yourself, copy and paste style. This is probably the least practical method available. But in some instances, and I'm sure many people in this room have done it, it is actually completely reasonable and sometimes the easiest method of doing it. This kind of goes back to how reasonably it seems to hire a man in a van to move just across the road. There are still some sites out there that have hard-coded content or where it's not easy to get the content out. Depending on how much content there is, there's a point at which it's probably quicker to just copy and paste it. Grab it from the front end and stick it in the back end. This is true even when you've finished migrating as well, as it may be that you've successfully cloned everything in the step before, but you need to move a few things around or go into each and every post and add something extra. Full disclosure. This is not fun. However, hopefully all the planning and mapping earlier in the process will make it easier to plan this out. But either way, it's absolutely worth doing some of this yourself just to start with. If you can do a half hour, you'll work out a nice rhythm, you'll get a good idea of how long it takes to do a single item, you'll be able to plan the remaining time accordingly. You'll also have got it wrong a few times and you'll do it again and you'll undo it and you'll change it, and at the end of the day, after half an hour, you'll have a pretty good idea of what to do. It's only at that point that I would consider hiring somebody else to do the rest. In my experience, unless you spent that time up front, generally speaking, it'll all go wrong and you'll spend a lot longer doing it again. Or they will, or you will, or tempers will be fraught, it'll all go a bit wrong. 200 products by hand from our HTML website into WooCommerce. It took two weeks to have everybody involved, crazy. But, and for the sanity of your workforce, work that out before you start, otherwise you'll end up with three different solutions to every problem. And it's all a bit. It's all just gone wrong. So, the next one, you can do it yourself but you can use a plug-in. There is a point at which it's worth getting a little help. In moving terms, this plug-in is your man with a van. He'll help you pack it up, he'll shove it in the van and he'll help you to unpack it at the other end. Much like the man in the van, there are a few different options, each with their own key skills. Many of these plug-ins do a pretty good job but at the same time, all of them have their own little quirks. So it's best to test it just to make sure that it does do what you need. The big benefit to using a plug-in is that it doesn't really make too much difference as to the scale of your data set. You could have seven posts or you could have 700 but the method is pretty much the same. There are still some constraints here so it may be that this doesn't do it in quite the way you want it. The bigger the differences between your old and your new site structure, the more complicated it's going to be to export and import. At that point, it may be worth looking into a migration expert to help out. Even if only just for a particular part of the migration process, just to give you some technical cover, taking us to step four. Or number four, professional migration company. When it gets that bit too complicated or it's just going to take more time than you're willing to put into it yourself, always consider hiring a professional even if just to take it once over at your setup and raise any red flags that you might have missed. In house moving terms, these are the professional movers who come in and actually pack everything for you, move it into their vans, take it away and unpack it at the other end. Everything's done for you, it's great. As part of the process, they'll be able to do all that mapping and planning and checking with you, set some time aside for dry runs and then all that all important, final run. If there's no particular magic trick, they'll probably just do the same things in the other three steps with the potential of extra of actually accessing the data directly in the database and amending anything themselves that is a little bit too tricky to do using a plugin. Behind the scenes bit is vital, especially for those complicated migrations like where a website is switching content management systems or if we're looking to merge multiple websites into a single website. Sometimes spending some time up front writing some custom code to automate the process is worth it, especially if it means you can reuse it without having to do everything all over again. So how do we know which option to take? How do you know if we can manage it ourselves? For many of us, the problem of moving house is a relatively easy one to fudge your way through if necessary. Worst case scenario is just a case of grabbing all the things and shoveling them in boxes and driving to a new destination. I think here that comparison breaks a little bit because with moving house it's pretty easy to see what you've left behind. If that big box of old jumpers in the middle of the room is still there rather than in the van, you know something's gone a bit wrong. But when migrating content you probably won't realise that anything's missing until you've already got there, you've unpacked half of it and you've realised you've lost something. But imagine if you weren't moving house. You said moving an entire office building or a library or a museum. How about moving the entirety of wordpress.com and all of its personal blogs or Wikipedia with 40 million articles? It's easy to forget that not all websites are the same size. Many of them will share a lot of the same plugins maybe even the same architecture but the content is different. The amount of content is different. That idea of scale doesn't always get picked up picked up on right at the beginning which is why it's so important to do those final steps first steps and the final steps to all the steps and work out what you've got and how big it really is. Whichever way you choose to do your migration it's not just a case of working out where the content should go but when it should be put there as well. Advice I'm sure we've all been given at one point or another is to pack your kettle last so that as soon as you arrive at your new house you can take it out, you can get it set up you can start a nice cup of tea whilst you move the rest of the things in. Imagine what they'd say if anybody in Cornwall see you putting the jam and the cream the wrong way around. In much the same way the order that you choose to import your content can have some really big consequences as some things will directly rely on other content being there already in order for it to work correctly. But this is all the more important if you're using an automated tool as it doesn't know how to stop and check if something is missing it kind of just assumes you know what you're doing and that everything's in place. It may not be immediately obvious as to why it's not worked as a result. In this scenario you should not be afraid to start again. Redoing it may seem counterproductive but it's probably easier than fixing the problems one by one. Often it can only be clear what the correct way to do something is after having done it wrong two or three times before and realising what's missing. This will always be a faff. But having done it once or twice or three times wrongly will only help you better understand what you need to do this time to get it right. And it will give you that connection to your content that you've always wanted. So you've gone through this process. You've got everything moved what does success look like? Well with migration success is often mostly just recognised by it not being failure. Sometimes this is a good thing. I know somebody who once moved into an old hotel a few years ago who had been broken out into a few different houses they happened to get the old facade with a large reception area. One day whilst making lunch an elderly gentleman walked straight in sat down at their kitchen counter and asked for a glass of whisky. He walked right past their mesh mash of shoes by the front door past the family photos and into an obviously domestic kitchen completely failed to spot any of it. All he knew was that it was lunch time. 20 years ago he always used to go to the hotel for a quick drink at lunch. Users are creatures of habit. The ideal situation here is to have a user come back the next day and not be missing anything. It might look different but all the pages they came to see is still there. The product they wanted to buy yesterday is still available and it all continues to work. In some instances the customer might not even realise anything has changed at all. That's a good thing. Not for the guy in my story though. He didn't get a drink, he was asked to leave. Cool. Those are effectively all the steps. One of some common things that you might need to keep in mind that typically go wrong or get missed or skipped along the way. Images are a major problem and just a massive faff. When importing your images WordPress will import them as if you are uploading them in the media library today. What this means is that irrespective of when you added it previously all of your images will now be within today's date folder. They'll update the URL correctly in the post so everything will still look nice but if your website is heavily image-led losing all of your image ranking because the files don't have 301s in place it's easily overlooked. The most practical fix at this point is to resort to FTPing or command line to move the uploads folder in its entirety to a new location. The folder structure is the same. Google's happy. We've also got the question of do we clone or migrate? Sorry. So there are a lot of plugins out there that you can use to help migrate your website. In my experience many of them are actually more like website cloners than migrators. Serialize search in a place to ensure that all your permalinks are updated. This is nice because I isn't really what I'm after 90% of the time. Merging data is probably a bit more accurate. The difference I'm really looking for is being able to isolate specific types of content like posts or products or comments and move them from A to B without messing up anything else. Updating like things like post IDs accordingly so that everything continues to work. A good example of migrating is that migrating will come as products and orders but making sure that the product ID of what was actually bought relates to the product ID of what's in your new website now. That can get pretty messed up pretty quickly and it's also very easy to miss that it's gone wrong. Post ID changes is another common problem. That kind of relates to the previous problem. When you migrate your content it's likely that your new B has some posts already. If you're not cloning and you're just migrating all of your post IDs will be different. You'll have already uploaded images you'll already uploaded content. Your new content that you're moving across might not relate to the right place. That's key. That's kind of where you'd probably get your professional migration expert to come and help map those back together even if that's all they did. I mean if you've been there you know how big a pain the ass that is but if not come and see me afterwards we can have a great conversation. So much like Moving House migrating your website has a lot of moving parts to it. Don't underestimate the challenges and hopefully by following these steps your next migration will be a happy migration. Thank you. I've done it for some questions and if you'd like to ask one we'll whizz over on the microphone. Question being today, no questions? Over here we have a question. Thanks for the talk Ed. So it's all about planning to minimise the downtime if you're migrating from one place to another. What sort of things do you put in place to ensure that you do it as quickly as possible I guess? Well the plan is the most important part making sure you've got that everything mapped together and you've got that process in mind. If you're doing a big migration downtime isn't necessarily a bad thing having a holding page in place for two or three hours whilst that's going on especially if you've got a shop is absolutely the right thing to do because the last thing you want is to have somebody buy something but without live data changes actually just having a content freeze from the client's perspective is probably just fine because if you're changing your website you've probably got it in a staging environment first and then you're really just putting that live at some point so long as you've got a content freeze from your client's perspective everything's fine you can just swap it over normally it's the wiser. We've got a question over there. Go to the talk. You mentioned using some plugins and I just wonder if you could mention a few that might be useful. Yeah absolutely so some hosts have a plugin that can help you just pull a plugin pull a site in and those are quite useful. Alternatively you can use I think WP Migrate DB Pro is good for cloning a website in and just making sure you pull it in. My personal favourite is WP All Import and that does that fine level moving of data without overwriting anything on the other side it just moves it in and what that also allows you to do is to map various things like the meta structure and adding additional fields that can help you remember where your content's come from even if that's not being added. Actually that was something I didn't mention in this it got lost somewhere is when you're moving that data across sometimes it can be really useful to add some extra fields in place to what the legacy URL was or what the legacy post ID was so that when you are looking back at it you can actually find it pretty quickly. Equally if you've forgotten to migrate your comments you can very easily just map all of those IDs to the legacy ID rather than the new post ID and it helps to tie that together a little bit more. Any more questions for Ed? Okay, thanks so much Ed great talk, appreciate that. Just want to say before lunch a big thanks to our captioning team the AV guys and all the volunteers in yellow. We have the happiness bar