There is a current custom site definition which many sites are based on that needs to be re-worked. I am familiar (somewhat) with creating and deploying new site definitions through VS and creating sites based on that site definition, however I am wondering what limitations are there with regard to modifying the existing site definitions when sites have already been created using current.

For example MSDN says modifying site definition files to customize existing sites is not supported. Does mean I cannot update the existing site definition, or write a new one and apply that globally?. Appreciate the advice/help!

2 Answers 2


Changing the Site Definition is unsupported. Existing sites should be changed using the object model while the changes to the Site Definition will be applied to all newly created sites.

A good guideline is to use site definitions to modify sites that will be created, but to use the object model to modify sites after they are created.

So first thing to consider here is that changes to actual site definitions should not be made where the site definition is in use i.e. sites have been created from it. What this means in practice is that you need to use a technique such as feature stapling to add a web part to a site.

For feature stapling : http://www.sharepointnutsandbolts.com/2007/05/feature-stapling.html

You can also check: http://msdn.microsoft.com/en-us/library/office/aa543837(v=office.14).aspx


As you mentioned, site definitions should not be changed once it is provisioned. It is just not supported. A great blog on this topic is here.

An extract from the same link

Biggest challenge with the site definition is that we are not allowed to change the onet.xml file after it has been used to provision any sites in the environment. This is just not supported. There are certain scenarios, which don’t impact the existing sites and it might seem that update didn’t cause any issues, but just because it didn’t hurt the first time, should you do it again? – no. This is one of the classical rules of SharePoint development, like the fact that don’t touch the databases directly.

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.