Skip to content

Reposition ExtensionShield SEO content#227

Merged
Stanzin7 merged 1 commit into
masterfrom
seo/extension-governance-positioning
Apr 22, 2026
Merged

Reposition ExtensionShield SEO content#227
Stanzin7 merged 1 commit into
masterfrom
seo/extension-governance-positioning

Conversation

@Stanzin7
Copy link
Copy Markdown
Owner

@Stanzin7 Stanzin7 commented Apr 22, 2026

Summary

  • Reposition homepage and enterprise copy around open-source browser extension security and governance
  • Add SEO landing pages for extension security, risk score, permissions, governance, plus a Spin.ai comparison page
  • Expand the blog content library to 20 SEO-focused posts and regenerate the sitemap
  • Standardize scoring language around Security / Privacy / Governance and preserve Node 20/Vite CI compatibility

Verification

  • npm run ci:check
  • uv run --cache-dir /tmp/uv-cache pytest (415 passed)

Notes

  • npm audit reports 2 moderate advisories only; the high-severity CI gate passes.
  • Full frontend npm test and npm run lint still expose existing unrelated test/lint debt outside this SEO change path.

Summary by CodeRabbit

  • New Features

    • Added dedicated landing pages for browser extension security, risk scoring, permissions analysis, and governance.
    • Added new Spin.ai comparison page.
    • Enhanced navigation with new security platform and governance menu options.
  • Updates

    • Updated risk score weighting breakdown (Security 40%, Privacy 35%, Governance 25%).
    • Expanded blog content with new articles on governance and security topics.
    • Refined platform positioning and messaging.

Copilot AI review requested due to automatic review settings April 22, 2026 04:09
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

The pull request rebrands ExtensionShield's positioning from a "Chrome extension scanner" to a "browser extension security and governance platform." Changes include updating Node.js runtime versions, creating new landing pages for extension security topics, modifying marketing copy across pages, adding navigation entries, expanding blog content, and updating route configurations to reflect the new terminology and structure.

Changes

