ArticlesSEO & AEO

How to add schema markup to a HubSpot site

Schema markup is how you tell search engines and AI assistants, in their own language, what your pages are about. HubSpot gives you three places to put it, and one of them is much better than the others.

How do you add schema markup in HubSpot?

As JSON-LD, in one of three places: the site-wide head HTML in HubSpot’s settings for markup that’s the same on every page, the head HTML of a single page in its advanced settings, or generated by the theme’s templates and modules from the page’s own fields. The last one is the most reliable, because the markup always matches what the page shows.

What schema markup does

Schema markup is structured data, written in the vocabulary from schema.org, that describes a page in a form machines can read without guessing. A person can see that a page is about your company’s SEO service, priced from a certain amount, offered in Finland and Spain. Structured data says the same thing explicitly.

Google uses it for rich results, such as breadcrumbs, review stars and product details in search, and to understand the page. AI assistants benefit from the same clarity when they decide what a page says and whether to quote it.

The markup most HubSpot sites need

TypeWhereWhat it says
Organization (or LocalBusiness)Every page, onceWho you are: name, logo, contact details, social profiles
WebSiteHome pageThe site’s name and address
BreadcrumbListEvery page below the home pageWhere the page sits in the site
ServiceService pagesWhat the service is, who provides it, where
BlogPosting or ArticleBlog posts and guidesHeadline, author, dates
FAQPagePages with visible questions and answersThe questions and their answers
ProductProduct pagesName, price, availability, reviews

Use JSON-LD, a small script block in the page’s head. It’s the format Google recommends, and it keeps the markup separate from the design.

Option 1: Site-wide head HTML

HubSpot’s website settings have a site header HTML field that’s added to every page. It’s the right place for markup that never changes between pages, which in practice is your Organization block.

Don’t put page-specific markup here. A Service block added site-wide would claim that every page, including your blog posts, is that service.

Option 2: Per page, in the page settings

Every HubSpot page has a head HTML field in its advanced settings. You can paste a JSON-LD block there for that page only. It works, and it’s fine for a handful of pages, but it has a weakness: when someone edits the page text, the markup doesn’t change with it. Six months later the page says one price and the markup another.

The most reliable approach is to let the templates and modules write the markup from the same fields that render the page. An FAQ module outputs its questions as visible text and as FAQPage markup at the same time. A blog post template builds BlogPosting markup from the post’s title, author and dates. A breadcrumb module outputs BreadcrumbList from the same links it shows.

The markup can’t drift from the content, because they come from the same place, and editors don’t need to know any JSON. This is how our AEO First theme works, and it’s how we build schema into custom themes. There’s more on that in building modules marketers can’t break.

What changed with FAQ and how-to results

In 2023, Google limited FAQ rich results to well-known, authoritative government and health sites, and stopped showing how-to rich results. That doesn’t make the markup useless: it still describes your content precisely, for Google and for AI assistants. Just don’t add it expecting the expandable questions under your search result.

How to test it

  1. Run the live page through Google’s Rich Results Test. It shows which markup Google found and whether it qualifies for rich results.
  2. Use the Schema Markup Validator at validator.schema.org for types Google doesn’t show as rich results.
  3. Check Google Search Console’s enhancement reports after a few weeks for errors across the whole site.

And one rule above all: only mark up what the page actually shows. Markup describing reviews, prices or questions that aren’t on the page breaks Google’s guidelines.

Questions we get

Does HubSpot add schema markup automatically?

Only a little, and it depends on the theme. Most sites need their own Organization, Service and breadcrumb markup, either added by hand or generated by the theme.

Is FAQ markup still worth adding?

Yes, but not for the rich result. Since 2023 Google shows FAQ rich results mainly for well-known government and health sites. The markup still helps search engines and AI assistants read your questions and answers.

Can wrong markup hurt my site?

Markup that doesn’t match the visible page can be ignored, and misleading markup can lead to a manual action from Google. Keep it accurate and in sync with the content.

Want help with this?

We audit and fix existing sites, and build new ones with the structure and markup that search engines and AI assistants read. See SEO & AEO, or tell us what you’re working on and we’ll reply within one business day.