Framer Integration
Framer supports custom code injection on all paid plans, making it easy to integrate SEOJuice.
Installation
- Open your Framer project and click Site Settings (gear icon)
- Go to the General tab and scroll to Custom Code
- 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>- Click Save and Publish your site
- 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 Settings → Custom Code. Use the site-wide method above instead — it applies to all pages automatically.
What SEOJuice Can Optimize on Framer
| Feature | Works? | Notes |
|---|---|---|
| Internal links | Yes | Injected via JavaScript |
| Meta descriptions | Yes | For pages missing them |
| Image alt text | Yes | AI-generated alternatives |
| Accessibility fixes | Yes | ARIA labels, focus management, skip nav |
| Structured data | Yes | JSON-LD injected at runtime |
| Open Graph tags | Yes | For social sharing |
Verify Your Integration
- Visit your published Framer site (not the editor preview)
- Open browser DevTools (F12)
- Go to the Network tab, reload, and filter for
seojuice - You should see
suggestions.v1.jsloading with a 200 status
For troubleshooting, see Integration Verification.