Cohort / File(s) Summary
Node.js Runtime Configuration
.github/workflows/seo-test.yml, frontend/.nvmrc, frontend/package.json
Updated Node.js version from 18 to 20+ across CI/CD workflow and project configs; pinned vite dependency to exact version 7.3.2.
Environment & Ignore Patterns
.gitignore
Added env pattern to ignored paths alongside existing environment variable file rules.
Public Assets & Metadata
frontend/public/sitemap.xml
Updated sitemap timestamps and entries; replaced two blog URLs, added many new blog posts and landing pages (/extension-security, /extension-governance, /extension-permissions, /extension-risk-score, /compare/spin-ai) with corresponding <url> entries.
Routing & Route Configuration
frontend/src/routes/routes.jsx
Added 5 new lazy-loaded page components and corresponding routes; updated SEO metadata for existing routes (/, /compare, /blog, /enterprise); implemented blog post redirects for deprecated slugs to new consolidated paths.
Core App & Routing Logic
frontend/src/App.jsx, frontend/src/nav/navigation.js
Updated getRouteSegment() to route /extension-* pages to "resources"; extended top-nav and footer link sets to include new pages (/extension-security, /extension-governance, /extension-permissions, /extension-risk-score) and replaced Benchmarks with Spin.ai comparison link.
Landing Pages – New Components
frontend/src/pages/landing/ExtensionSecurityPage.jsx, frontend/src/pages/landing/ExtensionRiskScorePage.jsx, frontend/src/pages/landing/ExtensionPermissionsPage.jsx, frontend/src/pages/landing/ExtensionGovernancePage.jsx
Added four new React page components explaining extension security topics, risk scoring methodology, permission risks, and governance workflows; each includes SEO metadata, structured content sections, CTAs, and related links.
Landing Pages – Content Updates
frontend/src/pages/landing/ChromeExtensionSecurityScannerPage.jsx, frontend/src/pages/landing/CrxcavatorAlternativePage.jsx, frontend/src/pages/landing/BrowserExtensionRiskAssessmentPage.jsx
Updated marketing copy to position scanner as entry point into governance platform; changed scoring dimension from Compliance to Governance (40%/35%/25%); added navigation links to governance/security pages.
Comparison Pages
frontend/src/pages/compare/CompareCrxcavatorPage.jsx, frontend/src/pages/compare/CompareCrxplorerPage.jsx, frontend/src/pages/compare/CompareExtensionAuditorPage.jsx, frontend/src/pages/compare/CompareIndexPage.jsx, frontend/src/pages/compare/CompareSpinAiPage.jsx
Updated risk-score weightings to Security 40%/Privacy 35%/Governance 25%; expanded CompareIndexPage to include Spin.ai as competitor; added new CompareSpinAiPage component.
Home Page & Hero Sections
frontend/src/pages/HomePage.jsx, frontend/src/components/home/DevOpenCoreSection.jsx, frontend/src/components/home/HowWeProtectYouSection.jsx
Repositioned platform as "open-source browser extension security and governance platform"; updated hero taglines, stats labels, and section copy to emphasize governance workflows and pre-install risk assessment; modified pill labels and marketing messaging.
Blog & Content Data
frontend/src/pages/blog/BlogIndexPage.jsx, frontend/src/data/blogPosts.js
Expanded blog catalog from ~10 to ~40 articles with new topics (governance, supply-chain, MV3, compliance, allowlist); updated blog index title/description; added category values to posts (Permissions, Guide, Governance, Comparison, Technical, Methodology, Developer, Enterprise).
Enterprise & Comparison Pages
frontend/src/pages/EnterprisePage.jsx
Updated page title and description to "Extension Governance Platform for Enterprise"; renamed form header from "Enterprise Pilot" to "Extension Governance Pilot"; rewrote intro paragraph emphasizing governance before shadow IT with allow/block policies and audit evidence.
Scoring & Methodology
frontend/src/pages/reports/ReportDetailPage.jsx, frontend/src/pages/research/MethodologyPage.jsx
Changed scoring dimension label from "Privacy & Compliance" to "Privacy & Governance"; updated methodology FAQ, pipeline labels, and chart labels to replace Compliance with Governance terminology throughout.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Poem

🐰 From scanner springs a platform grand,
With governance the brand now stands,
Five new pages, routes align,
Compliance becomes Governance's shine—
Our hoppy work makes risks design! 🌿✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Reposition ExtensionShield SEO content' clearly and concisely describes the main objective of the changeset: repositioning marketing and SEO copy across the application to focus on open-source browser extension security and governance.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch seo/extension-governance-positioning

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added feature Feature request or feature implementation security Security-sensitive issue or change area: frontend Changes to the React frontend area: infra CI, deployment, database, or repository automation changes labels Apr 22, 2026
@Stanzin7 Stanzin7 merged commit 8cc1ddd into master Apr 22, 2026
26 of 27 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Repositions ExtensionShield’s marketing/SEO content around an open-source browser extension security + governance platform, adding new high-intent landing pages, expanding the blog library, and updating sitemap + Node/Vite compatibility settings.

Changes:

  • Added new SEO landing pages (security, risk score, permissions, governance) and a Spin.ai comparison page, wiring them into routing + navigation.
  • Reworked homepage, enterprise, blog, and comparison copy to standardize “Security / Privacy / Governance” language and updated/redirected legacy blog URLs.
  • Regenerated sitemap.xml and updated frontend Node/Vite constraints (Node 20.19+, Vite pinned).

Reviewed changes

