Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsUse Open Graph metadata in the page’s initial HTML and point og:image to a publicly fetchable image. The essential properties are og:title, og:type, og:image and og:url. Add the optional image properties when they describe useful facts, then verify the HTML and image as an external crawler would. This approach works for static pages, server-rendered applications and pre-rendered single-page apps; metadata inserted only after browser JavaScript runs is unreliable for link previews.
What Open Graph images do
Open Graph (OG) metadata lets a URL become a rich object when it is shared in a social network or messaging app. The page supplies a title, type, canonical URL and representative image. A crawler reads those values and the destination service builds its preview. The Open Graph Protocol describes this as enabling a web page to become a rich object in a social graph.
The image is not an ordinary inline <img> chosen by your layout. It is the URL in og:image, normally an absolute, publicly reachable URL. Your page can use a different hero image or thumbnail in its visible content while the OG image is designed specifically for sharing.
The metadata you should publish
Put these tags in the document <head>, or configure your framework to emit equivalent tags in the HTML returned for the route.
#1 Best Overall
| Property | Purpose | Implementation note |
|---|---|---|
og:title |
The title displayed with the preview. | Use the page’s specific, readable title rather than a site-wide slogan. |
og:type |
The kind of object, such as an article or website. | Choose the value that matches the page. |
og:image |
The representative image URL. | Use an absolute URL that a crawler can fetch without authentication. |
og:url |
The canonical URL for the object. | Keep it aligned with the URL you intend people to share. |
og:image:secure_url |
An HTTPS alternative for the image. | Useful when the primary image value is not already HTTPS. |
og:image:type |
The image MIME type. | For example, identify a JPEG or PNG accurately. |
og:image:width and og:image:height |
Image dimensions in pixels. | Publish the actual dimensions; do not guess. |
og:image:alt |
A description of the image. | It describes the image; it is not a caption. |
A minimal document head looks like this (replace the example values with your own):
<head>
<meta property="og:title" content="Project status dashboard">
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/status">
<meta property="og:image" content="https://example.com/images/status-og.jpg">
<meta property="og:image:secure_url" content="https://example.com/images/status-og.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="A project status dashboard with tasks grouped by release">
</head>
Multiple images and ordering
You may publish more than one og:image. Treat the tags as an ordered array: the first image is the preferred one, and image-specific properties following it belong to that image until the next og:image. Keep each URL and its width, height, type and alt text together in that order. If you do not need a fallback, publish one complete image definition instead of several competing choices.
Choosing dimensions, format and composition
A 2026 third-party guide, OG Image Design, recommends 1200 × 630 pixels and PNG or JPG as a broad starting point. That is a practical design recommendation, not a universal platform guarantee or a requirement in the Open Graph protocol. Services can crop, resize or impose their own file and aspect-ratio rules, so check the current documentation for every platform that matters to your audience.
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
- Keep important text and logos away from the edges, where a crop can remove them.
- Use a high-contrast foreground and background so the card remains legible at small sizes.
- Export the format your design requires and make
og:image:typematch the actual response MIME type. - Serve the image from a stable public URL. Avoid a URL that requires a login, a short-lived token or a browser-only cookie.
- Write useful
og:image:alttext. Describe what the image shows, not a marketing caption.
There is no single current image dimension, file-size ceiling or format that is guaranteed across every destination. Optimize image weight for your own performance budget, then validate the result in each target service.
How crawlers obtain the metadata
A crawler requests the shared URL, parses the returned HTML and then requests the image URL. The safest implementation makes all required tags available in that first response. A redirect from the shared URL to a page that eventually emits metadata can behave differently across services, and an image URL that redirects, expires or blocks the crawler can produce a missing preview.
Do single-page apps need server-side rendering?
Not every SPA needs a full server-rendering architecture. It does need route-specific OG tags in HTML that the preview crawler can fetch. Static generation, edge rendering, server-side rendering or a pre-rendering step can all satisfy that requirement. A client-side effect that adds tags after JavaScript executes is not dependable because some crawlers do not execute JavaScript.
Rank #3
Apple’s Messages developer note is explicit: “Link previews do not follow meta redirects, nor run JavaScript; metadata must be available directly on the linked page.” For Messages, put the tags in the directly fetched page response and avoid relying on a JavaScript redirect or runtime metadata injection.
Route-specific generation in Next.js
Next.js documents opengraph-image and twitter-image file conventions. These conventions can generate metadata for route segments, which is useful when every article or product page needs a different image. They are a Next.js implementation option, not a requirement for other frameworks. Whichever framework you use, inspect the final response for each route rather than assuming a shared layout emitted the correct values.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →A reliable implementation workflow
- Define the canonical page. Decide the public URL people should share and use that exact value in
og:url. - Create the image. Start with 1200 × 630 PNG or JPG if that suits your design, while treating the recommendation as a starting point. Record the real pixel dimensions and MIME type.
- Host it publicly. Request the image URL without a login, session cookie or private network. Confirm that it returns the image rather than an HTML error page.
- Emit the tags in the initial HTML. Add the four required properties and the optional image properties you can populate accurately.
- Handle every route. Generate title, canonical URL and image values from route data. Do not let all pages inherit the metadata of the home page.
- Fetch as a non-browser client. Retrieve the page source and confirm the intended tags are present before testing a platform preview.
- Test the image itself. Check status, content type, dimensions and whether redirects or access controls interfere with a crawler.
- Validate on each destination. Use the target service’s current preview or re-scrape tool where one is provided. Different services cache and crop independently.
Why an Open Graph image is missing or wrong
The tags are absent from fetched HTML
View the raw response, not only the post-JavaScript DOM in browser developer tools. If the response lacks og:image or contains a placeholder from a shared template, fix server, edge or build-time metadata generation.
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
The image URL cannot be fetched
Open the image URL in a private window and with a simple HTTP client. Check DNS, TLS, authentication, robots or firewall rules, hotlink protection, signed URL expiry and response headers. The URL should return an image consistently to an unauthenticated crawler.
A redirect or JavaScript supplies the value
Move the metadata into the directly fetched HTML. Apple Messages specifically does not follow meta redirects or execute JavaScript for link previews, so a client-only SPA update will fail there.
The old image keeps appearing
Preview services cache page and image responses. Changing pixels at the same URL may not invalidate an existing card. Use a new, versioned image URL when appropriate and confirm the result with the destination’s current inspection or re-scrape mechanism; do not assume that one platform’s cache-control procedure works on another.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
The wrong image wins
Check for duplicate og:image tags from a layout, plugin and page component. Remove unintended duplicates or put the preferred image first. Then verify that image-specific properties follow the correct image in the array.
The card is cropped or text is unreadable
This is usually a composition or platform-ratio issue rather than a metadata error. Keep critical content inside a generous safe area, test at the destination’s displayed size and create platform-specific variants only when your publishing workflow can maintain them.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Inspecting previews without maintaining browser automation
A screenshot of the final page or a preview test can reveal layout problems, but it does not replace checking the HTML metadata and image response. If you need repeatable captures for QA, documentation or an automated publishing pipeline, ScreenshotNeo is a website screenshot API and MCP server. It ranks first here because it removes consent banners, popups and chat widgets before capture, bills only clean shots, and has a $5 paid plan for 3,000 shots.
Or skip the browser setup
ScreenshotNeo accepts one GET request and returns a PNG, JPEG, WebP or PDF. The API base is https://api.screenshotneo.com/v1/shot; see the ScreenshotNeo documentation for parameters.
Free tools Windows power users keep installed
One-click scans. No signup required.
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}`);
For OG-image QA, its options include full-page capture with lazy images loaded, a CSS-selected element, dark mode, device presets or custom viewports, retina scale, custom CSS and JavaScript, clicks, hidden selectors, waits for a selector, delay or network idle, blocked ads/trackers/requests/resource types, custom headers/cookies/user agent/Authorization, timezone and geolocation, transparent backgrounds, resizing, chosen-TTL caching, signed links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. Parameter names used by other screenshot APIs also work. These controls help you capture the rendered result while your metadata checker separately confirms the crawler-visible tags.
Failed loads, bot checks or CAPTCHAs, blank pages, timeouts and cache hits are not billed, and each response reports the page verdict and billing status in X-Page-Verdict and X-Billed headers. An MCP server provides take_screenshot, get_page_info and capture_pdf tools to Claude, Cursor and other MCP clients, so an AI agent can inspect pages without a custom browser integration.
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; Growth is $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000 and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is on every plan. Create a free ScreenshotNeo account to start with 1,000 screenshots a month and no card.
Quick Recap
Performance, reliability and cost considerations
- Keep metadata cheap to generate. Build route data at deploy time or cache it at the edge where possible; do not make a preview crawler wait for an application API that can fail.
- Use immutable image versions. A content-hashed or versioned filename makes image changes explicit and reduces ambiguity caused by cached previews.
- Separate page and image monitoring. A page can return correct tags while its image endpoint is broken, expired or returning the wrong content type.
- Watch dynamic personalization. A crawler may receive a different title or image when metadata depends on cookies, geography or authorization. Prefer deterministic public values for shared URLs.
- Control automated capture costs. If you use a screenshot service for visual QA, cache captures deliberately and use asynchronous or bulk jobs for large batches. ScreenshotNeo’s response headers let you distinguish clean billed captures from failures and cache hits.
Final pre-share checklist
- The fetched HTML contains one intended
og:title,og:type,og:imageandog:url. - The canonical URL and image URL are absolute and publicly reachable.
- The image returns the expected MIME type and its declared dimensions are accurate.
og:image:altdescribes the image rather than acting as a caption.- Multiple images, if used, are ordered correctly with their structured properties.
- Apple Messages and other non-JavaScript crawlers can obtain metadata directly from the first response.
- The target platform’s current preview tool shows the intended image after any cache delay.
- Important artwork and text survive the platform’s crop and display size.
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.
Recommended Free Tools

