Site Definition:
Site Definition is the basic blueprint for a site, including how it looks, what lists it contains, default navigational structures, and so on. You normally create a site definition by hand-editing CAML.With use of Site Definition, files are stored in File System of SharePoint server. hence it gives good performance of site.
Site Definition is complex to create than Site Template.
It requires Admin access to deploy the solution on server.
Site Definitions are highly customizable and extensible through .Net and XML programming.
It requires Admin access to deploy the solution on server.
Site Definitions are highly customizable and extensible through .Net and XML programming.
Site Template:
With use of Site Template, files are stored in Content Database, hence it is less efficient as compare to Site Definition.
Site Template is easier to create than Site Template in SharePoint.
It can be easily installable by Site Owner throgh UI web.
Site Templates are not easily extensible.
It can be easily installable by Site Owner throgh UI web.
Site Templates are not easily extensible.
Difference between Site Definition and Site Template
- Feature Stapling
- Site Definition: Supported
- Site Template: Not supported
- Multiple webs
- Site Definition: Can provision multiple webs.
- Site Template: Can only provision one web.
- Complexity
- Site Definition: Complex to create
- Site Template: Easier to create
- Permissions
- Site Definition: Requires admin access to server for deploying.
- Site Template: Installable from a Web UI by site owners.
- Performance
- Site Definition: Files are on disk, better performance.
- Site Template: Files are in database, less efficient.