Skip to content

Integrations

easeo ships adapters for the most common frameworks. They are thin: each one calls build_seo_payload and hands the result to the framework's native metadata mechanism.

JavaScript / TypeScript

Framework Package Entry point
Next.js @easeo/next easeoMetadata()
Astro @easeo/astro build integration plus contract emission
Vite @easeo/vite transformIndexHtml plugin
Nuxt @easeo/nuxt useEaseoSeo() composable
SvelteKit @easeo/sveltekit buildEaseoPayload() plus <EaseoHead />
React @easeo/react <EaseoHead /> component

All JavaScript integrations support both default and named imports:

import easeoMetadata from "@easeo/next";      // default
import { easeoMetadata } from "@easeo/next";  // named

Python

Framework Import
FastAPI from easeo.adapters.fastapi import EaseoSEO
Django from easeo.adapters.django import seo_head
Flask from easeo.adapters.flask import Easeo
Zensical easeo.contrib.zensical markdown extension

Python adapters are lazy and installed as extras: pip install easeo[fastapi], [django], [flask], [zensical], or [all].

Choosing an approach

  • If your framework has a native metadata API, use the adapter that targets it. Next.js is the clearest example.
  • If it does not, use the render helpers and inject payload.render_html() into your template.
  • For static sites, generate payloads at build time and commit the contract.