Open Graph Meta Tags — Crafting Effective Social Media Previews

This article provides an in-depth analysis of Open Graph meta tags and their crucial role in controlling how content is displayed on social media platforms. We cover the crafting of compelling previews for Facebook, Twitter, LinkedIn, and more.

ShareShare

Open Graph Meta Tags — Crafting Effective Social Media Previews

Imagine spending hours crafting a well-researched article or product page — and then someone shares it on social media, only to see a blank card, a missing image, or an incorrect description. To rectify this, you need to harness the power of Open Graph meta tags.

Open Graph (OG) tags were developed by Facebook to control how shared content appears on social media platforms. The platforms that support these tags include Facebook, LinkedIn, Twitter (via Twitter Cards), Discord, Slack, and many others.

While these tags won't magically lift your search rankings, they will supercharge your visibility and click-through rates on social media platforms.

The Importance of Open Graph Tags

Open Graph tags are critical for several reasons:

  • They allow you to define the title and description that appear in the preview of your content.
  • They enable you to set a thumbnail image that visually represents your content.
  • They provide the ability to customize previews according to the page or content type.
  • They help you avoid the unattractive, automatic guesses made by social media crawlers when generating previews.

Core Open Graph Tags

The core Open Graph tags are as follows:

<meta property="og:title" content="The Ultimate Guide to Frontend Performance" />
<meta property="og:description" content="Learn how to make your apps faster with real-world patterns and tools." />
<meta property="og:image" content="https://example.com/preview.jpg" />
<meta property="og:url" content="https://example.com/performance-guide" />
<meta property="og:type" content="article" />

In these tags, og:title and og:description are used to specify the title and description of the content. The og:image tag is used to indicate the URL of the image that will be used in the preview. The og:url tag is used to specify the canonical URL of your object that will be used as its permanent ID in the graph. Lastly, og:type is used to categorize the type of your content (e.g., "article", "video.movie", etc.).

Twitter Cards

Twitter, while it supports Open Graph tags as a fallback, uses its own meta tag format:

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="The Ultimate Guide to Frontend Performance" />
<meta name="twitter:description" content="Speed up your apps with proven techniques." />
<meta name="twitter:image" content="https://example.com/preview.jpg" />

The twitter:card tag declares the type of Twitter Card generated for your content. The twitter:title and twitter:description tags work similarly to their Open Graph counterparts. The twitter:image tag specifies the URL of the image to be featured in the Card.

Recommended Image Sizes

The image size varies depending on the platform. Here are the recommended dimensions:

| Platform | Type | Suggested Dimensions | |-----------|--------------------|--------------------------| | Facebook | og:image | 1200 × 630 px | | Twitter | summary_large_image | 1200 × 675 px | | LinkedIn | Follows OG tags | 1200 × 627 px | | Discord | Follows OG | 1280 × 720 px |

Ensure you always use HTTPS and static image URLs. For best compatibility, use JPG or PNG file formats.

Implementing Dynamic Open Graph Tags in Single Page Applications

In Single Page Applications (SPAs) like React, Next.js, Nuxt, etc., you can use server-side rendering or head management libraries to implement dynamic Open Graph tags:

import Head from 'next/head';

<Head>
  <meta property="og:title" content="Blog Post Title" />
  <meta property="og:image" content="/og-image.jpg" />
</Head>

Here, the Head component is used to inject elements into the <head> of the page. This allows you to dynamically set the title and image for each page in your application.

Testing Open Graph Tags

There are several tools available to test your implementation of Open Graph tags. These include the Facebook Sharing Debugger, the Twitter Card Validator, Slack & Discord previews, and Chrome DevTools → Elements → <head>.

Real-World Examples

Several high-profile sites use Open Graph tags effectively. Here are a few examples:

Stripe dynamically generates Open Graph images for each product. The previews closely match the site's design, which reinforces brand trust.

Vercel's Blog uses the @vercel/og package to create serverless preview cards at build time. This ensures that each blog post has a unique and attractive preview when shared on social media.

GitHub uses Open Graph tags to include the repository name, stars, and description in the preview.

Common Anti-Patterns

Just as there are good practices to follow with Open Graph tags, there are also several common pitfalls to avoid:

  • Using low-resolution or missing og:image.
  • Skipping og:title or og:description, which leads to uninformative previews.
  • Relying solely on client-side rendering without a server-side rendering fallback, which can lead to incomplete or incorrect previews.
  • Reusing the same image across every page, which makes your content less distinguishable in social media feeds.

Conclusion: Take Control of Your Content's Preview

Social media sharing is a significant entry point to your content. Open Graph meta tags allow you to design the welcome mat — making your pages more clickable, recognizable, and shareable.

Remember — first impressions matter a lot, and in the world of social media sharing, this first impression is in the <head>.

Subscribe for Deep Dives

Get exclusive in-depth technical articles and insights directly to your inbox.

about

Ehsan Hosseini

Ehsan Hosseini

me [at] ehosseini [dot] info

Staff Software Engineer and Tech Lead with a track record of leading high-performing engineering teams and delivering scalable, end-to-end technology solutions. With experience across web, mobile, and backend systems, I help companies make smart architectural decisions, scale efficiently, and align technical strategy with business goals.

© 2025 Ehsan Hosseini. All rights reserved.