Building sites VF page ,you may need to go through Visualforce tags such as - [apex:include](http://www.salesforce.com/docs/developer/pages/Content/pages_compref_include.htm) - [apex:define](http://www.salesforce.com/docs/developer/pages/Content/pages_compref_define.htm) - [apex:insert](http://www.salesforce.com/docs/developer/pages/Content/pages_compref_insert.htm) - [apex:component](http://www.salesforce.com/docs/developer/pages/Content/pages_compref_component.htm) You can adopt template based approach where you define reusable template and later implement the template . Some of the best practices is to put all CSS and js in static resource .