IndexMint is a professional Chrome extension by Codezela Technologies that provides instant SEO audits and social preview checks for any webpage.
- Metadata Analysis — Title tag, meta description, robots, canonical, viewport, language
- Heading Structure — H1-H6 hierarchy, duplicate detection, empty/long heading warnings
- Image Accessibility — Alt text coverage, missing alt detection, lazy loading audit
- Link Analysis — Internal vs external counts, broken anchors, rel attribute detection
- Schema Detection — JSON-LD parsing, microdata detection, validity checking
- Google SERP Preview — See how your page appears in Google search results
- Facebook/LinkedIn Card Preview — See how your page appears when shared on social media
- Open Graph & Twitter Card Audit — Validate all OG and Twitter meta tags
- 0-100 Score with weighted categories
- Verdict System — Excellent (75+), Good (60-74), Needs Work (40-59), Poor (<40)
- Top Fixes — Prioritized list of the most impactful improvements
- Copy short summary
- Copy full markdown report
- Download .md report file
- Copy top fixes list
- Light & Dark theme
- Professional, minimal UI
- Collapsible sections with persistent state
- Animated score visualization
- Clone this repository
- Run
pnpm install - Run
pnpm build - Open
chrome://extensions/in Chrome - Enable "Developer mode"
- Click "Load unpacked" → select
.output/chrome-mv3/
- Node.js 18+
- pnpm 8+
pnpm installpnpm dev # Start development server with hot reloadpnpm build # Production buildpnpm test # Run all unit tests
pnpm test:watch # Run tests in watch mode
pnpm test:e2e # Run e2e tests (requires build first)
pnpm type-check # TypeScript type checking
pnpm lint # ESLint- WXT — Modern Chrome extension framework (Manifest V3)
- React 19 + TypeScript 5.8 — UI components
- Tailwind CSS v4 — Styling with custom IndexMint theme
- Vite — Build tooling
- Vitest — Unit testing
- Playwright — E2E testing
src/
├── assets/ # Tailwind CSS theme
├── components/ # React UI components (13 components)
├── entrypoints/
│ ├── background.ts # Service worker (scan orchestrator)
│ ├── page-scanner.ts # Content script (DOM extraction)
│ └── popup/ # Extension popup UI
├── hooks/ # React hooks (useAudit, useTheme, useStorage)
├── lib/ # Core logic (scoring, extractors, export)
└── types/ # TypeScript type definitions
tests/
├── unit/ # Vitest unit tests (98 tests)
├── e2e/ # Playwright e2e tests
└── fixtures/ # Test HTML fixtures
- Popup sends
SCAN_PAGEto background service worker - Background injects
page-scanner.jsinto the active tab - Scanner extracts all page data (metadata, social, headings, images, links, schema)
- Background runs scoring engine on extracted data
- Result sent back to popup for display
| Category | Weight |
|---|---|
| Metadata | 30% |
| Headings | 15% |
| Social/OG | 15% |
| Images | 20% |
| Links | 10% |
| Schema | 10% |
IndexMint runs entirely locally in your browser. No data is sent to any server. No analytics. No tracking.
- ✅ No external network requests
- ✅ No data collection
- ✅ No cookies
- ✅ No third-party services
- ✅ Minimal permissions (activeTab, scripting, storage)
Proprietary — © 2026 Codezela Technologies (Pvt) Ltd. All rights reserved. See LICENSE for details.
Built with ❤️ by Codezela Technologies
IndexMint — Fresh SEO insights, one click away. 🌿