← Blog

Open Graph Tagger i Next.js: The 2026 Developer Guide

Next.js gjør OG-tagger enkle med Metadata API. Her er alt du trenger å vite – fra statiske til dynamiske OG-bilder.

Er du usikker på om Next.js OG-taggene dine er riktige?

Sjekk Open Graph-taggene dine gratis med Proovd — lim inn en URL og se nøyaktig hvordan den ser ut på X, LinkedIn, Slack, Discord, WhatsApp og Reddit.

Rask svar

  • Next.js 13+ bruker Metadata API for OG-tagger
  • Statiske sider: eksporter metadata-objekt
  • Dynamiske sider: bruk generateMetadata()
  • Dynamiske OG-bilder: bruk @vercel/og

Next.js App-ruter — Statiske metadata

I Next.js 13+ (App Router) er den enkleste måten å sette OG-tagger på metadata-eksporten i layout- eller sidefilen din:

export const metadata = {
  title: 'My Next.js App',
  description: 'A Next.js app with OG tags',
  openGraph: {
    title: 'My Next.js App',
    description: 'A Next.js app with OG tags',
    images: ['https://yoursite.com/og-image.jpg'],
    type: 'website',
  },
  twitter: {
    card: 'summary_large_image',
    title: 'My Next.js App',
    description: 'A Next.js app with OG tags',
    images: ['https://yoursite.com/og-image.jpg'],
  },
};

Dette genererer automatisk de riktige -taggene på siden din . Next.js håndterer resten.

Next.js App-ruter — Dynamiske metadata

For dynamiske sider (blogginnlegg, produktsider), bruk generateMetadata():

import { notFound } from 'next/navigation';
import { getPost } from '@/lib/posts';

export async function generateMetadata({ params }) {
  const post = await getPost(params.slug);
  if (!post) notFound();

  return {
    title: post.title,
    description: post.excerpt,
    openGraph: {
      title: post.title,
      description: post.excerpt,
      images: [post.coverImage],
      type: 'article',
      publishedTime: post.date,
      authors: [post.author],
    },
    twitter: {
      card: 'summary_large_image',
      title: post.title,
      description: post.excerpt,
      images: [post.coverImage],
    },
  };
}

Dynamiske OG-bilder med @vercel/og

For tilpassede OG-bilder (med merkefarger, innleggstitler osv.), bruk @vercel/og:

// app/api/og/route.ts
import { ImageResponse } from '@vercel/og';

export function GET(request: Request) {
  const { searchParams } = new URL(request.url);
  const title = searchParams.get('title') || 'Default Title';

  return new ImageResponse(
    (
      
{title}
), { width: 1200, height: 630, } ); }

Referer deretter til denne API-ruten i metadataene dine:

export async function generateMetadata({ params }) {
  const post = await getPost(params.slug);
  return {
    openGraph: {
      images: [`https://yoursite.com/api/og?title=${encodeURIComponent(post.title)}`],
    },
    twitter: {
      images: [`https://yoursite.com/api/og?title=${encodeURIComponent(post.title)}`],
    },
  };
}

Next.js Pages Router

Hvis du bruker den eldre Pages Router, bruk next/head eller next-seo-pakken:

import Head from 'next/head';

export default function PostPage() {
  return (
    <Head>
      <meta property="og:title" content={post.title} />
      <meta property="og:description" content={post.excerpt} />
      <meta property="og:image" content={post.coverImage} />
      <meta name="twitter:card" content="summary_large_image" />
      <meta name="twitter:title" content={post.title} />
      <meta name="twitter:image" content={post.coverImage} />
    </Head>
  );
}

Eller bruk next-seo for en renere API:

import { NextSeo } from 'next-seo';

<NextSeo
  title={post.title}
  description={post.excerpt}
  openGraph={{
    title: post.title,
    description: post.excerpt,
    images: [{ url: post.coverImage }],
    type: 'article',
  }}
  twitter={{
    type: 'summary_large_image',
  }}
/>

Quick Fix Sjekkliste

  1. Bruk Metadata API for statiske sider
  2. Bruk generateMetadata() for dynamiske sider
  3. Angi egenskaper for både openGraph og twitter
  4. Bruk @vercel/og for dynamiske OG-bilder
  5. Test med Proovd for å verifisere på alle plattformer

Ofte stilte spørsmål

Gjengir Next.js OG-tagger automatisk i HTML-en?

Ja. Next.js injiserer metadataene som -tagger i server-gjengitt HTML, slik at crawlere ser dem uten JavaScript.

Kan jeg bruke dynamiske OG-bilder med Vercel Edge-funksjoner?

Ja. @vercel/og kjører på Vercel Edge og genererer bilder på farten. Bilde-URLen refereres til i metadataene dine, og plattformer henter den når de gjennomsøker siden din.

Bekreft Next.js OG-taggene dine på tvers av alle plattformer

Sjekk Open Graph-taggene dine gratis med Proovd — lim inn en URL og se forhåndsvisningen på X, LinkedIn, Slack, Discord, WhatsApp og Reddit.