<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Strahorn Consulting</title>
    <description>The latest articles on DEV Community by Strahorn Consulting (@strahornconsulting).</description>
    <link>https://dev.to/strahornconsulting</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3828520%2F76097e1d-4a0a-4160-a155-0133b1e8bbd9.png</url>
      <title>DEV Community: Strahorn Consulting</title>
      <link>https://dev.to/strahornconsulting</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/strahornconsulting"/>
    <language>en</language>
    <item>
      <title>The Complete Guide to Open Graph Tags (And How to Test Them)</title>
      <dc:creator>Strahorn Consulting</dc:creator>
      <pubDate>Tue, 17 Mar 2026 04:45:28 +0000</pubDate>
      <link>https://dev.to/strahornconsulting/the-complete-guide-to-open-graph-tags-and-how-to-test-them-3cdg</link>
      <guid>https://dev.to/strahornconsulting/the-complete-guide-to-open-graph-tags-and-how-to-test-them-3cdg</guid>
      <description>&lt;p&gt;You share a link. Someone clicks it. Before they even read the page, they've already judged it — based on the preview card that appeared in their feed.&lt;/p&gt;

&lt;p&gt;That preview is built entirely from &lt;strong&gt;Open Graph tags&lt;/strong&gt;. Get them right and your content looks polished and clickable everywhere it's shared. Get them wrong (or skip them entirely) and you get an ugly blank card or, worse, your site's raw URL.&lt;/p&gt;

&lt;p&gt;This guide covers everything you need to know: what OG tags are, which ones matter, how Twitter handles them differently, what developers commonly mess up, and how to test your implementation.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Are Open Graph Tags?
&lt;/h2&gt;

&lt;p&gt;Open Graph (OG) is a protocol originally created by Facebook in 2010. It lets you control how your web pages appear when shared on social platforms, messaging apps, and anywhere else that generates link previews.&lt;/p&gt;

&lt;p&gt;OG tags live in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of your HTML, invisible to users but read by crawlers when your URL is shared. Think of them as metadata that tells external services: &lt;em&gt;here's the title, description, image, and type of content on this page.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Without them, platforms have to guess — and they're not great at it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The 6 Essential OG Tags
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;og:title&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The title of your page as it should appear in the preview.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"The Complete Guide to Open Graph Tags"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep it under 60 characters. It may get truncated on some platforms. Don't just copy your &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; tag — OG titles can be slightly different, more descriptive, or marketing-oriented.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;code&gt;og:description&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A short summary of the page content. Shown below the title in most preview cards.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Learn how OG tags work, which ones matter, and how to test your implementation across platforms."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aim for 1–2 sentences, around 100–150 characters. This is your pitch — make it count.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;code&gt;og:image&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The image shown in the preview card. This is the most impactful tag — a strong image dramatically increases click-through rates.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og-image.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Critical requirements:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use an &lt;strong&gt;absolute URL&lt;/strong&gt; (not &lt;code&gt;/images/og-image.png&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Recommended dimensions: &lt;strong&gt;1200 × 630px&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Format: PNG or JPEG (SVG is not supported by most platforms)&lt;/li&gt;
&lt;li&gt;File size: under 8MB, ideally under 1MB&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. &lt;code&gt;og:url&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The canonical URL of the page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/blog/og-tags-guide"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This should match the canonical URL of the page, without tracking parameters. It helps prevent duplicate content issues when the same page is accessible at multiple URLs.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;code&gt;og:type&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The type of content. For most web pages, this is &lt;code&gt;website&lt;/code&gt;. For blog posts, use &lt;code&gt;article&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:type"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"article"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Common values: &lt;code&gt;website&lt;/code&gt;, &lt;code&gt;article&lt;/code&gt;, &lt;code&gt;video.movie&lt;/code&gt;, &lt;code&gt;music.song&lt;/code&gt;, &lt;code&gt;profile&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;code&gt;og:site_name&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The name of your overall site (not the page title).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:site_name"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Your Brand Name"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shown in smaller text alongside the title in some preview cards.&lt;/p&gt;




&lt;h2&gt;
  
  
  Putting It Together
&lt;/h2&gt;

&lt;p&gt;Here's a complete example for a blog post:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"The Complete Guide to Open Graph Tags"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Everything developers need to know about OG tags — with code examples and testing tips."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og-guide-cover.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/blog/og-tags-guide"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:type"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"article"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:site_name"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Your Brand"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Twitter Card Tags
&lt;/h2&gt;

