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
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