Skip to content

Framer Integration

Framer supports custom code injection on all paid plans, making it easy to integrate SEOJuice.

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

If you use Framer’s CMS for blog posts or dynamic pages, SEOJuice works on these pages too. The script loads on every page regardless of whether it’s a static page or a CMS-generated one.

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.