Website migrations are an extensive project. Whether you’re a freelance web developer, a project manager, an account manager, internal or part of an agency team, everyone wants the answer to one question… how much is this going to cost?
It’s not as simple as just picking a number out of thin air. There are a lot of factors that can influence a site migration, from the number of pages, hidden landing pages, website functionality, form submission routing… the list goes on. So, when someone asks “how much does a website migration cost,” here is a list of factors to consider when scoping out a project.
What is a Site Migration?
A website migration is the process of moving a website from one CMS to another. This means collecting all the content, media, and code (including third party integrations and plug-ins) and making it work on a new CMS.
How to Charge for a Site Migration
There are 2 ways to quote for a site migration: Hourly and Project-based. An hourly rate could possibly allow for more flexibility as you’re less bound to a budget. However, even though you’re not bound to a budget it’s probably a good idea to give the client a general estimate of the total hours you expect the migration to take. On the other hand project-based quotes can make it easier to account for the cost of distributing work to a team if necessary. Either way the key for writing an accurate estimate is creating a detailed scope.
It can be very difficult to estimate how much time it will take to migrate a site so I follow this rule of thumb: imagine how much time a task might take, and then really think about how much time that task will take — then take that number and double it. For example, you take a cursory look at a page on a site you’re migrating and estimate it will take an hour to build. Now take a deeper dive into that page and think about all the functionality, styling, and changes that you might need time for and your estimate bumps to 2.5 hours. Now take your deep-dive estimate and double it — quote your client for 5 hours to migrate that page.
Steps to Scope a Site Migration
1. Understanding the Project
A site migration can mean a lot of different things: are you keeping all the pages and functionality? Removing some of the pages? Removing some functionality? Adding functionality/pages? Redesigning pieces of the site? Asking these questions will help you understand your client’s needs and help you create a more accurate and detailed scope for the project.
2. Check Out the Sitemap
The sitemap will give you the total count of all the pages that are on the site. This will help you dig deeper into how big a site actually is — it might appear to be 7 pages, but looking at the sitemap might tell you it’s actually 100 pages. You might also find dead or invalid pages (contentless pages that are only used for URL path), pages that redirect to other pages, pages for old advertising campaigns, and more. With the sitemap you can make a list of all the pages (URLs) in a spreadsheet and if it’s helpful for you, build a sitemap in a graphics program like Omnigraffle to get the full visual.
3. Integrations, Plug-Ins, Widgets, oh my!
As you explore the site and look for any functionality that will take extra time. Social media sharing integrations, commenting widgets like Disqus, sliders, modals, and CRM form integrations are commonly used. All of these items will take extra development time since they do not always come over cleanly and may need extra touching in order to make them work. Depending on the service that you’re migrating from there might be proprietary plug-ins that you’ll need to find a replacement for. For example, if service offers a proprietary calculator, you’ll need to look for a (hopefully) free calculator that you can use in its place.
Take note of which page(s) require what kind of functionality and add it to your spreadsheet and sitemap graphic, this will help you keep organized especially when you’re working with a large site.
4. Mapping Models and Content
Before starting the migration it’s helpful to plan ahead, especially when there are many complex relationships between the data. Depending on which CMS you’re switching to you’ll need to map your content to models. Working through the mapping process will help you pre-plan where you content will go, ensure that you develop the correct URL paths and see where you might need redirects, define relationships between models, figure out what to do with multipage models (e.g. blog articles) and which sets should be headless (e.g. social media icons, hours of operation, gallery images), and more. During this phase you’ll probably run into a lot of questions for your client. It’s a lot more helpful to get those questions answered at this stage instead of asking in the middle of a build and rebuilding for something that was missed.
With all of that research and information you should be able to write up a thorough quote and scoping document for you client and be ready to jump into the migration process as soon as you get the green light.
5. Collecting Content, Code, and Media
There are apps and extensions that you can use to scrape content, code, and media from a website. However, it might not always grab everything you need so you’ll want access to the original site throughout migration. Even better, if you have access to the CMS’s account that you’re migrating from you’ll likely be able to grab everything you need more easily. Another great way to get data is to ask your client to supply you with CSV exports of the data you need. With a CSV it’s a lot easier to transfer content between services.
Migrating to Zesty.io
Looking to lift and shift to a future-proof CMS? Check out this video series that quickly walks through how to migrate a WordPress site over to a Zesty.io instance.