Why Slack link previews break after CMS changes

By ShareScan ยท EngineeringPublished 3 min readCategory Slack

Slack previews often break after CMS edits because the published URL, image asset, or Open Graph fields changed outside the deploy workflow.

Generated CMS-to-chat preview illustration for Slack link preview regressions

Slack is where many preview bugs become visible because internal teams paste links there all day. A CMS change can look harmless in the editor and still break the Slack unfurl: the image disappears, the title reverts, the description is stale, or the card points at the wrong canonical URL.

This usually happens because CMS publishing is a separate change stream from code deploys. Engineering may have tests around releases, but content teams can change metadata, images, slugs, redirects, and canonical fields without triggering the same checks.

Why CMS changes break Slack previews

Slack reads metadata from the public page. If the CMS changes any part of that public page, Slack sees the result. The common failures are not exotic:

  • A new hero image is uploaded but not reachable from the public CDN.
  • The CMS field mapped to og:image is cleared or renamed.
  • A slug changes but og:url still points to the old URL.
  • A preview environment URL is accidentally published as the canonical URL.
  • A template update changes metadata for many pages at once.
  • Slack cached a previous unfurl and masks whether the source is now fixed.

The CMS fields that matter most

CMS fieldPublic metadata it usually controlsFailure mode
Social image`og:image`Missing image or blocked asset
SEO title`og:title` or fallback titleWrong headline in Slack
SEO description`og:description`Empty or stale preview copy
Slug or canonical`og:url` and canonical linkPreview points at old URL
Template defaultsAll fallback metadataMany pages break at once

Slack does not care that the edit was "just content." It only sees the final HTML and the final image URL. If those changed, the preview changed.

What to automate after publish

The safest workflow is to scan the URL after the CMS publish event. A webhook from the CMS can trigger a metadata check for the page or site section that changed. The check should verify the published page, not the draft or preview route.

Post-CMS preview check

Use this after content publishes, especially for campaign pages and blog posts.

  1. Trigger on publish

    Use the CMS webhook or content release event.

  2. Resolve the public URL

    Follow redirects and validate the final destination.

  3. Inspect Open Graph tags

    Confirm title, description, image, and URL are present.

  4. Fetch the image asset

    Make sure the asset loads publicly and has expected dimensions.

  5. Notify the owner

    Send Slack alerts to the team that can fix the CMS field or template.

Caching is part of the workflow

Slack may cache previews, so a fixed page does not always show a fixed unfurl immediately in the same conversation. That can make teams chase the wrong problem. First verify the source metadata. Then refresh or test in a new context as needed.

The important operational habit is to treat metadata as production content. When a CMS change can alter a public preview, it deserves the same kind of regression check as a deploy.

FAQ

Slack may have cached the earlier unfurl. Verify the page source first, then refresh Slack's preview path or test with a clean URL context.

Yes. If the template controls fallback Open Graph fields, a single change can affect every page using that template.

They should see the signal, but the best workflow routes failures to whoever owns the field or template that broke.

Related articles

TRY SHARESCAN

Run a free 10-URL scan on your pages

Paste a few URLs (or a domain/sitemap) and run the same metadata checks we use for social preview QA and regression monitoring.

See a sample report

No signup for your first scan. Open the report, review issues, then connect Slack if you want alerts.

After scan completion, connect Slack and send a test report.

Up to 10 URLs. We will dedupe and validate automatically. Prepared 0 / 10 unique URLs.