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.

A link preview is the card an app may show when someone shares a URL: usually a title, description, image, or media preview. The receiving service fetches the page, reads metadata, may fetch linked media, and builds a card according to its own rules. That is why the same URL can look different—or fail to expand—in different apps.

What happens when you share a link?

A preview is created by the service receiving the link, not necessarily by the website you are sharing. The service has to decide whether to fetch the destination, which metadata to use, what media to retrieve, how to format the card, and whether to show a result it fetched earlier.

  1. The app detects a URL. A fully qualified URL gives the receiving app a destination to inspect. In Slack, an app registered for a domain can receive a link_shared event and respond with a custom unfurl.
  2. A crawler requests the page. Slack’s robot documentation says it fetches as little of the page as possible, using HTTP Range headers to extract metadata. The crawler may also request media referenced by the page.
  3. The service reads metadata. It looks for supported descriptions of the page, such as Open Graph, Twitter Card, or oEmbed data. The exact set and precedence depend on the destination.
  4. The destination renders a card. It chooses its own layout, truncation, image crop, media behavior, and treatment of authenticated pages. Some services also support interactive or app-provided previews.
  5. The destination may reuse a prior fetch. A platform can cache a representation, so changing a page’s tags does not guarantee that an already-shared URL updates immediately. Refresh behavior is platform-specific; there is no single cache duration that applies everywhere.

“Link expanding” and “unfurling” are terms Slack uses for preview generation. Apple documents rich previews in Messages. They describe related user-facing behavior, but they do not imply that the apps fetch or render links identically.

Which page metadata controls the preview?

For a page you control, put preview metadata in the HTML response a crawler receives. A useful baseline is Open Graph title, description, image, and site name. Add a Twitter Card value for destinations that support it, and keep the ordinary document title and meta description meaningful as fallbacks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
HTML and CSS: Design and Build Websites
  • HTML CSS Design and Build Web Sites
  • Comes with secure packaging
  • It can be a gift option
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Product guide | Example Site</title>
  <meta name="description" content="A practical guide to choosing and using the product.">
  <meta property="og:title" content="Product guide">
  <meta property="og:description" content="A practical guide to choosing and using the product.">
  <meta property="og:image" content="https://example.com/images/product-guide.jpg">
  <meta property="og:site_name" content="Example Site">
  <meta name="twitter:card" content="summary_large_image">
</head>
<body>
  <main><h1>Product guide</h1><p>The page content goes here.</p></main>
</body>
</html>

This is a template: replace the example site, copy, and image URL with values that describe the actual page. The image should be a publicly reachable absolute HTTPS URL. Do not place confidential information in tags or in the image URL; metadata and linked media may be fetched before a person opens the page.

  • og:title and og:description: State what the destination page is about. Keep them accurate and specific rather than using a generic site-wide message.
  • og:image: Supply the intended preview image. The URL must work for the platform’s crawler, not only for a logged-in browser session.
  • og:site_name: Identifies the publisher or site when the destination chooses to show it.
  • twitter:card: Apple’s 2024-revised guidance names summary and summary_large_image as supported values for social previews. A card value does not force every app to use the same card design.
  • HTML title and description: Keep these useful as fallbacks in case a service does not find or use the specialized tags.
  • oEmbed: A format that can describe rich media. Whether and how a destination uses it depends on that platform.

Do not rely on JavaScript to add essential preview tags after the page loads. Apple Technical Note TN3156 says Messages link previews do not run JavaScript and do not follow meta redirects; metadata must be present in the directly fetched page, while server-side redirects are followed. Server-rendering the tags is therefore safer than depending on client-side rendering, and a server-side redirect is preferable to a meta refresh when redirecting a shared URL.

Why does a link preview look wrong or fail to appear?

Symptom Likely cause What to check
No card appears The crawler cannot find usable metadata, cannot retrieve the page, or the destination declines to expand the URL. Check the initial HTML response, URL redirects, crawler access, and the destination’s own preview rules.
Old title, text, or image The service may be showing a cached fetch. Confirm the live page is correct, then use that destination’s documented refresh or re-fetch option if available. There is no universal cache-clearing command or guaranteed refresh time.
Image is missing The image URL may be private, invalid, blocked, too small, or otherwise unsuitable for that platform. Open the absolute image URL without an authenticated session; check its response, dimensions, and file size.
Preview differs between apps Platforms support different metadata, limits, redirect behavior, and rendering choices. Test the exact shared URL in each destination instead of assuming one successful preview predicts another.
Wrong content on a JavaScript-heavy page The relevant tags may not exist until client-side code runs. Inspect the HTML returned directly by the server and make the tags available there.
Redirected URL does not preview as expected A meta refresh or redirect chain may not be handled like a server-side redirect. Use a server-side redirect where appropriate and test the final destination URL in the target app.

