Reposition ExtensionShield SEO content#227
Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe 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
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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.xmland 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' |
There was a problem hiding this comment.
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.
| node-version: '20' | |
| node-version: '20.19.0' |
Summary
Verification
Notes
Summary by CodeRabbit
New Features
Updates