How to Set a Social Preview Image for a Ghost Blog Post
Set the Facebook Open Graph image and X card for one Ghost post, preview the result, and refresh a cached Facebook share.
To set a social preview image for one Ghost blog post, open the post in Ghost Admin, open its post settings, and edit the social metadata in the Meta data section. Set the Facebook Open Graph data and, if needed, the X card data, then review Ghost’s preview before publishing. These are post-level settings; the Facebook and X controls under Settings → General → Meta data apply to the site address instead.
A social preview image comes from a post’s metadata and card settings, not from adding an image card to the body of the post. Ghost allows separate Facebook and X data. If you leave X-specific data unset, Ghost uses the custom metadata. Ghost’s post settings guide documents these controls.
Set the image for one Ghost post
- Open the post in the Ghost editor.
- Open the post settings menu.
- Find the Meta data section. Ghost describes this as custom metadata that search engines can access and that can populate dynamic links when content is shared.
- Set or update the Facebook card data (Open Graph) for Facebook sharing. Add X card data too if you want a platform-specific X image or wording.
- Review the metadata preview and the available social preview in Ghost’s publishing interface. Check that the image and text look right before publishing.
- Publish or update the post.
Ghost’s editor labels can change. The documented distinction is that a single post’s card controls live in that post’s settings, while site-wide card controls live in general site metadata settings.
Choose the right scope and platform
| Goal | Where to edit | What it affects |
|---|---|---|
| Change the preview for one article | That post’s settings → Meta data | The individual post’s metadata and social card data |
| Change how the publication’s site address appears when shared | Settings → General → Meta data | The site address’s Facebook and X card settings |
| Set Facebook-specific sharing data | The post’s Facebook/Open Graph card settings | The post’s Facebook share presentation |
| Set X-specific sharing data | The post’s X card settings | The post’s X presentation; when unset, Ghost uses custom metadata |
If you are changing only one post, use its post settings. Changing general site metadata is the wrong scope for that task. See Ghost’s SEO guide for more on page and post metadata.
Prepare and preview the image
Ghost’s editor image cards accept JPEG, PNG, GIF, and WEBP, and Ghost says uploaded images are optimized for the web. The editor also includes an image editor, including for feature images. These documented editor capabilities do not establish a universal pixel size or aspect ratio for social preview images. If exact dimensions matter, check the current requirements of the social platform where you plan to share.
Before publishing, use Ghost’s metadata and social previews to inspect the result. Confirm the intended image and wording appear for the post, and check the destination platform’s actual share preview when possible. A platform may choose a different image or text than the metadata you supplied.
Update a stale Facebook preview
After you change a published post’s Facebook image, Facebook may continue showing its cached Open Graph data. Ghost explicitly notes that Facebook caches a post’s Open Graph data when published and directs publishers to the Facebook Sharing Debugger to update a published post’s preview. Ghost does not document a guaranteed refresh interval. For other platforms, inspect the actual share preview; the reviewed Ghost guidance does not establish a matching cache-refresh procedure for every platform.
- Save the updated post metadata in Ghost.
- Submit the post URL to Facebook Sharing Debugger as Ghost recommends.
- Check the post again in the target platform’s share preview.
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
| The site logo or site-wide image appears instead of the post image | You edited general site metadata, or the post’s card data is unset. | Open that post’s settings and set its Facebook/Open Graph data. Add X-specific data if needed. |
| Facebook still shows the old image after an update | Facebook may have cached the post’s Open Graph data. | Use Facebook Sharing Debugger as Ghost recommends, then inspect the share preview again. |
| X shows different data from Facebook | The post has separate platform card settings, or X-specific data is unset. | Set the X card data if you want X-specific image or wording. If unset, Ghost uses the custom metadata. |
| The social platform chooses another image or text | Social platforms and search engines can choose alternatives to supplied metadata. | Review the post metadata and the platform’s preview. Ghost’s SEO guidance notes that platforms and search engines may select alternatives. |
| The image will not upload | The file may be in an unsupported format for an editor image card. | Use JPEG, PNG, GIF, or WEBP, which Ghost documents as accepted image-card formats. |
Or skip the browser setup
If you need to inspect how the published post renders in a browser, ScreenshotNeo can return a screenshot with one GET request. This can help you check the page itself; it does not replace setting Ghost’s social metadata or guarantee what a social platform will display. See the ScreenshotNeo API documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Replace the example URL with your published post URL. ScreenshotNeo removes known cookie consent banners, newsletter popups, and chat widgets before capture, and each of those steps can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; response headers say the page verdict and whether the request was billed. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 screenshots. Learn about ScreenshotNeo or sign up free for 1,000 screenshots a month with no card.
FAQ
Do I need to put the preview image in the post body?
No. Configure the post’s metadata and card settings; an image card in the body is a separate piece of post content.
Does Ghost document one required social image size?
The reviewed Ghost documentation does not specify a universal pixel size or aspect ratio for post social cards. Check the target platform’s current requirements if you need exact dimensions.
Will every platform use the image I set?
Not necessarily. Social platforms and search engines can select other available content. Review the preview on the platform where the post will be shared.
Where can I read Ghost’s publishing guidance?
See Preparing posts for publishing, SEO in Ghost, and Publishing and scheduling.


