Framer Integration
Framer CMS Sync
Framer is a design-first website builder with a powerful CMS. This integration syncs your published RankHiker articles directly to your Framer CMS collection.
How It Works
Unlike other platforms, Framer doesn't have an external REST API for publishing. Instead, this integration uses a pull-based sync:
- You install the RankHiker plugin in Framer
- The plugin fetches your published articles from RankHiker's API
- Articles appear in your Framer CMS collection automatically
Setup Steps
#### Step 1: Generate an Export API Key
- Go to Dashboard → Platforms
- Click Add Platform and select Framer
- In the Framer dialog, click Generate API Key
- Copy the generated key (starts with
rh_export_)
- Open your Framer project
- Go to CMS → Collections
- Create a new Collection (or select an existing blog collection)
- Click Plugins → search for "RankHiker Sync"
- Install the plugin
You have 2 options:
Option A — Use the plugin in developer mode (recommended for now)
If you have access to the RankHiker codebase (this repo), you can run the Framer plugin locally and open it in Framer from a URL.
- Start the plugin dev server:
pnpm -C framer-plugin install
# If syncing against a local RankHiker instance, avoid HTTPS→HTTP “mixed content” by using Vite proxy:
# Create framer-plugin/.env.local with:
# VITE_RANKHIKER_API=/api
# (This proxies https://localhost:5173/api/ → http://localhost:3000/api/)
pnpm -C framer-plugin dev
- Then follow Framer’s “Open in Framer” flow from the plugin docs:
(Framer will prompt you for the plugin URL; use the local dev server URL printed by Vite, typically something like https://localhost:5173.)
Option B — Publish the plugin to Framer
If you want the plugin to show up in Framer search for everyone, it must be published via Framer’s plugin publishing workflow.
> If you tell us whether you want private/internal distribution or a public listing, we can help you prepare the plugin for publishing (stable hosted URL, versioning, and release process).
#### Step 3: Configure the Plugin
- Open the RankHiker plugin in your CMS collection
- Paste your Export API Key
- Select your Workspace (optional - to filter articles by workspace)
- Click Test Connection to verify
- Click Save Configuration
| Field | Type | Description |
|---|---|---|
| Title | String | Article title |
| Slug | String | URL slug |
| Content | Rich Text | Article body (Markdown converted to HTML) |
| Excerpt | String | Short description |
| Featured Image | Image | Article thumbnail |
| Tags | String | Comma-separated tags |
| Published Date | Date | Publication date |
| Original URL | Link | Link to original RankHiker article |
- Click Sync Now in the plugin
- All published articles from RankHiker will appear in your CMS collection
- The plugin automatically converts Markdown to HTML for Framer's rich text fields
Incremental Sync
The plugin remembers the last sync date and only fetches articles published after that date. This makes subsequent syncs faster and more efficient.
What Gets Synced
- Published articles only - Drafts and scheduled articles are not synced
- Full content - Title, body, excerpt, tags, and featured image
- Markdown to HTML - Content is automatically converted from Markdown to HTML
- Images - Featured images are included as image URLs
Updating Articles
If you update an article in RankHiker and publish it again, the next sync will update the content in Framer. The plugin uses article IDs to track which items to update.
Deleting Articles
If an article is deleted from RankHiker, the next sync will remove it from your Framer CMS collection as well.
Using Synced Content in Framer
After syncing:
- Use CMS components to display article content
- Bind fields like
Title,Content,Featured Imageto your design - The
Original URLfield links back to RankHiker for reference
Troubleshooting
- Connection failed - Verify your API key is correct and not expired
- No articles appearing - Make sure you have published articles in RankHiker
- Content not rendering correctly - The plugin converts Markdown to HTML automatically; check that your Framer rich text field is configured correctly
Support
- Full documentation: rankhiker.com/docs/integrations/framer-integration
- Framer plugin docs: framer.com/developers
Was this article helpful?