0

I have created a sub site and I define a custom master page for it. Then I save it as a template. After that I started creating sub sites based on the template, where all the subsites get the custom master page as defined in the template.

Now let say I have 20 sub sites , and I want to do a change to all the sub sites master pages such as changing the footer or the search box location. Currently each of the 20 sub site have a separate master page and to apply such a change I will need to modify the related 20 master pages separately. Now since I will always need the same master page to be used inside all the subsites including any future changes , so is there a way in SP to force the sub sites to be using the same master page (shared master page) , so if I modify the shared master page it will affect all the sub sites at once ? Thanks

3

You can open top level site then

Site Settings -> Master Page -> Check Reset all subsites to inherit this site master page setting and click Ok

This will set top level master page to all Sub Sites.

  • can you advice from where i can get this feature. now i went to our site collection >> site settings >> Web Designer Galleries >>Master pages. then i select the seatle.master but i can not find the option to "reset all subsites to inherit this site master page setting" ?? – john Gu May 29 '15 at 1:22
  • You should enable publishing feature – Amal Hashim May 29 '15 at 1:27
  • 1
    And you should not go to web designer galleries, what Amal mentioned is inside site collection administration, then "Look and Feel" -> Master Page – Gwny May 29 '15 at 6:34
  • @Gwny there is no option named "Master Page " under the "Look and Feel",, should i enable publishing feature inside my site collection , to have this option ? – john Gu May 29 '15 at 9:33
  • Why not try it out? You can deactivate it. – Dinerdo May 29 '15 at 14:35
2

You can try the below script to change the masterpage for all subsites.

$site = Get-SPSite http://portal/sites/collaboration
$site | Get-SPWeb -limit all | ForEach-Object { $_.MasterUrl = "/sites/collaboration/_catalogs/masterpage/custom.master";$_.Update() }
$site.Dispose()

Changing the master page on SharePoint sites with PowerShell

Also check this one: Powershell so all of subsites/sub-sub sites inherit from Parent site's master page

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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