Which meta tags you actually need
Search needs title (the link in results) and meta description (the text below it). link rel="canonical" names the main URL when a page opens at several addresses. The description doesn't affect rankings but does affect clicks, and Google rewrites generic ones.
Open Graph: link previews in messengers and social media
Facebook introduced Open Graph in 2010; Telegram, WhatsApp, LinkedIn and Slack read it today. og:title, og:description and og:image define the link card; without them the preview is random or missing. For a large image on X, add twitter:card set to summary_large_image.
What the image should be
The standard is 1200×630 pixels (1.91:1); keep the important part in the centre. Use an absolute https:// URL that opens without logging in. After replacing the image, refresh the preview: in Telegram via @WebpageBot, on Facebook via the Sharing Debugger.
The Next.js catch
In the App Router, a page's openGraph replaces the layout's openGraph entirely, so the layout's image disappears. That's why the generator outputs the full object with images.
export const metadata: Metadata = {
openGraph: {
title: "Page",
images: [{ url: "https://example.com/og.jpg" }], // or it's lost
},
};