Copilot reviewed 27 out of 29 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
frontend/src/routes/routes.jsx Adds new landing/compare/blog routes, updates SEO metadata, and introduces redirects for legacy blog slugs.
frontend/src/pages/research/MethodologyPage.jsx Renames “Compliance” to “Governance” across methodology schema/UI to match standardized scoring language.
frontend/src/pages/reports/ReportDetailPage.jsx Updates report UI label to “Privacy & Governance”.
frontend/src/pages/landing/ExtensionSecurityPage.jsx New SEO landing page for extension security with FAQ schema + CTAs.
frontend/src/pages/landing/ExtensionRiskScorePage.jsx New SEO landing page explaining the Security/Privacy/Governance score model.
frontend/src/pages/landing/ExtensionPermissionsPage.jsx New SEO landing page explaining risky extension permissions with FAQ schema + CTAs.
frontend/src/pages/landing/ExtensionGovernancePage.jsx New SEO landing page positioning governance workflows and compliance framing.
frontend/src/pages/landing/CrxcavatorAlternativePage.jsx Updates copy to reflect Governance terminology/weights.
frontend/src/pages/landing/ChromeExtensionSecurityScannerPage.jsx Repositions scanner messaging as entry point to broader governance platform; adds related link.
frontend/src/pages/landing/BrowserExtensionRiskAssessmentPage.jsx Adds related link to the new governance landing page.
frontend/src/pages/compare/CompareSpinAiPage.jsx New competitor comparison page for Spin.ai vs ExtensionShield.
frontend/src/pages/compare/CompareIndexPage.jsx Updates compare hub SEO/copy and adds link to Spin.ai comparison page.
frontend/src/pages/compare/CompareExtensionAuditorPage.jsx Updates scoring weights/terminology to 40/35/25 and Governance.
frontend/src/pages/compare/CompareCrxplorerPage.jsx Updates scoring weights/terminology to 40/35/25 and Governance.
frontend/src/pages/compare/CompareCrxcavatorPage.jsx Updates scoring weights/terminology to 40/35/25 and Governance.
frontend/src/pages/blog/BlogIndexPage.jsx Updates blog index SEO/copy to align with platform + governance positioning.
frontend/src/pages/HomePage.jsx Repositions homepage messaging, schema descriptions, keywords, and hero copy around governance platform framing.
frontend/src/pages/EnterprisePage.jsx Updates enterprise page SEO/copy to emphasize governance pilot and pre-install controls.
frontend/src/nav/navigation.js Updates nav match paths and footer links to include new landing pages and governance entry points.
frontend/src/data/blogPosts.js Expands/rewrites blog post library (SEO-focused) and updates slugs/content used by blog pages.
frontend/src/components/home/HowWeProtectYouSection.jsx Updates section messaging to emphasize governance-before-install narrative.
frontend/src/components/home/DevOpenCoreSection.jsx Updates developer/pro messaging and pills to reflect open-core + governance framing.
frontend/src/App.jsx Classifies /extension-* paths under “resources” for route segment logic.
frontend/public/sitemap.xml Regenerates sitemap entries/lastmod timestamps and includes new landing + blog URLs.
frontend/package.json Raises Node engine requirement to >=20.19.0 and pins Vite to 7.3.2.
frontend/package-lock.json Locks Vite to 7.3.2 and reflects Node engine requirements.
frontend/.nvmrc Pins frontend dev Node version to 20.19.0.
.gitignore Adds env ignore entry (in addition to existing venv patterns).
.github/workflows/seo-test.yml Updates SEO workflow Node version from 18 to 20.
Files not reviewed (1)
  • frontend/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

uses: actions/setup-node@v4
with:
node-version: '18'
node-version: '20'
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions/setup-node uses node-version: '20', while the frontend now requires Node >=20.19.0 (and Vite 7.3.2’s engines is ^20.19.0 || >=22.12.0). Using '20' will typically resolve to a compatible 20.x, but pinning to 20.19.0 (or reading from frontend/.nvmrc) makes the workflow deterministic and avoids surprises if runners/toolcache ever lag.

Suggested change
node-version: '20'
node-version: '20.19.0'

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: frontend Changes to the React frontend area: infra CI, deployment, database, or repository automation changes feature Feature request or feature implementation security Security-sensitive issue or change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants