Just use the masterpage. You can add webparts to the zones on the masterpage and they will be inherited throughout your site.
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
CMS.GlobalHelper.ScriptHelper.RegisterJQuery(this.Page);
Page.Header.DataBind();
}
protected void Page_PreRender(object sender, EventArgs e)
{
}
</script>
<cms:CMSWebPartZone ZoneID="JavaScript" runat="server" />
<cms:CMSWebPartZone ZoneID="CookieConsent" runat="server" />
<!--- HEADER--->
<header>
<cms:CMSWebPartZone ZoneID="SupportArea" runat="server" />
</header>
<!--- NAVIGATION --->
<cms:CMSWebPartZone ZoneID="Navigation" runat="server" />
<!--- SUB PAGE CONTENT --->
<cms:CMSWebPartZone ZoneID="SubPageContent" runat="server" />
<!--- FOOTER --->
<footer>
<!--- SITEMAP --->
<cms:CMSWebPartZone ZoneID="SiteMap" runat="server" />
</footer>
That is the basis of how my masterpage is set up. Works like a charm, makes redeployment quick and easy.