Why it matters
A page-level openGraph object in Next.js replaces the layout's entirely (verified on 16.3.5), silently dropping siteName and locale; og:url that differs from the canonical attributes shares to another URL.
How to fix it
Build openGraph with one helper that always re-adds siteName and locale, and sets url to the canonical path.
Example
openGraph: { type: 'article', url: path, title, description, siteName: site.name, locale: site.locale }References
More seo rules
void seo reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.
trailing-slashBoth trailing-slash and non-slash URLs serve 200hreflang-invalidhreflang uses invalid codes or relative URLshreflang-not-reciprocalhreflang set isn't self-referencing and reciprocalog-missingRequired Open Graph tags missing (og:title, og:type, og:image, og:url)og-image-invalidog:image isn't a reachable, absolute, raster image within size limitsog-image-sizeog:image is smaller than 1200×630 or far from 1.91:1og-image-metaog:image:width/height missing or wrong, or og:image:alt missingtwitter-cardtwitter:card missing