The following example shows how you can create a new web site based on the Blank web site template:
[C#]
| using CMS.SettingsProvider; using CMS.CMSHelper; using CMS.GlobalHelper; using CMS.SiteProvider; using CMS.CMSImportExport; 
 
 
 // Site name string siteName = "testAPIsite"; 
 try { // Create site import settings SiteImportSettings settings = new SiteImportSettings(); 
 //Initialize the settings settings.SiteName = siteName; settings.SiteDisplayName = "Test API site"; settings.SiteDescription = "Site for testing the API examples"; settings.SiteDomain = "127.0.0.254"; 
 // Get 'Blank site' web template WebTemplateInfo template = WebTemplateInfoProvider.GetWebTemplateInfoByCodeName("BlankSite"); 
 // Template exists if (template != null) { // Set source file path string templatePath = template.WebTemplateFileName; settings.SourceFilePath = Server.MapPath(templatePath.TrimEnd('\\') + "\\"); 
 
 // Load default selection to preselect the objects settings.LoadDefaultSelection(); 
 // Create new site using 'Blank' template ImportProvider.ImportObjectsData(settings); 
 // Run site SiteInfoProvider.RunSite(siteName); 
 this.lblInfo.Text = string.Format("New site with code name '{0}' has been created.", siteName); return; } else { this.lblInfo.Text = string.Format("Failed to create new site '{0}'.<br />Web template 'Blank site' doesn't exist.", siteName); this.lblInfo.CssClass = "ErrorLabel"; } } catch (RunningSiteException) { this.lblInfo.Text = string.Format("Failed to run site '{0}'.", siteName); this.lblInfo.CssClass = "ErrorLabel"; } catch (Exception ex) { this.lblInfo.Text = string.Format("Failed to create new site '{0}'.<br />Original exception: " + ex.Message, siteName); this.lblInfo.CssClass = "ErrorLabel"; } | 
Page url: http://devnet.kentico.com/docs/5_0/devguide/index.html?creating_a_new_web_site.htm