It took me quite some time to figure out how to change the Subsites and Pages settings by code. I finally manged to change them. The setting “Show subsites” can be altered in 2 ways. I was only able to change the “Show pages” on a publishing site.

Change the Subsites and Pages navigation setting by code

Method 1 (“Show subsites” only)
With this code you will access the AllProperties setting of the Sharepoint Site and change the __IncludeSubSitesInNavigation value. Somehow there is no such property for the “Show pages”.

SPWeb web = new SPSite(webCollection).OpenWeb();
web.AllProperties[“__IncludeSubSitesInNavigation”] = “False”;
web.Update();
web.Close();
web.Dispose();

Method 2
With this code the “Show pages” and “Show subsites” option are disabled. To access these properties your site must be a publishing site.

SPWeb web = new SPSite(webCollection).OpenWeb();
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
publishingWeb.IncludePagesInNavigation = false;
publishingWeb.IncludeSubSitesInNavigation = false;
publishingWeb.Update();
publishingWeb.Close();
web.Close();
web.Dispose();