Free tools Windows power users keep installed

One-click scans. No signup required.

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

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Set the Open Graph type in your page’s HTML <head> with <meta property="og:type" content="article"> for a standalone article. Use website for a home page, landing page, or other general site page. The value should describe what the URL represents, not what you hope Facebook’s preview will look like.

Use the correct og:type value

og:type is an Open Graph metadata property. It identifies the kind of object represented by a URL when that URL is read by social platforms and other Open Graph consumers.

Page Recommended value Why
Standalone news story, tutorial, review, or blog post article The URL represents editorial content with article-specific details such as an author, section, and publication date.
Home page or general company/site page website The URL represents the site or a general page rather than one editorial item.
Music, video, or another supported vertical object The matching namespace type, such as music.song, video.movie, video.episode, video.tv_show, or video.other The type describes the specific object category defined by the Open Graph protocol.

For most sites, the practical decision is simple: an individual article uses article; the site root and non-editorial pages use website. Do not label every URL article merely because it has text on it.

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

Add the tag in the document head

Place one declaration in the server-rendered or final HTML document’s <head>. A complete minimal set looks like this:

<head>
  <meta property="og:title" content="How to Set the Open Graph Type for Facebook Sharing">
  <meta property="og:type" content="article">
  <meta property="og:url" content="https://example.com/open-graph-type">
  <meta property="og:image" content="https://example.com/images/open-graph-type.jpg">
</head>

The Open Graph protocol defines four basic properties for a page: og:title, og:type, og:image, and og:url. Keep the title, URL, and image aligned with the page that will actually be shared. Use absolute URLs for both og:url and og:image, including the scheme and host.

Use article metadata when the page is editorial

article supports additional properties in the article: namespace. Add only values that are true for the page:

<meta property="article:published_time" content="2026-09-29T12:00:00Z">
<meta property="article:modified_time" content="2026-09-29T12:00:00Z">
<meta property="article:expiration_time" content="2026-12-31T23:59:59Z">
<meta property="article:author" content="https://example.com/authors/name">
<meta property="article:section" content="Technology">
<meta property="article:tag" content="Open Graph">

Dates

Use ISO 8601 date-time values. article:published_time records the original publication moment; article:modified_time records a later substantive update. Use article:expiration_time only when the content genuinely expires.

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.

Author, section, and tags

article:author can point to the author’s page, while article:section names the editorial category. article:tag describes a topic associated with the article. These fields add context; they do not replace the required basic properties.

Keep one consistent, canonical set of values

  1. Put the tags in the final HTML document’s <head>, not in visible page content or a body-only script.
  2. Declare one og:type value that matches the page’s meaning.
  3. Set og:url to the absolute canonical URL you want shared. Avoid a tracking URL, a temporary preview URL, or a URL that redirects to a different canonical page.
  4. Set og:image to an absolute image URL that belongs to the page and is available to the crawler.
  5. Make og:title describe the same page as the URL and type.
  6. Inspect the generated source after templates, plugins, and server-side rendering have run.

Open Graph parsing is order-sensitive when values conflict: the specification gives preference to the first tag from top to bottom. If a CMS plugin and a theme both emit og:type, the earlier value can win even when the later value looks correct in source. Remove the duplicate rather than trying to override it.

Static HTML and template implementation

Static page

For a hand-written page, paste the tags directly inside <head>. Change the title, URL, image, and article fields per page; do not copy one article’s canonical URL into every document.

Server-rendered or component-based site

Store the Open Graph values with the page record and render them into the head layout. The layout should choose article only when the record represents an editorial article; otherwise it should emit website. Ensure the values are present in the initial response, not inserted only after a browser-side interaction.

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

Single-page applications

Social crawlers may request the raw HTML rather than execute every client-side route. Render route-specific Open Graph tags on the server or during a build step, and verify the HTML returned for each canonical URL. A browser showing the right title after JavaScript runs is not proof that the crawler received those tags.

Validate before publishing

  • View the page source and search for exactly one og:type declaration.
  • Confirm the value is lower-case and is the intended category, normally article or website.
  • Check that all four basic properties are present in the head.
  • Open the og:url and og:image values directly and confirm they resolve to the intended resources.
  • Compare the canonical link, og:url, and the URL you plan to share. They should identify the same page.
  • Check the response for the public URL, not just a local development build.
  • After changing metadata, allow the platform to recrawl the URL. The Open Graph specification does not define a universal Facebook cache-refresh time, so a change may not appear immediately.

Troubleshoot a wrong Facebook preview

Facebook shows “website” for an article

Inspect the delivered source for a second og:type. A plugin, theme, or layout may be emitting website before your article tag. Delete the duplicate and leave one declaration with article.

The preview uses the wrong page

Compare the shared URL with og:url. A mismatch caused by trailing slashes, redirects, locale routes, or query strings can make the crawler associate metadata with another URL. Set the canonical absolute URL consistently and share that URL.

The image or title is stale

First verify the current values in the public HTML and that the image URL itself serves the new asset. If the source is correct, the remaining delay is recrawl behavior; no universal refresh interval is specified for Facebook, so repeated edits should not be treated as an immediate cache purge.

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

Nothing changes after editing the template

Check whether a cache, edge layer, static build, or CMS output is still serving the old head. Fetch the URL from outside your logged-in session and inspect the response. Also check that the edit was made to the route actually being shared.

The page has several possible content types

Choose the type for the URL’s primary purpose. An editorial article that contains an embedded video remains an article unless the URL itself represents a video object. A company home page with a news section is still a website at the home-page URL; the individual story URLs can use article.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common mistakes to avoid

  • Putting og:type in the body instead of the head.
  • Using a relative value such as /images/card.jpg for og:image.
  • Using the article’s preview or staging URL as og:url.
  • Emitting both article and website and assuming the last one wins.
  • Adding publication dates that are guessed, localized ambiguously, or unrelated to the page.
  • Changing only the visible headline while leaving an old og:title in the head.
  • Assuming a correct browser preview proves that server-delivered metadata is correct.

Or skip the browser setup

If you need a reliable image of the finished page for documentation, review, or a social workflow, ScreenshotNeo can capture the URL with one request. It accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be disabled. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.

Use the API examples in the ScreenshotNeo documentation with the URL you want to inspect:

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

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/open-graph-type -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com/open-graph-type"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com/open-graph-type' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Every feature is available on every plan. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Sign up free to try it.

Deployment checklist

  1. Classify the URL as an article, general website page, or a supported vertical object.
  2. Render one matching og:type tag in the head.
  3. Add aligned values for og:title, og:url, and og:image.
  4. Add article dates, author, section, and tags only when they are accurate.
  5. Remove conflicting duplicate tags from themes, plugins, and layouts.
  6. Inspect the public response and verify every absolute URL.
  7. Recrawl after deployment and allow for platform-specific cache behavior.

Frequently Asked Questions

Should a blog archive page use article?

Usually no. An archive, category, or home page is a collection or general site page, so website is the more accurate fallback; assign article to each individual post URL.

Can I add article fields while using website?

The article namespace is intended for an object declared as article. If the URL is not an article, choose the type that reflects the URL instead of adding article metadata simply to expose more fields.

How can I tell whether a duplicate tag is affecting the result?

View the delivered HTML source, list every og:type from top to bottom, and remove conflicting declarations. The first value has precedence when Open Graph values conflict.

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

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.