Lighthouse says 100. Reality says 60.

Between April 10 and April 14, 2026, we ran our free Framer SEO audit on 97 live Framer sites. Each one got crawled (up to 20 pages), run through Lighthouse, and checked against 31 SEO signals across 8 categories: heading structure, internal linking, image weight, schema markup, crawl health, and content depth.

The gap between what Lighthouse reports and what a real audit finds is not small. It is the whole story. (If you have already concluded Framer's SEO ceiling is too low for your project, you can self-host your Framer export as clean HTML in 45 seconds and recover full control of robots.txt, JSON-LD, hreflang, and bundle weight.)

97 out of 100 Lighthouse SEO 58 of 97 sites scored a perfect 100 vs 60 out of 100 Real audit 0 of 97 scored above 85

Same 97 sites. Two very different stories.

97 / 100
Average Lighthouse
SEO score
60 / 100
Average real
audit score
0 of 97
Sites above 85
on the real audit

Fifty-eight of the 97 sites we audited scored a perfect 100 on Lighthouse SEO. Ninety-three scored 85 or higher. Most owners look at that green score and think the job is done. But the best site we audited on the real scale only got to 77. The worst came in at 48.

Why the gap exists. Lighthouse SEO checks plumbing: viewport tag, crawlable links, readable font size, a present <title>. Framer handles all of that cleanly. What Lighthouse does not check: whether your content is thin, whether five of your pages share the same title, whether your site ships 90 MB of images, whether your internal linking is a ghost town. Those are the signals Google actually ranks on.

This post is not a hit piece on Framer. Framer is a great design tool and most of what it produces is clean. But the SEO story is split into two halves that get blurred together: things Framer locks you out of, and things Framer silently lets slide. Both show up in the data.

The issues that actually show up (ranked)

Every row below is the percentage of 97 audited Framer sites where that check failed or warned. None of these are niche.

Issue Category % of sites
Thin content (pages under ~100 words)Content95%
Weak internal linkingArchitecture94%
Broken H1 structure (missing or multiple)Content92%
Lighthouse performance below 90Performance92%
Heavy individual images (>200KB)Performance91%
Missing image alt textMedia89%
Keyword cannibalizationArchitecture88%
Total image weight too highPerformance88%
Missing internal link opportunitiesArchitecture77%
No modern image formats (WebP/AVIF)Performance77%
No JSON-LD structured dataEntity/AI71%
Oversized total page weightPerformance69%
Title tag issues (duplicate, too long, missing)Metadata62%
Meta description issuesContent53%
Live 4xx/5xx pages in the sitemapCrawl32%

The top five hit more than 89% of sites. If you are on Framer today, there is a near-certain chance at least one of these is dragging down your rankings, and a high chance several are.

Content problems hurt more than platform problems

This is the finding that surprised us the most. Framer's real platform limits (no JSON-LD, no hreflang, the well-known favicon cache issue) are real and we will get to them. But the biggest drag on audit scores was not Framer at all. It was content.

And there is a pattern. Bigger sites score worse, not better.

Pages crawled Sites Avg audit score
1 – 3 pages970
4 – 7 pages2260
8 – 15 pages1665
16+ pages5057

Every page you publish without a unique title, a real H1, genuine body copy, and internal links pointing to it drags the whole site's SEO baseline down. Framer's editor does not warn you about any of this. It does not tell you two pages share the same title. It does not flag a page with 47 words of real text. It does not ask why your case-study page is unlinked from the rest of the site.

The comfort in this is that these are the things you can fix without leaving Framer. The hard part is noticing them in the first place.

The image problem nobody tells you about

Across 97 sites, we counted 3,949 images totaling 1.98 GB. The average Framer site in our dataset ships 20 MB of images. The worst offender: 113 MB of images on a single site.

One in three individual images (1,290 of 3,949) is over 200KB. Only 23% of sites in our sample ship their images as WebP or AVIF. The rest are still on PNG and JPG, often at 2× or 3× the size they need to be.

Framer does push images through its CDN with some resizing, but the tooling does not nudge you toward modern formats, does not warn you when a single image is 5 MB, and does not lazy-load aggressively enough for Core Web Vitals to stay green on longer pages. The result: a site that looks light in the editor but weighs a lot more in the browser.

The practical fix: before uploading, run images through a compressor like Squoosh or ImageOptim and convert to WebP. A 3 MB hero PNG usually turns into a 250KB WebP with no visible quality loss. Do this once across your site and you will typically recover 50–80% of your image weight.

What Framer actually locks you out of

Now the parts that are genuinely on the platform. These show up in our audit data and have been asked about on Framer's community forum for two years. You cannot fix any of them inside the editor, no matter how much effort you put in.

A sample of what people have been asking about on Framer's own community forum:

My favicon is not visible on Google. (Shows framer favicon instead)

— Framer Community

Google indexing error: Redirect error

— Framer Community

Selective CMS items to show in Google

— Framer Community

SEO friendly implementation for 8,000+ detail pages

— Framer Community

Each of these maps to a specific missing control. The last one is where it gets painful: if you run a content site on Framer's CMS with thousands of pages, proper internal linking structures, pagination hints, and crawl budget management all become critical. Framer exposes none of them.

The workarounds are doing the work Framer will not

The most revealing thing about Framer SEO is not the complaints. It is what people are building to route around them.

Using Cloudflare Workers to Extend Framer Basic for Advanced SEO and AI Readiness

— Framer Community

Sharing an alternative technical solution for those using the Framer Basic plan and needing IndexNow (SEO)

— Framer Community

How to add llms.txt file to my website

— Framer Community

Cloudflare Workers that intercept HTTP responses to inject JSON-LD. Custom IndexNow implementations for notifying search engines of content changes. External llms.txt hosting stitched together with DNS rewrites. None of this is a checkbox in the editor. All of it requires developer skill, external services, and ongoing maintenance.

The cost math rarely works. Building one of these workarounds usually takes longer than exporting the site and hosting it yourself, where each feature on the list is a few lines of HTML you already own.

What exporting to code actually fixes

Exporting does not fix your content problems. Thin pages, broken H1s, weak linking, cannibalization all travel with you. What it does fix is every platform-level limit, because now you own the HTML and the server.

With exported code you control

  • Full per-page meta and title control
  • Custom JSON-LD schema on every page
  • Complete robots.txt customization
  • Sitemap priorities and exclusions
  • Hreflang tags for multilingual SEO
  • Canonical URL management
  • Server-side redirects (301/302)
  • Custom favicon with proper cache headers
  • llms.txt and AI crawler directives
  • Image compression and format choice

Locked behind Framer

  • No per-page JSON-LD
  • No custom robots.txt rules
  • No hreflang support
  • No sitemap priorities or exclusions
  • No per-page noindex control
  • No server-level redirect control
  • Favicon caching issues
  • No llms.txt access
  • No crawl budget management
  • Limited Core Web Vitals fixes

Once you have the code, adding FAQ schema is a few lines of JSON-LD. Setting up hreflang for three languages is three <link> tags. Customizing your sitemap is editing an XML file. Fixing a favicon takes 30 seconds because you control the headers. These are not hard engineering problems. They are basic web operations that every static host supports by default.

Framer's editor gets you most of the way and then stops. That is true for SEO, and it is true for several other areas. See our complete Framer limitations guide for the full list.

What to do right now

Two things to work on, in order.

1. Fix the content-level issues first. This is roughly 80% of the audit gap and none of it requires leaving Framer:

  1. One unique, descriptive <title> per page, 30–60 characters
  2. One real H1 per page that matches the title's intent
  3. At least 300 words of actual, readable body copy
  4. Internal links in body content, not just in the nav, pointing to your other relevant pages
  5. Alt text on every image
  6. Compress images and convert to WebP before uploading

2. Run the audit to find your specific issues. Every Framer site we audited had at least 8 findings from the list above. Most had 12 or more. The audit tool gives you a ranked fix list in about 30 seconds: letaiworkforme.com/framer-seo-audit.

3. Export when you hit the platform wall. If you need per-page JSON-LD, hreflang, granular robots.txt, or server-level redirect control, the only clean path is out of the Framer editor. Our Framer-to-code export preserves the design exactly and gives you the HTML/CSS/JS to self-host anywhere.

Audit See your 31-check report in 30 seconds Fix content H1s, titles, internal links, image weight Export JSON-LD, hreflang, robots.txt — unlocked Rank on Google with real signals, not plumbing

The honest path forward. Audit is free, fixing content is free, export is only for the platform walls.

See your site in the data

Run the same audit we ran on 97 sites. 31 checks, 8 categories, ranked fix list. No login, no payment.

Run a Free SEO Audit

Already know you need full control? Export your Framer site to code and own the meta, schema, and sitemap Google needs.

Frequently Asked Questions

Lighthouse SEO checks plumbing: viewport tag, crawlable links, font size, a present title tag. Framer handles those cleanly, which is why 58 of 97 Framer sites we audited scored a perfect 100. But Lighthouse does not check thin content, duplicate titles, weak internal linking, keyword cannibalization, or whether your site ships 90 MB of images. Those are the signals Google actually uses for rankings, and they are where Framer sites consistently fall short.

Across 97 Framer sites we audited in April 2026, the average real SEO score was 60 out of 100. The best site scored 77. Not a single site scored 85 or higher. Smaller sites (1 to 3 pages) averaged 70, while larger sites (16 or more pages) averaged 57. Every additional page without unique content, a clear H1, and internal links drags the whole site down.

Framer is not inherently bad for SEO. It generates clean HTML and produces a sitemap automatically. But it gives you just enough control to get started and not enough to finish. Framer has no UI for per-page JSON-LD schema, no hreflang support, no granular robots.txt editing, and no server-level redirects. 71% of Framer sites we audited ship zero structured data. Meanwhile, the issues that hurt rankings most (thin content, broken H1s, weak internal linking) are on the site owner to fix.

The most common causes in our audit data: pages with fewer than 100 words of real body text (95% of sites hit this on at least one page), duplicate title tags across multiple pages (62% had title issues), 4xx or 5xx status codes on pages listed in the sitemap (32% of sites), or the site is on a Framer subdomain rather than a custom domain. Check Google Search Console first. It usually tells you the specific reason before you need to assume it is a platform issue.

Framer has no native way to add JSON-LD per page. You can inject custom code in the site-wide head, but it applies to every page, which defeats the purpose of page-specific schema like FAQ, Product, or Article. The usual workarounds are a Cloudflare Worker that rewrites responses on the edge, or exporting the site to code so you own the HTML.