LinkedIn Caching OpenGraph Data
Have you ever shared a link on LinkedIn? When you share a link, LinkedIn creates a link preview for you — it pulls Open Graph data: an image, a title, and the site URL. You probably never think twice about it, it just... happens.
But did you know LinkedIn actually saves that image on its own server? Like, it's not fetching it live from your site every time someone views your post. It's sitting on LinkedIn's servers.
Why would it do that? Turns out there are a few good reasons.
Speed
Fetching and rendering a preview live every time someone shares a link would be slow. If LinkedIn had to go hit your website's server every single time someone scrolled past your post, that adds up fast — especially with your post getting views for days or weeks after you post it. Caching the image once means every future view is instant.
Reliability
If your website goes down, if you delete the image, if you redesign your site and the file moves — the preview still works, because LinkedIn already has its own copy saved. It doesn't depend on your server being up forever.
Privacy & Security
This one's underrated. When LinkedIn fetches the image server-side (instead of your device loading it directly from the original site), it hides your IP address and device info from whoever owns that site. So the site owner can't see who's viewing their link preview and where from. It also means LinkedIn can scan the image once — for malware, NSFW content, whatever — before it gets shown to potentially millions of people. Way easier to catch bad stuff once at cache-time than to trust every link someone posts.
The Catch
Because of all this caching, if you update the image on your website, LinkedIn won't just magically show the new one. It's still serving you the old cached version. This trips people up all the time — "I changed my OG:image, why is the old one still showing?" — that's why.
To fix it on LinkedIn, use their Post Inspector tool. Paste your URL in, it re-crawls the page and refreshes the cache.
FAQ
Hi, Im a seniour software engineer building web platforms. I write about Nuxt, Typescript, DevOps, AI and engineering decisions behind real products, based on my real experience.