&lt;p&gt;Twitter (now X) originally created its own metadata system called &lt;strong&gt;Twitter Cards&lt;/strong&gt;. While Twitter will fall back to OG tags if Twitter Card tags are missing, explicitly setting them gives you more control.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;twitter:card&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Defines the card type. The most common options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;summary&lt;/code&gt; — Small square image, title, description&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;summary_large_image&lt;/code&gt; — Large image above title and description&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;player&lt;/code&gt; — Embeds video or audio
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:card"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"summary_large_image"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;code&gt;twitter:title&lt;/code&gt; and &lt;code&gt;twitter:description&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"The Complete Guide to Open Graph Tags"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Everything developers need to know about OG tags."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;code&gt;twitter:image&lt;/code&gt;
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og-guide-cover.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: Twitter images have a &lt;strong&gt;max file size of 5MB&lt;/strong&gt; for JPEGs and PNGs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Full Twitter + OG Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Open Graph --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"The Complete Guide to Open Graph Tags"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Everything developers need to know about OG tags."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og-guide-cover.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:url"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/blog/og-tags-guide"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:type"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"article"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:site_name"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Your Brand"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Twitter Card --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:card"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"summary_large_image"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:title"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"The Complete Guide to Open Graph Tags"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"Everything developers need to know about OG tags."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"twitter:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og-guide-cover.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Common Mistakes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Missing Tags Entirely
&lt;/h3&gt;

&lt;p&gt;Easiest fix: add them. Many sites simply never bother. Check your site now — you might be surprised.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Using Relative URLs for &lt;code&gt;og:image&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/images/og.png&lt;/code&gt; &lt;strong&gt;does not work&lt;/strong&gt;. Crawlers need an absolute URL with the full domain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Wrong --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"/images/og.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- Right --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;property=&lt;/span&gt;&lt;span class="s"&gt;"og:image"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"https://yoursite.com/images/og.png"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Wrong Image Dimensions
&lt;/h3&gt;

&lt;p&gt;The sweet spot is &lt;strong&gt;1200 × 630px&lt;/strong&gt; (1.91:1 aspect ratio). Images that are too small, too tall, or off-ratio get cropped, letterboxed, or ignored.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Using SVG Images
&lt;/h3&gt;

&lt;p&gt;Major platforms (Facebook, LinkedIn, Slack, Discord) do &lt;strong&gt;not&lt;/strong&gt; support SVG for OG images. Convert to PNG.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Caching Issues
&lt;/h3&gt;

&lt;p&gt;Platforms cache OG data aggressively. After updating your tags, you'll need to explicitly re-scrape your URL:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Facebook: Use the &lt;a href="https://developers.facebook.com/tools/debug/" rel="noopener noreferrer"&gt;Sharing Debugger&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LinkedIn: Use the &lt;a href="https://www.linkedin.com/post-inspector/" rel="noopener noreferrer"&gt;Post Inspector&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Twitter/X: Just reshare the link — cache typically expires in 7 days&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Dynamic Sites That Render Tags Client-Side
&lt;/h3&gt;

&lt;p&gt;Crawlers often don't execute JavaScript. If you're rendering OG tags via React/Vue/etc. without SSR, platforms may not see them. Use server-side rendering or a headless pre-rendering service.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Test Your OG Tags
&lt;/h2&gt;

&lt;p&gt;Writing the tags is half the battle. Testing is where most developers skip out — and then wonder why their links look broken when shared.&lt;/p&gt;

&lt;p&gt;The fastest way to check: &lt;strong&gt;&lt;a href="https://pagepulse.cc" rel="noopener noreferrer"&gt;PagePulse&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;PagePulse is a free tool that shows you exactly how your site renders on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Google Search&lt;/strong&gt; (title + description)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Facebook&lt;/strong&gt; (OG card preview)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;X/Twitter&lt;/strong&gt; (Twitter Card preview)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LinkedIn&lt;/strong&gt; (link preview)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slack&lt;/strong&gt; (unfurl card)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discord&lt;/strong&gt; (embed preview)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also gives you a &lt;strong&gt;0–100 score&lt;/strong&gt; with a letter grade (A+ through F), flags missing or misconfigured tags, warns about image dimension issues, and tells you what to fix.&lt;/p&gt;

&lt;p&gt;No signup required — just paste your URL and see results instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Checklist Before You Ship
&lt;/h2&gt;

&lt;p&gt;Before publishing any page or launching a new site, run through this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] &lt;code&gt;og:title&lt;/code&gt; — under 60 chars, compelling&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;og:description&lt;/code&gt; — 100–150 chars, clear value prop&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;og:image&lt;/code&gt; — absolute URL, 1200×630px PNG/JPEG, under 1MB&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;og:url&lt;/code&gt; — matches canonical URL, no tracking params&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;og:type&lt;/code&gt; — &lt;code&gt;website&lt;/code&gt; or &lt;code&gt;article&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;og:site_name&lt;/code&gt; — your brand name&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;twitter:card&lt;/code&gt; — set to &lt;code&gt;summary_large_image&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;[ ] All image URLs are absolute, not relative&lt;/li&gt;
&lt;li&gt;[ ] Tested on at least 2 platforms&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Getting OG tags right takes 15 minutes and pays off every time someone shares your content. It's one of the highest-ROI SEO/marketing tasks a developer can do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check your site's OG tags for free at &lt;a href="https://pagepulse.cc" rel="noopener noreferrer"&gt;https://pagepulse.cc&lt;/a&gt;&lt;/strong&gt; — see exactly how your links appear on Google, Facebook, Twitter, LinkedIn, Slack, and Discord, with a score and specific recommendations to improve.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>seo</category>
      <category>html</category>
    </item>
  </channel>
</rss>
