Skip to content

Add First Rank Pro plugin#655

Closed
arun-dev-des wants to merge 1 commit into
framer:mainfrom
arun-dev-des:add-first-rank-pro
Closed

Add First Rank Pro plugin#655
arun-dev-des wants to merge 1 commit into
framer:mainfrom
arun-dev-des:add-first-rank-pro

Conversation

@arun-dev-des

@arun-dev-des arun-dev-des commented Jun 11, 2026

Copy link
Copy Markdown

Description

Adds First Rank Pro — an on-page SEO auditing plugin for Framer sites. It analyzes the published pages of a project and checks the fundamentals search engines care about: page title, meta description, H1 and heading hierarchy, main-keyword usage and placement, image alt text (with inline editing written back to canvas nodes), and content length — with a quick summary, per-check guidance, and a live SERP preview.

A few notes for review:

  • Approved and live on the Marketplace: First Rank Pro (plugin id 117943, kept in framer.json) — this exact code has passed Framer's marketplace review. Marketplace versions are published manually by the author, so this PR intentionally has no Changelog section and should not get the "Auto submit to Marketplace on merge" label.
  • Page fetching: page HTML is fetched through Framer's own CORS proxy (framer-cors-proxy.framer-team.workers.dev, the same worker used elsewhere in this repo) and analyzed client-side — no author-hosted infrastructure on the core path. The proxy is overridable via VITE_PROXY_URL (transparent prefix style).
  • AI surfaces (suggested titles/descriptions/H1s/keywords/alt text) exist in the code but are disabled behind a single flag (src/config/featureFlags.ts); their endpoints point at an author-hosted backend and are env-overridable (VITE_AI_API_URL, VITE_ALT_TEXT_API_URL).
  • Styling: the plugin deliberately does not import framer-plugin/framer.css; it ships its own design system that themes light/dark off the data-framer-theme attribute (WCAG AA in both themes) plus an in-plugin theme toggle. Mentioning so the missing import isn't read as an oversight.
  • Uses framer-plugin@3.11.0-alpha.12, the shared g:* scripts/vite config, and passes yarn check --filter=first-rank-pro (biome + eslint + typescript).
  • One 3.11 note found during testing: framer.getNode() does not resolve every node id returned by getNodesWithAttributeSet("backgroundImage") (e.g. nodes on other web pages), so alt-text saves resolve the target node through the same getNodesWithAttributeSet query instead.

Testing

All verified in the Framer editor against a live published project (custom domain + framer.app):

  • yarn check --filter=first-rank-pro passes (biome, eslint, typescript)
  • yarn turbo run build --filter=first-rank-pro builds; pack produces a valid plugin.zip
  • yarn dev --filter=first-rank-pro serves the plugin over https
  • Page fetching through framer-cors-proxy.framer-team.workers.dev verified against a live site: 200 pages, CORS headers, and 404 pages with HTML bodies all pass through correctly
  • In Framer: open the dev plugin on a published project
    • Pages list loads with publish info; domain switcher appears when a custom domain + framer.app domain both exist
    • Republishing the site updates the displayed domain live (publish-info subscription)
    • Opening a page runs the SEO audit (title/meta/H1/hierarchy/keyword/alt text/content length) and the SERP preview renders
    • Editing an image alt text saves back to the node (setAttributes with cloned ImageAsset) — verified updating 13 copies of a shared image across the project
    • Focus keyword persists via plugin data across reopen
    • Theme follows the editor (light/dark) and the in-plugin toggle works

@arun-dev-des arun-dev-des force-pushed the add-first-rank-pro branch 3 times, most recently from 9c3bed3 to 33aede6 Compare June 11, 2026 13:11
On-page SEO auditing for Framer sites: checks page title, meta
description, H1 and heading hierarchy, main-keyword placement, image
alt text (with inline editing written back via setAttributes), and
content length, with a quick summary, per-check guidance, and a SERP
preview. Follows the publish info subscription so the audited domain
updates live on republish, themes light/dark off data-framer-theme,
and persists keywords via plugin data.

Already live on the Marketplace as id 117943; versions are published
manually by the author. Page HTML is fetched through an author-hosted
CORS proxy, overridable via VITE_PROXY_URL. AI surfaces are disabled
behind a feature flag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@arun-dev-des

Copy link
Copy Markdown
Author

Update: the plugin has now been approved and is live on the Framer Marketplace — https://www.framer.com/marketplace/plugins/first-rank-pro/ . This PR contains the same code that passed marketplace review.

@madebyisaacr

Copy link
Copy Markdown
Collaborator

Hi @arun-dev-des! Thank you for the contribution. This GitHub repository is only for plugins which are published under the Framer profile on the marketplace, not third-party plugins. If you'd like to make your plugin open source, you can publish it in a separate repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants