Skip to content

Framer Integration

Framer supports custom code injection on all paid plans, which is all SEOJuice needs.

Installation

  1. Open your Framer project and click Site Settings (gear icon)
  2. Go to the General tab and scroll to Custom Code
  3. In the End of <body> tag section, paste the SEOJuice script:
<script type="text/javascript" src="https://cdn.seojuice.io/suggestions.v1.js" defer></script>
<noscript><img src="https://smart.seojuice.io/pixel" width="1" height="1" alt="" style="display:none"></noscript>
  1. Click Save and Publish your site
  2. Add your website in the SEOJuice dashboard

SEOJuice will begin crawling your site within minutes.

Framer-Specific Considerations

Client-Side Navigation

Framer uses client-side routing for page transitions. SEOJuice detects navigation changes automatically via history.pushState and re-applies optimizations on each page transition.

CMS Collection Pages

The script loads on every page, so SEOJuice works on Framer CMS blog posts and dynamic pages the same as static ones.

Custom Domain

Make sure you’ve added your custom domain (not the .framer.app subdomain) in the SEOJuice dashboard. If you’re testing before connecting a domain, you can add the .framer.app URL and switch it later.

Page-Level Custom Code

Framer also allows adding custom code to individual pages via Page SettingsCustom Code. Use the site-wide method above instead — it applies to all pages automatically.

What SEOJuice Can Optimize on Framer

FeatureWorks?Notes
Internal linksYesInjected via JavaScript
Meta descriptionsYesFor pages missing them
Image alt textYesAI-generated alternatives
Accessibility fixesYesARIA labels, focus management, skip nav
Structured dataYesJSON-LD injected at runtime
Open Graph tagsYesFor social sharing

Verify Your Integration

  1. Visit your published Framer site (not the editor preview)
  2. Open browser DevTools (F12)
  3. Go to the Network tab, reload, and filter for seojuice
  4. You should see suggestions.v1.js loading with a 200 status

For troubleshooting, see Integration Verification.