Las etiquetas OG no influyen en el posicionamiento, pero determinan el aspecto de un enlace en LinkedIn, Slack, Telegram o X y pueden influir en los clics. Las etiquetas se gestionan con la Metadata API:
export const metadata: Metadata = {
openGraph: {
title: "Checklist SEO para Next.js",
description: "Cada capa del SEO en el App Router.",
type: "article",
images: [{ url: "/og/next-seo-checklist.png", width: 1200, height: 630 }],
},
twitter: {
card: "summary_large_image",
},
};
Una función infravalorada: las imágenes OG generadas. Coloque un archivo opengraph-image.tsx junto a cualquier ruta y Next.js renderizará una imagen de 1200×630 en el edge, sin un diseñador para cada entrada:
// app/blog/[slug]/opengraph-image.tsx
import { ImageResponse } from "next/og";
export const size = { width: 1200, height: 630 };
export const contentType = "image/png";
export default async function OgImage({ params }) {
const post = await getPost(params.slug);
return new ImageResponse(
(
<div
style={{
display: "flex",
flexDirection: "column",
width: "100%",
height: "100%",
justifyContent: "center",
padding: 80,
background: "#0a0a0a",
color: "#fff",
}}
>
<div style={{ fontSize: 64, fontWeight: 700 }}>{post.title}</div>
<div style={{ fontSize: 28, marginTop: 24, color: "#a1a1aa" }}>
example.com/blog
</div>
</div>
),
size,
);
}
Checklist:
- OG title/description/image en cada página que valga la pena compartir
- Imagen de 1200×630; texto legible en tamaño de miniatura
-
twitter.cardestablecido ensummary_large_image - Vista previa comprobada en opengraph.xyz o LinkedIn Post Inspector
