SEO engine for JavaScript apps
Ship metadata, JSON-LD, robots.txt, llms.txt, and CI SEO audits in Next.js, Nuxt, or Astro — without WordPress plugins or admin panels.
npm install @seo-engine/coreHow the packages fit together
@seo-engine/core
Pure SEO logic
@seo-engine/adapters-next
Framework glue
Your app
Production routes
Core has zero database or framework dependencies.
What is @seo-engine?
A free, MIT-licensed SEO toolkit for modern JavaScript frameworks — metadata, schema, crawl files, and CI audits in one place.
What it is
An open-source npm monorepo with production-grade SEO utilities — metadata templates, structured data, crawl files, redirects, and content scoring. Pure TypeScript, not a WordPress plugin.
Who it's for
Teams building Jamstack sites, SaaS marketing pages, headless CMS frontends, and agencies shipping client projects on Next.js or similar frameworks.
What it replaces
Piecing together next-seo, hand-rolled robots.txt routes, and one-off schema scripts. One toolkit with shared types and CI-friendly audits.
WordPress plugins vs @seo-engine
| WordPress SEO plugins | @seo-engine | |
|---|---|---|
| Runtime | PHP + admin UI | npm packages + CI |
| Framework | WordPress only | Next.js, Nuxt, Astro |
| SEO checks | Editor sidebar | npx seo-engine audit in CI |
| llms.txt & AI crawlers | Manual or plugin-specific | Built into core |
Choose your packages
Install only what you need. Tree-shakeable modules keep your bundle lean.
@seo-engine/core
Start here — required for every project
- Metadata templates with %variable% replacement
- JSON-LD schema builders and validation
- robots.txt, llms.txt, and redirect matching
npm install @seo-engine/core@seo-engine/adapters-next
Next.js App Router apps only
- createRobotsRoute() and createLlmsRoute()
- Sitemap handler factory
- Maps resolved metadata to Next.js Metadata API
npm install @seo-engine/adapters-next@seo-engine/cli
CI pipelines and pre-deploy checks
- Audit title, description, canonical, schema
- Fail builds on SEO regressions
- Runs with npx — no global install required
npm install -D @seo-engine/cliQuick start
One example at a time. Copy, paste, and ship.
import {
generateRobots,
resolveMetadata,
buildGlobalSchemaJsonLd,
} from "@seo-engine/core";
const robots = generateRobots({
sitemapUrl: "https://example.com/sitemap.xml",
});
const metadata = resolveMetadata(
{ title: "%title% %sep% %sitename%" },
{ title: "Hello", url: "https://example.com/hello" },
{ siteName: "Example", separator: "|" },
);
const schema = buildGlobalSchemaJsonLd(
{ schema: { name: "Example Inc", schemaType: "Organization" } },
"https://example.com",
);Everything you need for technical SEO
Outcome-focused modules — not just another meta tag helper.
Titles & descriptions
Template variables like %title% and %sitename% resolve into production-ready meta tags.
Structured data
Organization, LocalBusiness, and page-level JSON-LD with built-in validation.
robots.txt & llms.txt
Generate crawl files dynamically, including AI crawler presets for modern search.
URL redirects
Match 301/302 rules in middleware with a pure, testable redirect engine.
Content scoring
Check titles, descriptions, keyword presence, and content length in CI or scripts.
Pre-deploy audits
Fail builds when canonical links or JSON-LD are missing — before users see it.
SEO checks in your CI pipeline
WordPress plugins run in an admin sidebar. @seo-engine runs where your code lives — in GitHub Actions, GitLab CI, or any deploy pipeline.
Push code
Your team ships pages, layouts, and content as usual.
Run seo-engine audit
CI fetches the preview URL and checks SEO fundamentals.
Catch regressions
Missing titles, schema, or canonical tags fail the build.
Built in the open
@seo-engine lives in the GMB Ranker monorepo. Core, Next.js adapters, and the audit CLI are MIT licensed — free to use in commercial projects.
@seo-engine/core
Pure SEO logic
Metadata, schema, robots, llms.txt
@seo-engine/adapters-next
Framework glue
Route factories for Next.js
Your app
Production routes
robots.txt, llms.txt, meta tags
Need managed SEO for clients? See GMB Ranker pricing