WordPress

WooCommerce OG Image: Product & Post Social Cards

By Social Card Studio5 min read

WooCommerce does not generate Open Graph tags on its own. To get a clean social card for a product or a shop post, you need an SEO plugin (or a small function) to emit og:image, og:title, and og:url — and that image should be a 1200×630 card, not the raw square product photo. Get those two things right and your products preview correctly on Facebook, X, LinkedIn, and Discord. This is the rest of the detail.

Does WooCommerce add Open Graph tags by default?

No. Neither WordPress core nor WooCommerce outputs og:image, og:title, or og:description. WooCommerce gives you product images for the storefront, but the <meta property="og:..."> tags that build a link preview are a separate concern. Until a plugin or custom code emits them, a shared product link falls back to whatever the scraper can scrape — frequently nothing, or your site-wide logo.

This is the single most common reason a WooCommerce store shares as a blank box: the tags simply aren't there.

What size should a WooCommerce OG image be?

1200×630 pixels, a 1.91:1 aspect ratio — the same universal card size that works across every major platform's image specs. One asset at that size renders on Facebook, LinkedIn, Discord, and as X's summary_large_image banner.

SurfaceRecommended sizeAspect ratioMin sizeMax file size
Facebook (product share)1200×6301.91:1200×2008 MB
X / Twitter (large card)1200×6281.91:1300×1575 MB
LinkedIn1200×6271.91:1
Discord1200×6301.91:1
WhatsApp (product link)1200×630 or 300×2001.91:1 / square100×100300 KB

Two things the table can't hold. First, keep critical content — product name, price, logo — inside a safe zone of roughly 60px margins (a center region near 1080×510 for a 1200×630 card), because Facebook and LinkedIn trim the edges. Second, watch the file weight: WhatsApp caps product-link images at 300 KB, and a heavy card is a card a scraper may skip.

100–200 KB
is the target file size for a social card; a well-compressed 1200×630 JPEG at quality ~80 lands around 150 KB — well under WhatsApp's 300 KB ceiling. MyOG Image, 2025

Why does a product card move the needle at all?

Because a product link with a real image gets seen, and a blank one gets scrolled past. The visual card is the difference between a share that earns clicks and a bare URL that dies in the feed.

+114%
more impressions go to posts and links that carry an image versus those with none — the gap a missing og:image is costing a WooCommerce store on every product share. CXL, click-through benchmarks
~80%
brand recognition lift from consistent brand-color use — which is why a templated, on-brand product card beats a bare photo for a store building a repeat customer base. Metricool

For the answer-engine angle, the figure to know is from the Princeton GEO study: pages that cite statistics (+40%) and named sources (+40%) are the most likely to be quoted by LLM search. That governs how product content gets cited, not the image — but it's the same discipline.

How do you set the tags? (step by step)

WooCommerce stores almost always already run an SEO plugin, so use it rather than hand-rolling meta tags.

  1. Install an SEO plugin that writes Open Graph tags — Yoast SEO, Rank Math, or Slim SEO. Core WooCommerce won't do this.
  2. Enable Open Graph output and set a site-wide default OG image (1200×630) for any page that lacks its own.
  3. Set a per-product Social/OG image at 1200×630 — not the raw square product photo.
  4. Add og:image:width (1200) and og:image:height (630) so scrapers size the card on the first fetch.
  5. Confirm og:image is an absolute HTTPS URL, not a relative /wp-content/... path.
  6. Validate in the Facebook Sharing Debugger and a preview checker, then re-scrape to bust the cache.

If you're starting from generic WordPress (no WooCommerce-specific SEO config yet), the WordPress Open Graph tag guide covers the base meta tags every page needs first.

Why is my WooCommerce product still showing no image?

Three causes account for nearly all blank WooCommerce previews:

  • No og:image tag is output — the plugin's Open Graph setting is off, or no default image is set.
  • The og:image URL is relative/wp-content/uploads/card.jpg instead of https://yourstore.com/wp-content/uploads/card.jpg. A relative path is the most common reason a preview comes back blank.
  • The image sits behind a redirect, CDN rule, or staging login the scraper can't follow.

The platform also caches the first scrape aggressively, so a fix won't show until you force a re-scrape. Walk the full diagnostic in why your link preview is broken.

+73%
more shares for headlines that contain a number — worth remembering when you write the og:title for a product or category page, where a concrete figure (price, count, percentage off) earns the click. Swanky Agency, blog-title research

The takeaway

WooCommerce ships zero Open Graph tags — an SEO plugin or custom code has to emit them, and the og:image should be a purpose-built 1200×630 card at an absolute HTTPS URL, not the square product photo. Building that branded card for every product and post automatically — correctly sized, on-brand, never blank — is exactly what Social Card Studio does.

Frequently asked questions

Does WooCommerce set Open Graph tags by default?

No. Core WooCommerce and WordPress do not output og:image or og:title tags. You need an SEO plugin (Yoast, Rank Math, or Slim SEO) or a custom function to emit them. Without it, a shared product URL falls back to whatever the scraper can guess — often nothing, or your site logo.

What size should a WooCommerce product OG image be?

1200×630 pixels (1.91:1). That single size renders correctly on Facebook, LinkedIn, Discord, and X's large card. Product photos are usually square, so don't pass the raw product image as og:image — it gets cropped to a thin strip. Use a 1200×630 card or pad the product shot to that ratio.

Why does my WooCommerce product show no image when shared?

The three usual causes: no og:image tag is being output, the og:image URL is relative instead of an absolute HTTPS URL, or the image is behind a redirect or login wall the scraper can't follow. Run the URL through a preview debugger to see which tag the scraper actually reads.

← All posts