Use case

ESLint for your SEO.

You write clean components and type-safe code. Your metadata should get the same treatment. But SEO metadata lives in a weird gray zone — it is not checked by TypeScript, not validated by ESLint, and not tested by your test suite. Broken og:images, truncated titles, and duplicate descriptions ship to production without any warning. Indxel changes that. It gives you TypeScript types for SEO config, CLI validation that feels like a linter, and CI/CD guards that catch metadata issues the same way your test suite catches bugs.

Common pain points

  • SEO feels like a backend or marketing concern, not a dev concern
  • No TypeScript types or autocompletion for metadata fields
  • Manual SEO checklists are tedious and error-prone
  • Structured data requires writing raw JSON-LD by hand

How Indxel helps

Type-safe SEO

defineSEO() and createMetadata() are fully typed. Get autocompletion and compile-time errors for your metadata.

CLI that feels like a linter

npx indxel check outputs warnings and errors just like ESLint. Familiar DX, zero learning curve.

Generated structured data

generateLD() outputs valid JSON-LD with full TypeScript support. No more hand-written JSON blobs.

Git-aware diffing

indxel check --diff validates only files you changed. Fast feedback in your development loop.

Type-safe metadata in Next.js

typescript
import { defineSEO, createMetadata } from 'indxel'

const seo = defineSEO({
  siteName: 'MyApp',
  siteUrl: 'https://myapp.com',
  titleTemplate: '%s | MyApp',
  // ^ Full autocompletion for all fields
})

export const metadata = createMetadata(seo, {
  title: 'About', // TS error if missing
  description: 'Learn more about MyApp.',
})

Add SEO validation to your dev workflow.

View pricing