Tutorial

How Do You Set Up Dynamic Open Graph Images for Webflow CMS Posts in 2026?

Written by
Pravin Kumar
Published on
May 25, 2026

Why do your Webflow blog links look so plain when you share them?

Most likely your Open Graph image is unset, so every link shares one boring sitewide picture or a blank gray card. The fix is to give each CMS post its own image. Once you do that, your links stand out in the feed and start earning clicks again, with no change to the writing.

I had a SaaS client come to me last month with this exact problem. They wrote great posts. But when they shared the links on LinkedIn, the previews showed up as blank gray cards. No image. No spark. Nobody clicked. We set per-post Open Graph images on their blog, and their shared links started getting clicks again. The writing never changed. Only the preview did.

What struck me most was how small the fix felt for how big the result was. They had spent weeks on the writing and almost no thought on the share card. That is normal. People build the page, then forget the page travels far beyond the browser tab. It travels through Slack threads, LinkedIn feeds, and WhatsApp chats, and in all those places the card is the whole pitch. If the card is blank, the pitch is blank.

What is Open Graph and why does it matter?

Open Graph is a small set of tags that tell social apps how to show your link. The most important one is og:image, the picture in the preview card. When Facebook, LinkedIn, X, Slack, or WhatsApp read your page, they grab these tags and build the card you see. Good tags mean a strong card.

Think about the last link you clicked in a chat. You probably saw a title, a line of text, and a picture before you clicked. That picture is the og:image. It is doing a lot of quiet work. A clear, on-brand image makes people trust the link and want to open it. A missing or generic one makes the link feel like spam, even when the post behind it is great.

Here is the part that surprises clients. Open Graph is not just for Facebook, even though the name comes from there. The same tags feed LinkedIn, X, Slack, and WhatsApp. So one fix in Webflow improves how your link looks across every app at once. That is great leverage for a few minutes of work in the page settings.

Does a better preview image really get more clicks?

Yes, and the data is strong. A 2025 HubSpot A/B test found that a link with an optimized Open Graph image and description earned about 2.3 times the click-through rate of the same link with a generic auto-generated preview. That is more than double, from one change to the preview alone.

Industry analysis in 2025 from Semrush put the lift from a rich preview card at roughly 30% to 40% over a bare URL. So even a basic card beats a plain link by a wide margin. Put those two findings together and the message is clear. The preview is not a small detail. It is the thing people judge before they decide to click, often in under a second.

What size should your Open Graph image be?

The standard og:image size is 1200 by 630 pixels, per the Open Graph protocol. That ratio fills the preview card on most apps without getting cropped in a weird way. If you go too small or use an odd shape, apps may crop your image badly or show it as a tiny thumbnail off to the side.

Stick to 1200 by 630 and keep your key text and logo near the center. That way nothing important gets cut off when Facebook or LinkedIn trims the edges. Use big, readable type, since the card often shows up small on a phone. While you are thinking about images, it helps to know the basics of good file handling, which I cover in my guide to image optimization.

How do you set a per-post Open Graph image in Webflow?

You add an image field, then bind it. First, open the Blogs Collection in Webflow CMS and add an image field for the social image if one does not already exist. Then open the Collection Page template, go to the page settings Open Graph section, and bind the og:image to that CMS image field. Now each post shows its own image.

This is the part most people miss. Without this binding, every post falls back to one sitewide default. With it, each post pulls its own picture from the Webflow CMS. So when you write a new post and upload its social image, the preview just works. No code. No per-page editing. It runs on its own from the field you set in the Collection Page template once.

One tip from experience. Set this up before you have many posts if you can. On the client blog I mentioned, we had to go back and add an image to every old post by hand. That took longer than the setup itself. Do the binding first, then fill the field as you publish, and you save yourself the cleanup later.

Can you make the image build itself from the post title?

Yes. You can use a service that turns the post title into a finished 1200 by 630 image, then store that image URL in your CMS. Good options are Bannerbear, Placid, Cloudinary, and Vercel OG. Each one can take your title and brand and stamp out a clean card for you with no design work per post.

The flow is straightforward. The service generates the image and gives you a URL. You store that URL in a plain text field or a link field on the post. Then you bind the og:image in page settings to that field instead of an uploaded image. Now your previews build themselves from the title, which is a real time saver for a busy blog. I lean on this for clients who publish weekly and do not want to open a design tool every time.

Why do your old previews still look wrong after you fix them?

Because the social apps cache old previews. Facebook, LinkedIn, and the others save a copy of your card the first time they see it. So even after you set a fresh og:image, the old card can keep showing up for a while. This trips up a lot of people who think their fix did not work.

The cure is to force a refresh. Always test the result with the Facebook Sharing Debugger and the LinkedIn Post Inspector. Both tools fetch your page again and show you the current card. They also clear the cached version, so your new image shows up next time someone shares the link. Run these on every post you fix, and re-run them if you change an image later.

How does this connect to your other SEO work?

The Open Graph image works hand in hand with your meta titles and descriptions. The image grabs the eye, and the text seals the click. If one is strong and the other is weak, you leave clicks on the table. I treat them as one job, not two, because they often live in the same page settings screen anyway.

If you want to sharpen the text side, read my guide to meta titles and descriptions. And if you plan to auto-generate your card images, keep your file sizes light, which ties into my notes on serving AVIF images in Webflow. Small files load fast, and fast pages keep the clicks you worked to earn.

What should you do this week?

Pick three of your top posts and fix their previews. First, open the Blogs Collection and add a social image field if you do not have one. Next, open the Collection Page template and bind the og:image in page settings to that field. Then upload a 1200 by 630 image for each post, with the text near the center. Last, run each link through the Facebook Sharing Debugger and the LinkedIn Post Inspector to clear the cache and confirm the card looks right on Facebook, LinkedIn, X, Slack, and WhatsApp.

Here is my honest take after years of doing this. The default Webflow Open Graph image is the single most common thing I see left unset, and it quietly costs clicks. While you are in there, pair this work with better meta titles and descriptions, keep your files light with AVIF images, and follow solid image optimization habits.

If you want help setting this up on your own blog, reach out. I run a small Webflow practice here in Bengaluru, and I am happy to look at your previews with you. Let's chat.

Get your website crafted professionally

Let's create a stunning website that drive great results for your business

Contact

Get in Touch

This form help clarify important questions in advance.
Please be as precise as possible as it will save our time.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.