HubSpot theme documentation

Answerable

A HubSpot CMS theme for a site that wants to be read by people and by the machines that answer for them. Six section modules publish what they are, as structured data, in the HTML a crawler receives. Motion is a layer on top, in three levels, with a switch for the visitor.

Content Hub, classic theme Live example Abstract scene Text-led hero All themes

  1. What the theme is
  2. Getting started
  3. The page, top to bottom
  4. Theme settings
  5. The modules
  6. The rules every module shares
  7. Motion
  8. Structured data
  9. Building a page
  10. Questions

1. What the theme is

Answerable's home page is one argument in the order a careful reader wants it: the page's question and its answer first, then the evidence, the method, when it fits and when it does not, the questions a reader still has, and where to go next. A machine reading the page gets the same order as typed data: the hero's short answer as a Question, the evidence cards as Claims with a citation each, the method as a HowTo, the comparison as Product rows, the questions as an FAQPage. The layout adds the site graph: who publishes the page, what the page is, when it changed, how to search the site.

Everything a reader needs is in the page before any script runs. There is no dependency, no web font and no third party request. Measured on HubSpot's own hosting it scores desktop 94 / 100 / 98 and mobile 95 / 98 / 97 for accessibility, best practices and performance, and it passes HubSpot's marketplace validator with no failures.

The home page with the photograph hero.
The photograph, heavy motion
The home page with the abstract scene.
The abstract scene, with a clip
The home page with a text-led hero.
No scene, medium motion

2. Getting started

  1. Install the theme from the HubSpot Marketplace. It appears under Settings, Website, Themes and Modules, and in the theme picker when you create a page.
  2. Set the organisation. Settings, Account Defaults: company name, street, city, postal code and country. The site graph publishes the address only when street, city and country are all filled in, so a half-filled address is published as no address at all.
  3. Open the theme settings (Edit theme) and set the brand colours, fonts and the two menu ids: the header menu and the footer menu, from Settings, Website, Navigation menus.
  4. Create a page from the Home template. It comes with all six modules in order; replace the sample content, module by module, starting with the hero's question and answer.
  5. Check it as a crawler would. View the published page's source: six application/ld+json blocks, one h1, and every answer visible without a script.

3. The page, top to bottom

ModuleFor the readerFor the machine
Answer briefAsks the page's question and answers it in two sentences, before anything elseQuestion with its accepted Answer
Evidence cardsThree claims that hold the answer up, each with where it comes fromItemList of Claim, each with a citation
Method explorerHow it is done, in three steps, with what you start and leave withHowTo with a HowToStep each
Fit comparisonWhen it is the right choice and when it is not, as a real tableItemList of two Products with typed rows
Expert answersThe questions a reader still has, each answered and sourcedFAQPage
Next stepWhere to go now, by the reader's situationnothing, on purpose: a call to action is interface, not content

The small badges beside each eyebrow on the live examples ({ } Question, { } Claim ×3, { } HowTo) name the type each block publishes. They are a switch on each module, Show the schema badge, and off by default.

4. Theme settings

Set once, inherited by every page, under Edit theme.

GroupWhat it holds
BrandLogo and its width, primary and secondary colour (the accent and the ink).
TypographyBody and heading fonts, h2 to h6 fonts, link colour, hover, underline.
ColoursPage, surface, text, muted text, border, focus ring.
ButtonsText, background, border, their hover states, corner radius.
FormsBackground, border, label, field border, button and its hover.
HeaderColours, font, a separate logo, and the id of the HubSpot menu to render.
FooterThe same, for the footer.
LayoutContent width, corner radius, density.
Answer enginesOrganisation type for the site graph, a search action and where it points, the speakable specification.

5. The modules

Every section module has the same skeleton, so its fields are grouped the same way in the editor: Content (what it says), the module's own groups, Answer engines (what it publishes), Style (how it looks).

5.1 Answer brief

The hero. The page's only h1, a scene beside it, and the short answer under both.

FieldWhat it does
Eyebrow, Title, Heading elementA line break in the title starts the second line; the Emphasis word in it is set in the accent italic. The element is h1 by default; change it only when the page has an h1 elsewhere.
Primary and secondary call to actionText, link, style. Nothing renders until both a text and a destination are set.
Scene: KindA photograph, the abstract art with a clip, or no scene. With no scene the copy widens.
Scene: Motion levelHeavy, medium or light, for the whole page. See Motion.
Scene: Image, Motion clipThe theme ships its own photograph; an upload replaces it. The clip is a short silent mp4 from the File Manager, loaded only when the scene is on screen, motion is on and the connection is not saving data.
Answer: Question, Definition, Scope, SourceThe question in a reader's words; the two sentences an answer engine quotes; what the answer does and does not cover; where the notes behind it live.
Answer enginesPublish structured data; show the schema badge.
StyleHeading, subheading and body sizes; surface; spacing.

Publishes a Question with @id, mainEntityOfPage and an acceptedAnswer whose url points back at the section. The layout's speakable specification points at the h1 and this answer.

5.2 Evidence cards

One to eight claims in a grid, each with its source and, behind a disclosure, the reasoning.

FieldWhat it does
ContentEyebrow, title, description, heading element, a note under the grid, anchor.
Items: Symbol, Kicker, Title, ExplanationAn icon (link, person, document, check, clock, none); the small line after the index; the claim in one sentence; what it means in practice.
Items: SourceType (the small line above), link text, link. Published as the claim's citation.
Items: DetailShown behind Why this matters. Leave empty to hide the disclosure.
Items: Owner, Reviewed onA credit line under the source, shown only when entered. Fill them on a real site; they are the part of an answer that makes it trustworthy.
Style: ColumnsAuto, one, two or three.

