Docs / Getting Started / Multiple Websites

Run multiple websites with child themes

When one HubSpot portal hosts several brand sites, give each site its own blox child theme. Each child keeps independent branding, navigation, and theme settings while still inheriting structural updates from the parent blox theme.

Why per-site child themes

If two sites in your portal share a single child theme, they share everything: colors, fonts, header logo, footer copy, CTA styling. Changing one breaks the other. A per-site child theme isolates brand state so each website can evolve independently.

The parent blox theme stays untouched. Each child theme overrides only what its site needs and inherits the rest. When blox ships a new version with bug fixes or new modules, you update the parent and every child picks up the improvements automatically.

Step-by-step

1. Clone one child theme per site

Design Manager

Follow the Create a Child Theme guide once per website. Name each child after its site so they are easy to tell apart in the Design Manager tree (e.g., blox x Acme, blox x Beta Brand, blox x Gamma Co).

2. Clone the Header module into each child theme

Design Manager

In the parent blox theme's modules folder, right-click the Header module and clone it into each child theme's modules folder. This gives each site an independent header configuration - logo, nav structure, CTAs, sticky behavior - that does not affect the other sites.

Repeat for the Footer module if each site needs its own footer columns, social links, copyright, or legal nav.

3. Configure brand styles per child theme

Theme Settings

Open a page that uses each child theme and run the Add Your Brand Style workflow inside its theme settings. Colors, fonts, CTA styling, badges, and form styling all live per-child.

4. Build pages on the appropriate child theme

When you create a new page in HubSpot, the theme selector lets you pick which theme the page belongs to. Always pick the child theme that matches the site the page is for - never the parent blox.

Assigning pages to a child theme

Each HubSpot page is bound to a single theme. To change which theme a page uses, see Switch a Page to a Child Theme. Pages can move between child themes the same way they move from parent to child.

HubSpot does not automatically know which child theme to use for a given domain - that mapping lives in your editorial process (and optionally in your team's style guide). A common pattern is to organize pages into folders named after each site so the right child theme is always obvious at creation time.

What happens when the parent theme updates

When blox ships a parent theme update, every child theme inherits the changes automatically for files the child has not overridden. Files cloned into the child (like the Header module if you cloned it in step 2) keep their child-specific version and do not get the new update.

This is intentional: it lets you customize fearlessly without losing the ability to receive future improvements. The tradeoff is that any module you clone into the child needs to be manually updated if the parent module changes significantly.

Tips

  • Only clone what you need. Every cloned file becomes a maintenance burden. If a module works as-is, leave it in the parent.
  • Keep a "site index" doc. Track which child theme is which site, who owns it, and what modules have been cloned into each. Saves time onboarding new editors.
  • Test parent updates on one site first. When blox releases a major update, switch one less-trafficked child theme to it first and verify before rolling to the rest.