October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Set Open Graph Images for Multilingual Website Pages

Give every localized page its own Open Graph image, canonical URL, and locale metadata, then publish a complete reciprocal hreflang set for translated URLs.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set Open Graph metadata separately on every localized URL: give each page its own og:image, canonical og:url, title, and og:locale. Then connect translated URLs with a complete, reciprocal hreflang set. Open Graph locale metadata describes the page’s social metadata; it does not replace search-engine alternate-language annotations.

Set page-specific Open Graph tags in each localized page’s head

The Open Graph Protocol’s four basic properties are og:title, og:type, og:image, and og:url. Put them in the page’s HTML <head>. For each language URL, render values that describe that page rather than repeating another locale’s title, URL, or image indiscriminately. See the Open Graph Protocol.

As an Amazon Associate I earn from qualifying purchases.

For example, the French page should identify its own canonical object URL and locale. The image can be shared across languages if it represents each page appropriately; the protocol does not require a unique image per locale.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<html prefix="og: https://ogp.me/ns#" lang="fr">
<head>
  <title>Guide de jardinage</title>
  <meta property="og:title" content="Guide de jardinage">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://example.com/fr/guides/jardinage">
  <meta property="og:image" content="https://example.com/images/jardinage-fr.jpg">
  <meta property="og:image:alt" content="Illustration d’un jardin">
  <meta property="og:locale" content="fr_FR">
  <meta property="og:locale:alternate" content="en_US">
</head>
</html>

Replace the example host, paths, text, and locale values with the page’s real values. Open Graph uses a language_TERRITORY form for og:locale; its documented default locale is en_US, so explicitly set the intended locale when the page uses another one. og:locale:alternate can list other available locales, but do not assume that it alone makes a platform send visitors to a translated URL.

Choose an image and describe it

og:image is the URL of the image representing the page. Add og:image:alt as a description of what the image shows, not as a caption. The protocol says, “If the page specifies an og:image it should specify og:image:alt.” Optional image properties include og:image:secure_url, og:image:type, og:image:width, and og:image:height. Multiple image values are allowed; if values conflict, the first tag takes preference. These definitions and recommendations are in the Open Graph Protocol.

Connect translated URLs with hreflang

Use hreflang to annotate URLs that are actual localized equivalents. This is separate from og:locale: Open Graph describes the locale of the page’s Open Graph metadata, while hreflang identifies alternate language or regional documents. Google documents HTML link elements, HTTP Link headers, and XML sitemaps as ways to publish these annotations. See Google Search Central’s guidance on localized versions and the HTML Standard’s alternate-link definition.

HTML example for English and French pages

Every page in the set must list all versions, including itself. Both pages therefore use the same complete pair, changing only their page content and canonical metadata:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<!-- On the English URL -->
<link rel="alternate" hreflang="en" href="https://example.com/en/guides/gardening">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/guides/jardinage">

<!-- On the French URL -->
<link rel="alternate" hreflang="en" href="https://example.com/en/guides/gardening">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/guides/jardinage">

These reciprocal entries make each page point to the other and to itself. Google warns that if this is not true for all pages using hreflang, annotations may be ignored or misinterpreted.

Use x-default only for an appropriate fallback

Add hreflang="x-default" for a fallback URL when a visitor’s language is not explicitly covered. Google says it is especially suited to a language selector page. A hreflang value needs a language code; a region by itself is not valid. A region may optionally follow the language code.

Choose where to maintain the alternate set

Method Useful when Implementation responsibility
HTML link elements You can edit the HTML pages themselves. Keep the full, reciprocal set consistent in every localized page.
HTTP Link headers You need to annotate non-HTML resources such as PDFs, or the serving layer owns the URL mapping. Maintain equivalent alternate entries in the response headers.
XML sitemap annotations Your team maintains localized URL relationships centrally in a sitemap. Keep the alternate URL inventory complete and synchronized for every version.

These are documented implementation routes in Google’s localized-versions guidance. Whichever route you choose, the important operational check is that all pages in a language set publish the same complete alternate mapping.

Common implementation errors and fixes

  • Translated pages share one og:url. Give each localized object its own canonical URL when it is a distinct page. The protocol defines og:url as the permanent ID for the object.
  • og:locale is used instead of hreflang. Keep the metadata and alternate-URL annotations separate; one does not substitute for the other.
  • An image has no alternative description. Add og:image:alt describing what is depicted.
  • The alternate links point only one way or omit a version. Publish the entire set, including the page itself, on every localized version and verify the return links.
  • A region is used without a language in hreflang. Use a language code, optionally followed by a region recognized by Google.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Preview localized pages without confusing preview checks with metadata

A rendered screenshot can help a developer inspect whether the intended localized page loads and whether page content visually matches the selected locale. It does not by itself verify the exact metadata or prove how a social platform will select a preview image or destination. Inspect the actual HTML head and test any platform-specific behavior separately; the sources above do not establish platform-specific cache timing, image-fetch restrictions, or localized-destination guarantees.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return a screenshot or PDF; its clean-shot options accept consent banners and remove supported consent platforms, newsletter popups, and chat widgets before capture. Bot checks, blank pages, and failed loads are not billed, and responses indicate the page verdict and billing status. Its MCP server provides screenshot tools for AI agents.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/fr/guides/jardinage -o shot.webp

See the ScreenshotNeo API documentation for request parameters and behavior. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Learn about ScreenshotNeo, then sign up for 1,000 free screenshots a month with no card.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.