Guide · Framer

Framer SEO — what you can and can't control

Framer handles the basics well. The gaps are real but manageable if you know where they are before you build. Here's the full picture.

What Framer handles automatically

Static HTML output

Framer publishes fully rendered HTML pages — not a JavaScript shell that renders content after load. Googlebot can read Framer pages without executing JavaScript first, which matters for indexing speed.

Global CDN hosting

All Framer sites are served from a global CDN. Time to first byte is fast by default. You don't need to configure hosting, caching or edge delivery.

Automatic sitemap

Framer generates a sitemap.xml at your domain root automatically. All published pages are included. CMS pages are included when published. You don't need a plugin or custom build step for this.

HTTPS

SSL is provisioned automatically for all Framer domains, including custom domains. No configuration needed.

What you configure manually

01

Meta title and description per page

In Framer's site settings, then per-page in the page settings panel. For CMS pages, you connect a title and description field from your collection. Default values fall back to the site-level settings — set those first.

02

Open Graph image

Framer lets you set an OG image per page or site-wide. For CMS pages, connect it to an image field. Without this, social previews show a blank or generic image.

03

Canonical URL

Framer sets the canonical to the published URL automatically. If you're syndicating content elsewhere or have duplicate pages, you can override it in page settings.

04

Heading structure

Framer doesn't enforce heading hierarchy. You're responsible for making sure each page has one H1, that H2s follow logically, and that headings aren't set by visual style only. Check this before you publish.

05

Image alt text

Every image layer in Framer has an alt text field. It's optional by default — you have to fill it in. For CMS images, connect it to a text field in your collection.

The real limitations

No custom robots.txt

Framer generates a robots.txt automatically and you can't replace it. You can set individual pages to noindex in page settings, but you can't add custom directives or block specific crawlers.

No structured data UI

Framer doesn't have a built-in way to add JSON-LD schema markup. You can add it via a custom code component or a site-wide code injection in site settings. It works, but it's not automatic.

Interactions can hurt Core Web Vitals

Heavy scroll animations, large images without lazy loading, or too many font weights loaded upfront can push LCP and CLS into poor territory. Framer doesn't warn you. Run PageSpeed Insights after publishing and fix what you find.

301 redirects are manual

Framer supports redirects in site settings. You add them one by one. If you're migrating a site with dozens of URLs, this gets tedious. There's no CSV import or bulk redirect tool.

The SEO checklist for a Framer site

Related