LinkedIn's crawler (LinkedInBot) does not synthesize fallback values from page content the way some platforms do. If og:title, og:description, or og:image are absent on a page, LinkedIn renders a plain URL with no preview card. Per ogp.me, all three tags are required; LinkedIn enforces this strictly and caches the first result it crawls — meaning a page that went live without complete OG tags may show a degraded preview for months even after the tags are added, because LinkedIn's cache TTL is long and invalidation requires manual intervention via LinkedIn's Post Inspector. Relative og:image paths are an additional LinkedIn-specific failure: the crawler does not resolve relative URLs to absolute, so /og-image.png is treated as an unresolvable reference.
High because LinkedIn does not synthesize missing OG fields and aggressively caches the first crawl result, making early deployment of complete tags critical to prevent months of degraded previews.
Ensure every page intended for LinkedIn sharing has explicit og:title, og:description, and og:image set at the page level — not just inherited from the root layout. Use an absolute URL for og:image:
const baseUrl = process.env.NEXT_PUBLIC_SITE_URL ?? 'https://yoursite.com'
openGraph: {
images: [{ url: `${baseUrl}/og/blog/${params.slug}.png`, width: 1200, height: 630 }],
}
After deploying page-level OG tags, use LinkedIn's Post Inspector (linkedin.com/post-inspector) to force a re-crawl and clear the cached degraded preview.
ID: marketing-social-sharing.platform-specific.linkedin-og-completeness
Severity: high
What to look for: LinkedIn's link preview crawler (LinkedInBot) reads Open Graph tags but has specific behaviors: it requires og:title, og:description, and og:image to all be present — unlike some platforms, it does not synthesize missing fields from page content. It also has a known issue where it caches previews aggressively and will use whatever metadata it first crawls. Check that all three OG tags are explicitly set on every page intended for LinkedIn sharing (typically blog posts, product pages, and the homepage). Do not count inherited layout values as sufficient unless the page has no unique content. Count all instances found and enumerate each.
Pass criteria: Pages intended for LinkedIn sharing have explicit og:title, og:description, and og:image set at the page level (not just inherited from a root layout). The OG image URL is absolute (no relative paths). At least 1 implementation must be confirmed.
Fail criteria: Pages intended for LinkedIn sharing rely on root-layout-only OG tags without page-level overrides, OR the og:image URL is a relative path (e.g., /og-image.png instead of https://yoursite.com/og-image.png).
Skip (N/A) when: Project type is api or the project explicitly has no public-facing shareable content pages.
Detail on fail: "Blog and product pages use inherited root layout OG tags only — LinkedIn requires explicit per-page og:title, og:description, og:image. og:image is a relative path which LinkedIn cannot resolve."
Remediation: LinkedIn's crawler does not interpolate base URLs for relative image paths. Use absolute URLs in your OG image references:
const baseUrl = process.env.NEXT_PUBLIC_SITE_URL ?? 'https://yoursite.com'
openGraph: {
images: [{ url: `${baseUrl}/og/blog/${params.slug}.png`, width: 1200, height: 630 }],
}
Every page intended for professional sharing should have its own explicit metadata rather than relying on layout inheritance.