SDK Reference
TypeScript SDK for defining metadata, generating JSON-LD, validating SEO, crawling sites, and researching keywords.
Installation
npm install indxelZero runtime dependencies. Ships ESM + CJS + TypeScript declarations. Optional peer dependency: next >= 14.
Minimum requirements
Functions
defineSEO()
Define site-wide SEO defaults. Returns a frozen config used by all other functions.
createMetadata()
Generate Next.js Metadata objects with canonical, OG, Twitter, hreflang.
generateLD()
Generate JSON-LD structured data. Supports Article, FAQ, HowTo, Product, and more.
validateMetadata()
Validate metadata against 15 SEO rules. Returns 0-100 score with grade.
crawlSite()
Crawl a live website. Audits every page, runs cross-page analysis.
fetchSitemap()
Fetch and parse sitemap.xml. Compare against crawled URLs.
fetchRobots()
Fetch and parse robots.txt. Check URL blocking rules.
verifyAssets()
Verify that referenced assets (og:image, favicon) respond correctly.
researchKeywords()
Discover keywords via Google Autocomplete. No API key required.
analyzeContentGaps()
Find keyword opportunities your existing pages miss.
Quick Example
import { defineSEO } from 'indxel'
export default defineSEO({
siteName: 'My SaaS',
siteUrl: 'https://mysaas.com',
titleTemplate: '%s | My SaaS',
defaultDescription: 'Build faster with My SaaS.',
defaultOGImage: '/og-default.png',
locale: 'en_US',
twitter: { handle: '@mysaas', cardType: 'summary_large_image' },
})import { createMetadata, generateLD } from 'indxel'
import seoConfig from '@/seo.config'
export function generateMetadata() {
return createMetadata({
title: 'Pricing',
description: 'Simple pricing. Start free.',
path: '/pricing',
}, seoConfig)
}
// JSON-LD
const faq = generateLD('FAQ', {
questions: [
{ question: 'Is there a free plan?', answer: 'Yes, forever.' },
],
})TypeScript Types
import type {
SEOConfig, // Global site SEO configuration
PageSEO, // Per-page SEO options
MetadataOutput, // Next.js-compatible metadata object
StructuredDataType, // 'Article' | 'FAQ' | 'HowTo' | ...
ValidationResult, // Score, grade, errors, warnings, passed rules
CrawlOptions, // maxPages, maxDepth, delay, strict, ignorePatterns
CrawlResult, // pages, averageScore, grade, analysis
KeywordResearchResult, // suggestions, questions, longTail
ContentGapResult, // covered, gaps, coveragePercent
} from 'indxel'