I am using sharepoint 2010 and VS2010. I created a site collection by the publishing site template. I dont want to use the "save as template" because it is not supported in a publish template. Also the workarounds to use it I dont like them.

I would like to create my first custom web template in VS. Someone told me to copy the onet.xml of the publish site template and add the lists : calendar, announcements, tasks, links. Someone told me also to not create a site definition but create an web element.

Can someone tell me where to begin or referer me to some tutorial?

Is it like to create an empty sharepoint project in VS and add an empty element. After this I copy the onet.xml xml code to my created element?

And how do I add the lists (calendar, announcements, tasks, links) to my homepage in differant zones?

I hope someone can help me.

ps. The reason why I would like to start with the onet.xml from the publish site template is because the site collection where I would like to use this custom web templaate is a publish template.

See here an example of what I would like to build in VS:

custom web template

  • Is this: msdn.microsoft.com/en-us/library/ms454677%28v=office.14%29.aspx a good starting point for you?
    – edelwater
    Mar 26, 2013 at 9:52
  • I dont want to use a site definiton. there is some other solution to build a web tempalte. Someone told me to create an empty sharepoint project and add an element. In this element I need to paste the onet.xml code and modified how I like to want it.
    – Ola
    Mar 26, 2013 at 14:19

1 Answer 1


Here is a great article about when to use a custom web template or when to use a site definition:


Here is a great article about how to create a custom webtemplate:


If someone knows other tutorials about how to create a custom web template, PLEASE let me know.

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.