Slack link preview not working or not updating
Slack unfurls links with a bot that reads oEmbed, Open Graph and Twitter Card tags. Results are cached across Slack for about 30 minutes.
Last updated
Quick fix
Check the page with the meta tag checker.
Make sure the tags are in the HTML Slackbot downloads, near the top of the head.
Let Slackbot-LinkExpanding through your firewall or bot protection.
Wait about 30 minutes or post the URL with ?v=2.
Why the Slack preview is missing or old
Slack cached the last result. Responses are cached globally for around 30 minutes.
Slackbot gets only part of the page. It uses HTTP Range headers to fetch as little as possible, so tags far down the page can be missed.
Bot protection blocks it. Slack fetches with the user agent
Slackbot-LinkExpanding 1.0; a challenge page or a 403 means no tags.The image fails Slack’s check. Slack downloads the image to check it, so a broken or blocked image URL drops the picture.
The link has no protocol. Links only unfurl when the URL is fully qualified, with http or https.
How to fix it
Open the page in the meta tag checker to see the Open Graph and Twitter tags.
Place
og:title,og:descriptionandog:imageearly in the head.Allow the
Slackbot-LinkExpandinguser agent in your CDN or firewall rules.Check that the image URL loads without cookies or a login.
Post the link again after 30 minutes, or with
?v=2to test right away.
Tags Slack reads
oEmbed, when the page links to an oEmbed endpoint
og:title,og:description,og:imagetwitter:title,twitter:description,twitter:image. Check them with the Twitter card validator
Image size rules
Not verified: Slack doesn’t publish a size or file limit for unfurl images. A 1200 x 630 px JPG or PNG works on Slack and every other platform covered here.
How to force a refresh
Slack has no refresh tool. Wait about 30 minutes, or share the URL with a query string. Messages already posted keep their unfurl. The refresh tool shows the step for each app.
Slack doesn’t honor robots.txt for link expanding, so a Disallow rule won’t stop or explain a missing unfurl.
Sources
FAQ
How long does Slack cache a link preview?
About 30 minutes, globally across Slack, according to Slack’s robots page.
Does robots.txt block Slack unfurls?
No. Slack says it doesn’t honor robots.txt for link expanding because it acts on behalf of a user.
Why does Slack show the title but no image?
Slack downloads the image to check it. If that request fails or is blocked, the unfurl shows without the image.
Check your page, then refresh the preview
Paste your URL into the free checker to see the exact tags each app reads. Once the tags are right, use the refresh tool to clear the old preview.
Related guides
Discord embed not showing or not updating
Discord fetches the page once, reads the tags in the server HTML and caches the embed for about 30 minutes. It never runs your JavaScript.
X (Twitter) card not showing or not updating
X builds the card from twitter: tags, falling back to og: tags. There is no longer a validator that refreshes the cache, so the fix is good tags plus a fresh URL.
LinkedIn link preview not working or not updating
LinkedIn builds the card from four og: tags and keeps a cached copy. Fix the tags, then make LinkedIn fetch the page again with Post Inspector.