Avenra
MetadataXGetting Started
MetadataXGetting Started

Quick start

Create metadata using a shared SEO config.

Create a shared config and feed it to createMetadata.

// seo.config.ts
import { defineSeoConfig } from "@avenra/metadatax";

export const seo = defineSeoConfig({
    baseUrl: "https://example.com",
    title: "Example Site",
    description: "Production-ready metadata defaults.",
    canonical: "/",
    titleTemplate: "%s | Example",
    openGraph: {
        type: "website",
        images: [{ url: "/og/default.png" }],
    },
    auto: {
        titleFromPath: true,
        descriptionFromContent: true,
    },
    lint: {
        strict: true,
        rules: {
            titleLength: 100,
            duplicate_title: "warn",
        },
    },
});
// app/layout.tsx
import type { Metadata } from "next";
import { createMetadata } from "@avenra/metadatax";
import { seo } from "../seo.config";

export const metadata: Metadata = createMetadata(seo, {});

Next steps

  • Configure the build plugin for lint fail modes.
  • Add Pages Router usage if you still ship pages/.
  • Enable smart defaults and fine-tune lint rules.

On this page