Slack’s documentation lists missing preview data among reasons a link may not expand. Its crawler looks for oEmbed, Twitter Card, and Open Graph tags and may fetch referenced media to check validity and extract information. That means a page can display correctly in a human browser yet still provide too little information to a crawler, or deny the crawler access to its image.

For Apple Messages, Apple’s 2024-revised developer guidance gives these size figures: square icons should be at least 108 pixels per side; images should be at least 900 pixels wide; the main resource is limited to 1 MB; and associated resources together are limited to 10 MB. Apple describes these as guidelines that may change. They are not universal limits for Slack or every social and messaging platform.

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

How do you set up and test a reliable preview?

  1. Choose the destination first. Decide which app or apps need to show the card. Their metadata support and rendering rules are not interchangeable.
  2. Add tags to the server-rendered HTML. Set Open Graph fields, an appropriate card value where supported, and useful ordinary title and description fallbacks.
  3. Publish an accessible image. Use an absolute HTTPS URL that a crawler can retrieve without a login or secret token. Keep it within the target service’s documented guidance.
  4. Check the raw response and redirect path. Verify that the actual shared URL returns the intended page and that its tags appear in the HTML response, not only after JavaScript runs.
  5. Share the exact URL in the target app. Include the same path and query string that people will share. Test authentication boundaries and redirects as well as the canonical page.
  6. After edits, account for caching. Confirm the live metadata first, then use a documented refresh mechanism for that platform if one exists. Do not promise that edits will appear immediately in an already-created preview.

When debugging, compare the destination’s actual card with the HTML and media the crawler can access. A screenshot of your page can help verify how the page itself renders, but it cannot prove which tags a crawler received or how a particular app will construct its preview.

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

Are link previews safe?

A preview fetch can happen before anyone clicks the link. Treat it as an external request to your page and its referenced resources, not as a harmless action that occurs only inside a person’s browser. Security research on link previews has documented privacy and security risks from automatic fetching, including unintended information disclosure.

  • Never put passwords, access tokens, or other credentials in a URL that might be shared or fetched.
  • Avoid sensitive query parameters and private details in preview titles, descriptions, and images.
  • For authenticated content, expose only metadata that is safe for an external service to see; do not assume the preview crawler shares the user’s authentication or privacy boundary.
  • Be cautious with interactive previews supplied by third parties. Slack warns that some third-party work-object previews are not validated or endorsed by Slack, and data entered into them is processed outside Slack.

A public preview should summarize public content. If the underlying page is private, ensure its metadata and media do not disclose more than intended.

When does a Slack integration need a custom unfurl?

A standard preview lets Slack derive a card from the destination page. A Slack app can instead handle a registered domain’s link_shared event and return a custom unfurl using Slack’s APIs and the required links:write scope. That is useful when the card should represent structured application data or offer richer interaction rather than merely repeat a web page’s title and image.

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

Slack Work Objects provide standardized entities and richer previews, while custom unfurls give an app control over the blocks it returns. These are integration choices for Slack, not metadata standards that make other platforms render the same card. Keep a useful ordinary page preview as well if links may be shared outside the integration.

Or skip the browser setup

If your immediate task is to inspect how a destination page renders, ScreenshotNeo can return a screenshot or PDF through a website screenshot API; it does not replace testing the link in each messaging app or reading that app’s crawler response. For a one-request screenshot, the API call is:

Quick Recap

SaleBestseller No. 1
HTML and CSS: Design and Build Websites
HTML and CSS: Design and Build Websites
HTML CSS Design and Build Web Sites; Comes with secure packaging; It can be a gift option
$14.94
SaleBestseller No. 2
SaleBestseller No. 4
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. It removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card, and paid plans start at $5 for 3,000. Sign up for free.

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.

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