I am in the middle of doing just that. Here are some of the challenges I’ve encountered:
1.) It pretty much needs to be done on a staging server, which means the site will need to be moved onto the actual server when it’s complete. While I haven’t done this step yet with the current site, I’ve never had a server or domain change go flawlessly and am expecting to have the site in “maintenance mode” for at least several hours while I take everything live and test it.
2.) Without extreme care, and depending on what system you’re migrating from, it’s probable that many, most, or all of your URLs will change. Setting up that many redirects is tedious and time-consuming.
3.) EE handles content a bit differently than most other systems. Initially, I had quite a mental roadblock when trying to determine how to set up my channels and categories. The challenge is to think of your data in its own right, rather than according to how you’ve handled it in the past. Sounds easy, but it can get a bit complicated quickly, depending on what you’re working with.
Despite the challenges, in our situation the advantages were many. Here are a few of the biggest ones:
1.) Our old site is based on several different platforms, including quite a number of static pages and a rough “home-brew” CMS I created myself. Getting everything onto one platform will allow much better integration and cross-referencing of the various types of content we provide.
2.) The main component of our old site was badly outdated and no longer under development. It had no WYSIWYG editing capabilities, instead relying on an archaic version of replacement tags to format content. In a small office, this immediately placed all the burden of site updates on the web developer instead of on the content creators, which meant updates were slow and infrequent. EE is so easy to use that we’ll (finally) have a system where our authors and bloggers can actually publish their own content.
3.) Some of the addons for EE are allowing us to set up entirely new features that would have required a great deal of time-consuming and “kludgy” custom programming under the old systems. We’ll be able to provide much better service to our customers this way.