How to Add Framer Schema Markup to Your Website

August 3, 2026 | 7 min read


How to Add Framer Schema Markup to Your Website

Schema markup helps search engines understand what your pages are about, and it can produce rich results like star ratings, FAQ dropdowns, and article carousels. Framer does not have a built-in schema builder, but it fully supports JSON-LD schema markup through its Custom Code feature. This Framer schema markup guide covers static pages, CMS collection pages, and the schema types that matter most for business sites.


We design Framer templates, and schema markup is one of the easiest upgrades we recommend after the basics are done. It does not directly improve rankings, but it can make your search listings larger and more clickable. A page at position five with a rich result can out-click a page at position four without one.


If you are new to structured data, start with one schema type and validate it before adding more.

Is Framer schema markup possible without code?

Yes. Framer supports JSON-LD schema markup through Custom Code. You can add schema to the head of an individual page, to all pages at the site level, or to CMS collection templates using dynamic variables. There is no visual schema editor, so you either write the JSON-LD yourself or generate it with a tool and paste it in.

The key places to add schema are:

  • Homepage: Organization schema
  • About or contact page: LocalBusiness schema
  • FAQ page: FAQPage schema
  • Blog posts: BlogPosting schema
  • Product pages: Product schema

Where to put Framer schema markup JSON-LD

For a static page, open the page, go to Page Settings, then the Custom Code tab. Paste your JSON-LD inside a <script type="application/ld+json"> tag in the <head> section.


For site-wide schema like Organization markup, go to Site Settings, then Custom Code, and add it to the global head. This appears on every page.


For CMS pages, open the CMS template page, go to Page Settings, then Custom Code, and use Framer's variable syntax to pull in fields. For example, {{Title | json}} outputs the CMS title field, safely escaped for JSON.

Organization schema example for your homepage

Organization schema tells Google your company name, logo, website, and social profiles. It is the most common schema type and belongs on your homepage.

```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Company Name",
"url": "https://www.yourdomain.com",
"logo": "https://www.yourdomain.com/logo.png",
"sameAs": [
"https://twitter.com/yourhandle",
"https://www.linkedin.com/company/yourcompany"
]
}
</script>
```

Replace the values with your real information. Add this to the custom code head of your homepage only. If you add it site-wide, make sure it does not conflict with more specific schema on other pages.

FAQ schema example for your FAQ page

FAQPage schema can turn your questions into expandable dropdowns directly in Google's search results. It works best when your FAQ page has a clear question-and-answer format.

```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Framer schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Framer schema markup is JSON-LD structured data added to a Framer site through Custom Code to help search engines understand page content."
}
},
{
"@type": "Question",
"name": "Can you add schema to Framer CMS pages?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Framer CMS pages support schema markup using Custom Code and CMS variables like {{Title | json}} to generate unique structured data per page."
}
}
]
}
</script>
```

Add one question block for each item on your FAQ page. The text inside the answer should match what appears on the page.

BlogPosting schema for Framer CMS blog posts

BlogPosting schema helps individual blog posts appear as rich results. On a Framer CMS blog template, you can generate this dynamically so every post gets its own schema.

```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": {{Title | json}},
"description": {{Excerpt | json}},
"image": {{Cover_Image | json}},
"datePublished": {{Created | json}},
"dateModified": {{Updated | json}},
"author": {
"@type": "Person",
"name": {{Author_Name | json}}
}
}
</script>
```

The | json filter escapes the values so they are safe inside JSON. Created and Updated are built-in CMS variables. Author_Name would come from a reference field if you have an Authors collection.


If you are building a blog in Framer, our Framer blog setup guide covers the full CMS structure you need for this to work.

LocalBusiness schema for service businesses

If you serve customers at a physical location, LocalBusiness schema helps you show up in local search and map packs.

```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Business Name",
"image": "https://www.yourdomain.com/photo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "City",
"addressRegion": "State",
"postalCode": "12345",
"addressCountry": "US"
},
"telephone": "+1-555-555-5555",
"url": "https://www.yourdomain.com"
}
</script>
```

Use the most specific business type if possible, such as Attorney, Dentist, or Restaurant, instead of the generic LocalBusiness.

How to validate your Framer schema markup

After publishing, always validate your schema. Use Google's Rich Results Test to check whether your JSON-LD is valid and eligible for rich results. Paste your live page URL into the tool and review the errors.

Common mistakes include:

  • Missing commas between objects
  • Unescaped quotes inside text fields
  • Using the wrong schema type for the page content
  • Mismatch between schema content and visible page content

Fix any errors, republish, and test again. Google will not show rich results for invalid schema.

Schema mistakes that waste your time

Adding schema is easy. Adding schema that helps is slightly harder. Avoid these common mistakes.

Marking up hidden content. The text in your schema should match content that is visible on the page. If Google thinks you are trying to game rich results with hidden answers, it can ignore your schema.

Overusing FAQ schema. FAQPage schema should only go on actual FAQ pages. Adding it to every page on your site looks manipulative and can get your rich results disabled.

Forgetting to test. A single missing comma breaks the entire JSON-LD block. Always validate after publishing.

Adding every schema type. Start with Organization, FAQPage, and BlogPosting. Only add Product, Event, or Recipe schema if your page truly contains that content.

Frequently asked questions

Does Framer have a built-in schema markup feature?

No. Framer does not have a native schema builder. You add schema markup by pasting JSON-LD into the Custom Code section of a page or CMS template. Framer supports CMS variables so schema can be dynamic.

Can you add schema to all Framer pages at once?

Yes. Add the schema to the global Custom Code section in Site Settings. This is useful for Organization schema. Be careful not to add page-specific schema like FAQPage or BlogPosting globally, because it would be identical on every page.

What schema types work best on Framer sites?

For most business sites, Organization schema on the homepage, LocalBusiness schema on contact pages, FAQPage schema on FAQ pages, and BlogPosting schema on blog posts. Ecommerce sites should add Product schema to product pages.

Schema markup is worth the extra ten minutes

Framer schema markup is not automatic, but it is straightforward. A few lines of JSON-LD in the right places can make your search listings more useful and more clickable. The work is front-loaded: set up your templates once, and every new blog post or page inherits the correct structured data.


If you are building from a Framer template, check whether the template already includes Organization schema. Our customization guide shows how to update schema without breaking the existing code. For the bigger picture on Framer SEO, read our Framer SEO review and run our Framer SEO checklist before launch.


Ready to build the content that schema describes? Our Framer CMS tutorial and blog setup guide will get you there. And if you want a template with SEO and schema foundations already in place, browse our Framer templates.

Build faster with DiverseKit

Explore our library of premium Framer templates and UI components to launch your next project in hours, not weeks.

Get 30% Off Before This Deal Ends

Claim an exclusive 30% discount code for premium Framer templates, UI components, and all-access packages to build and launch faster.

We'll send your discount code directly to your inbox.

Framer