Publishes an ItemList of Claim. A claim needs only a title to be published; citation, author and review date appear when entered.

5.3 Method explorer

Three steps as tabs beside a panel, each with what you start with and what you leave with. With scripts off all three panels are readable in order.

FieldWhat it does
ContentEyebrow, title, description, heading element, anchor.
Items: Tab, Title, ExplanationThe word on the tab; the step's heading; what happens in it.
Items: Input, OutputShown under Start with and Leave with.
Items: SourceWhere the reasoning behind the step lives. The link text defaults to Explore the reasoning.

Publishes a HowTo with three HowToSteps, each with its URL. The art beside each step is drawn by the theme; at heavy motion it floats and tilts with the pointer.

5.4 Fit comparison

A real table with three fixed columns: the consideration, the reference option, the option this page argues for. It scrolls inside its own region on a phone. A comparison with more options is a different module, not a setting.

FieldWhat it does
ContentEyebrow, title, description, heading element; the three column labels; a caption read by screen readers; a note under the table; anchor.
Items: Criterion, Reference, AnswerOne row each: the thing compared, how the reference handles it, how the highlighted option handles it.

Publishes an ItemList of two Products carrying the rows as additionalProperty pairs.

5.5 Expert answers

Questions with answers, each a native <details>: it opens without scripts and a screen reader announces its state.

FieldWhat it does
ContentEyebrow, title, an editorial note, heading element, anchor.
Items: Question, AnswerPublished as the FAQ question and its accepted answer. Keep answers self-contained: an answer that says "see above" is useless once quoted.
Items: Source, Owner, Reviewed onThe source under the answer; the credit line, only when entered.
Style: Disclosure motionFollow the page, a level of its own, or off.

Publishes an FAQPage with every question that has an answer.

5.6 Next step

The decision guide: two to four situations as buttons, one route each, in a dark shell.

FieldWhat it does
ContentEyebrow, title, description, heading element, the label of the button group, anchor.
Items: Tab, Title, Explanation, QuestionThe word on the button; the first thing this team should do; why; the question they keep hearing, shown as a quote.
Items: Call to actionText, link, style.

Publishes nothing, on purpose.

5.7 The fragments

Call to action link: one call to action (text, link, style) with the theme's arrow, available anywhere. Navigation: a HubSpot menu rendered as the theme's own markup, one level of children as disclosures, an optional call to action at the end. The menu comes from the module field first, then from theme settings.

6. The rules every module shares

7. Motion

Three levels, set once per page on the hero's Motion level, or with ?motion=light on the address for a preview. The visitor can turn all of it off with the switch in the footer, and a device that asks for reduced motion, or a connection that is saving data, always wins.

EffectLightMediumHeavy
Sections enterquick fadestaggered revealstaggered reveal
Headline arrives line by line; the accent word settles and catches the lightyesyes
Evidence cards: a band of light, the symbol glows onceyesyes
Comparison rows wipe in one after anotheryesyes
Schema badges type themselves inyesyes
The hero clip plays (abstract scene)on requestyes
Tokens drift behind the hero and flow upward on scrollyes, fine pointer
Scene, caption and buttons answer the pointeryes, fine pointer
Sparks from a section's eyebrow the first time it entersyes
Method art floats and tilts with the pointeryes, fine pointer
The schema object, a slow cube naming what the page publishesyes, fine pointer, wide screens

Every effect moves with transform and opacity only, pauses off screen, and adds nothing a machine reads. On a phone the pointer-driven parts do not exist.

8. Structured data

BlockFromWhat Google does with it today
Organization, WebSite, WebPage, BreadcrumbListthe layout, one graph on every pagebreadcrumb eligible; the organisation feeds the knowledge panel
Question with acceptedAnswerAnswer briefno single question feature; entity data for answer engines
ItemList of ClaimEvidence cardsClaim is a pending schema.org type; entity data
HowToMethod explorerHowTo rich results retired in 2023; the steps still read as ordered steps
ItemList of ProductFit comparisona rich result needs offers or reviews, which are not invented here
FAQPageExpert answersrich result limited to government and health sites since 2023; Bing and the answer engines still read it

That last column is the honest one. The point of the markup is not a rich snippet; it is that an answer engine reading the page gets the question, the answer, who stands behind it and where it came from as typed data, which is what makes a page quotable and attributable. Every URL in the data is absolute, and every block is compared with the visible text before a release.

9. Building a page

Seven page templates (home, page, about, contact, landing page, blog listing, blog post) and seven system templates. Five sections in the section library compose the modules into ready rows: answer and evidence, method and fit, questions and next step, text and image, a statement.

The recipe for a page that reads well to a machine: one hero with the question and its answer; evidence with real sources, owners and review dates; one FAQ with self-contained answers; a next step. Then check it as a crawler would, with scripts off, and confirm the answer is near the top and every claim points somewhere.

10. Questions

Can I use it without the structured data?

Yes. Every module has a Publish structured data switch. The page reads the same; it just stops telling machines what it is.

Where does the hero clip come from?

A theme cannot contain a video, so the clip is a file you upload to the File Manager and choose on the hero's Motion clip field. The hero is complete without one.

Why is the address missing from the data?

Because one of street, city or country is empty in Settings, Account Defaults. The graph publishes the address whole or not at all.

Does the menu come from my HubSpot navigation?

Yes. Put the menu's id in the theme settings (Header, Footer), or choose a menu on the navigation module of a single page to override it there.

What happens with JavaScript off?

Everything is readable: every tab panel and route is shown in order, every disclosure opens natively, and the page's data is unchanged, because it is in the HTML, not built by a script.