Можно подготовить сайты из объектной модели, но создание полностью настроенных сайтов выходит за рамки одного вопроса. Для начала вам нужно взглянуть на SPWebCollection.Add , а также SPSiteCollection.Add .
Для создания семейства сайтов и некоторых дочерних сайтов в одном из ваших веб-приложений вы можете использовать что-то вроде этого:
var farm = SPFarm.Local;
var solution = farm.Solutions.GetValue<SPSolution>("YourSolution.wsp");
var application = solution.DeployedWebApplications.First();
var sites = application.Sites;
using(var site = sites.Add("/", "Root Site", "Description", 1033, "YOURTEMPLATE#1", "YOURDOMAIN\SiteCollectionAdmin", "Site Collection Admin", "admin@yourcompany.example")) {
using(var rootWeb = site.RootWeb) {
// Code customizing root site goes here
using (var subSite = rootWeb.Webs.Add("SubSite", "Sub Site", "Description", 1033, "YOURTEMPLATE#2", false, false)) {
// Code customizing sub site goes here
}
}
}