I really need your help.

I've created a new page layout in SharePoint Designer 2010 and I want to apply it to all existing pages in a site. Another thing to note, some subsites and pages use different page layouts. If possible I would like to standardize all page layouts.

I checked online and I found some methods but it seems all of them require the page layout to be "un-customized" and deployed using Visual Studio. I've developed the whole layout in SP Designer and I have no clue how to move it to Visual Studio 2010. Is there any way I can do this using Powershell commands or any other tool?

3 Answers 3


Check out this post where this can be achieved through PowerShell - http://jakejacobsen.wordpress.com/2011/04/06/powershell-script-for-updating-page-layouts-in-a-site-collection/


Pages are nothing more than an ASPX file. The page layout is in its metadata:

<mso:PublishingPageLayout msdt:dt="string">http://server/site/Library/_catalogs/masterpage/PageLayout.aspx, PageLayout</mso:PublishingPageLayout>

You can try to donwload all of the aspx files and replace the the infomration above.

  • Actually I would phrase it as exactly the opposite. Pages are nothing more than metadata, the Layout is the ASPX file. The entry in the Pages library is more or less a stub file. Publishing Pages are closer to Wiki Pages than to actual documents.
    – Louis
    Jan 28, 2012 at 3:08

If you want to apply an existing Page Layout to all pages that already exist (and are assigned to other page layouts) you could do this in a C# console application, or PowerShell.

MSDN has an example of doing exactly this in C#.


The code provided is all you'd need for a static class. In a console application, you'd just need to make sure this code is in a file separate to the Main.cs file, and call into that method.

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.