We are upgrading some publishing sites from Moss to SP2010. We have created new master pages, page layouts and updated code to work in SP2010.We just want to migrate data now(pages and items in document library)

I have copied items from document library in Moss to SP2010 and that was easy. Now I want to copy pages.The site have a lot of publishing pages attached to different layouts.I just want to move these pages to SP2010 site such that :

  • I can move the page from Moss to SP2010 with different or same layout.

  • I can map the fields. For e.g. the data in 'Title' column in MOSS should be move to 'Heading' column in SP2010 pages library.

Is there some easy way to do that? Or should I write a migration tool to meet my requirements?

  • Do you have access to both MOSS and SP2010 servers?Most of the tools will run on the SP WFE itself. Dec 12, 2011 at 15:32

3 Answers 3


You have two options, and your choice will ultimately be determined by how many pages you have and how many of those need to be "modified" before / during the migration.

  1. Use a 3rd party migration tool

    There are now a number of great proprietary tools on the market (some free) which allow you to migrate publishing page content into SharePoint 2010. Here is a great list of the most comprehensive apps: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=337

    The pro's of using a third party tool are obvious... It's not exactly an overnight task to write one yourself! However you will be limited to the "modification features" that the tool provides. If you have a large number of publishing pages, most of which don't require heavy customisation during migration, you may not need to look any further. Changing page layouts etc during the migration is certainly something these apps can handle.

  2. Write your own migration tool

    If the list of apps above doesn't meet your requirements, then you're going to need to write your own migration tool. This will usually be in the form of a simple console app that utilises the Microsoft.SharePoint.Publishing.dll object model to create new publishing sites, pages and content.

    I built a bespoke migration tool recently because my company's intranet migration involved a huge change to the underlying information architecture (site structure). In additon, I needed to edit a lot of the HTML DOM within our migrated content.

    Here is a reference to creating publishing pages programmatically (and changing its layout):


    Tip #1: when manually creating your publishing sites and pages, ensure you check in and publish pages as you go otherwise SharePoint 2010 will throw exceptions when it encounters cross page links.

    Tip #2: create all your sites and pages BEFORE creating your navigation menus. Again, SharePoint 2010 will throw an exception if you attempt to create links to pages that have not yet been created.

Good luck!

  • If you have any development resource available, I'd do it in house. It's not that difficult at all really to 'migrate' field values from one site to another. Of course you'd need to use web services to get to the MOSS site to read the values, but once you get the data from somewhere, the object model makes creating and updating pages fairly trivial. WebParts on pages might be tricky if they're personalised, however.
    – James Love
    Dec 18, 2011 at 15:49
  • I failed to mention personalised web parts, great point @JamesLove. This was actually a big part of the bespoke migration tool we had to code too, so I have some source code for this if required. In a nutshell, you need to programmatically open each page using each user's login (so you can get "their view" it. this is determined by the user's permission levels, audiences etc), then use the SPLimitedWebPartManager class to grab the personalised web parts off it and migrate them.
    – user4545
    Dec 19, 2011 at 1:22

There is no straight easy way to do this.

I would suggest to first complete the migration from MOSS to SP2010 and then do the modifications that you need to do. These would be the steps:

  1. Copy all the page layouts from MOSS and paste into the SharePoint 2010 site, publish and approve the same if required.

  2. Once porting of all the page layouts are completed, pages should be moved to respective pages library in the new site.

  3. The page properties need to be changed one by one. The respective page layouts and values for Heading column needs to be added.

  4. Once all the pages are done, they can be published and approved if necessary.

However, if there are more than 100 pages to be modified, this would be a tough ask.

In that case, where there are numerous pages, you will have to change the step 3 mentioned above. Create an event handler to be triggered when new pages are created in the pages library. Once a new page is created, the code should do the necessary property changes to be done based on your conditions.


There are lot of good tools available.The one that is specific to your requirement is Metalogix migration manager. It supports what you need exactly:

  • can move the page from Moss to SP2010 with different or same layout.

  • can map the fields. For e.g. the data in 'Title' column in MOSS should be move to 'Heading' column in SP2010 pages library.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.