Importing Data to SQL the Hard Way
February 20, 2023
Migrating your website to Umbraco CMS
So, maybe your website is running on an out of date CMS (Content Management System) or maybe you are just getting tired of paying huge licensing fees for your current platform. Regardless, you have made the decision to look for a new solution for managing your website. While there are a number of CMS options out there, we are going to focus on Umbraco CMS (http://umbraco.com/), why we recommend it and things to consider before and during the migration.
When choosing a CMS, you want be able to provide the most flexibility for your team, which could consist of content editors, developers and designers. From the ease of content editing, to the extensibility allowed to developers, we have found that Umbraco helps simplify the workflows of all involved. For more detailed information on Umbraco’s features, please visit http://umbraco.com/why-umbraco.
Another aspect of the CMS that makes it appealing is the fact that it is completely free, open-source and runs on top of ASP.NET MVC. If you run into issues during development, Umbraco’s active community is always ready to help out on the forums. If you are looking for professional support, you can get help straight from the Umbraco team for a nominal, yearly fee, or you can hire an Umbraco Certified Partner, such as Marathon Consulting :) to handle the migration for you.
Things to Consider
Depending on how large your website is and which platform you are currently on, migrating a website can be a complicated endeavor. To make the transition as smooth as possible, there are aspects of the migration that you and your team need to be aware of:
Planning is one of the most important aspects of the migration. At this point in the process, you should be taking a site inventory, which should include the following:
- A crawl of your website – this can be done with a tool such as Screaming Frog (https://www.screamingfrog.co.uk/seo-spider/) and not only provides you will a complete list of URL’s that need to be transferred, but also identifies the metadata that should be implemented on your new site.
- Documentation – if your site contains any type of forms, integrations with 3rd parties (i.e., Silverpop, Mailchimp, Facebook, etc.), or any other special functionality, your team should make a list of these items and document the workflows. By taking this extra step during the planning process, you are going to save your developers from spending a lot of time digging through existing code.
- SEO updates – While this isn’t an issue with most modern CMS’s, there are a number of situations, where your site loads content with an ID, versus a search engine friendly URL (https://en.wikipedia.org/wiki/Semantic_URL). If that is the case with your site, then this is a good time to move to a cleaner URL format. Using the results of your website crawl, you can decide which URL’s to change, as well as identify missing metadata, both of which will improve your site’s SEO.
Migrating to Umbraco
So, you have done all of your prep work, now it’s time to migrate your site. While this is not an exhaustive list, nor a step-by-step guide, I do want to touch on high-level steps that I follow in order to ensure a successful migration. In case you would like to do further research, I will add links where applicable, but keep in mind that some of these steps, while sounding simplistic, can actually be pretty involved.
Step 1: Design
The first step in the migration is to transfer your design assets (images, CSS files, JS files). At this point, the concentration of your development team will be to build the layout so that it matches your current design. There is nothing Umbraco centric about this process, but instead consists mostly of standard HTML coding and CSS styling.
Step 2: Content
This process consists of four parts:
- Identify your page types - The resulting Umbraco document types that are constructed will contain your migrated content (https://our.umbraco.org/documentation/tutorials/creating-basic-site/document-types).
- Identify shared content - There are parts of your webpages that are shared across the site. Once identified, these can be turned into reusable macros or grid editors (https://our.umbraco.org/documentation/reference/templating/macros/).
- Export content from your current CMS – With most CMS’s, there is a built in method of exporting your content to XML format, however, we have ran into many situations where custom coding was required. Also, be prepared to manually enter content in some instances.
- Import content into Umbraco – Once you have an export of your current content in XML format, you can use CMSImport (https://our.umbraco.org/projects/developer-tools/cmsimport/) to map your XML file to the document types that you created.
Step 3: Development
Now that you have your design implemented and content migrated, you can work on making sure all of the front-end components are in place; this includes completing the user interface logic for your macros, grid editors and document type templates, as well as any server-side programming or configuration that needs to take place.
Step 4: UAT (User Acceptance Testing)
This is a cyclical process and can either be performed after development is complete, or in tandem with developers, as new pages/components are completed and released for testing. Use this step to identify and fix any lingering issues that would prevent you from launching your new, Umbraco site.
Well, you took the time to prepare for your CMS migration, which in turn provided for a smooth development process and even saved you a ton of time in UAT. All that is left, is to flip the switch on your new website and celebrate a successful launch!
It is important to note that migrations can go very differently. In fact, the lack of preparation can turn a CMS migration into a nightmare. Also, there are a lot of smaller considerations that can only be learned from the experience of performing multiple migrations and as an Umbraco Certified Developer working for an Umbraco Gold Partner, this is an area where we are able to really take care of our clients.
In conclusion, I would recommend that if you are considering a move to a new CMS, don’t go into it lightly, but instead take the time to do your research and definitely look for a development partner who can help you reach your end goal, in the most efficient manner possible.