LinkedIn doesn’t do WebP: why my post suddenly showed up without a picture

Two automatically shared posts, one with a picture, one without. The difference: JPEG and WebP. Why LinkedIn quietly drops the modern image format, and what you can do about it.

Bilder in einer Reihe, verschiedene Formate

The other day, two posts sat side by side on the LinkedIn page of my deep journalism portal WtE Monitor. The Jetpack plugin had shared both of them automatically from WordPress. The one on the left showed a large photo of district heating pipes. The one on the right showed a headline, a web address and nothing else.

No error, no warning, no hint. Just a post that looked as if someone had forgotten the picture. I had not forgotten it. I had uploaded it as a WebP.

First, the usual suspects

When a preview image goes missing, the first thing that comes to mind is the Open Graph data in the page header. That is where a page tells social networks which picture to show. So I compared the two articles.

Both were fine. The left one declared a JPEG at 1200 × 800 pixels, the right one a WebP at 1088 × 725 pixels, neatly labelled with width, height and file type. The WebP itself was reachable, even when you pose as LinkedIn while fetching it, and at 51 KB it was a model pupil. The JPEG next door weighed three times as much.

So it was not the picture. It was the format.

LinkedIn doesn’t fetch the picture itself

The explanation is in LinkedIn’s developer documentation, and it surprised me. Paste a link into LinkedIn by hand and you can watch the network fetch the page and pick up the title and picture. With automatically shared posts it works differently. The Posts API explicitly does not read the page. The program doing the posting has to supply the title, description and preview image itself, and upload the picture beforehand through a separate image interface.

And that Images API is picky. According to the documentation it accepts exactly three formats: JPG, GIF and PNG. WebP is not on the list.

Jetpack knows this. The plugin’s source code lists the permitted image formats for every network. For Mastodon, WebP is among them. For LinkedIn it is not, with a reference to that very documentation. So when the featured image is a WebP, Jetpack simply shares the post without a picture.

No guarantee by hand, either

If you are now thinking you will just share it yourself: WebP is shaky there too. Reports of this go back years. In 2021 a developer described how LinkedIn’s crawler does not even request WebP images. In the support forum of a major SEO plugin, the team had conceded even earlier that not every platform accepts WebP as a preview image. I did not research this any further. But I would not rely on platforms accepting WebP, either.

The irony of it

Jetpack has the solution in its own house. Its image network will serve that same WebP as a JPEG on request, whenever the client does not understand WebP. I tried it, and it works.

Jetpack just does not use that detour for the preview image. My last 30 posts showed a clear pattern: JPEGs from 1200 pixels wide went through the image network, while WebP images were always linked directly, even the large ones. Half of those 30 posts had a WebP as their featured image.

What helps

The fix is unspectacular: the featured image stays a JPEG. It is the one picture that platforms use as a preview, and for that job the old format is the safe one.

For everything else, WebP remains the better choice. The pictures in the text are seen only by the browser, and browsers have handled WebP for years. Every kilobyte saved counts there, and WebP saves a lot of them.

For my own app Hybrid AutoPress, which uploads Markdown files to WordPress along with their pictures, this means the featured image needs a format setting of its own. Until now one setting has covered all pictures, and it recently switched to WebP. That was right for loading time and wrong for LinkedIn. The split is coming with the next version: featured images will then upload as JPEG by default, and the pictures in the text stay WebP. I will tackle that as soon as Apple’s review of version 1.0 is complete.

Three things to remember

Modern does not mean welcome everywhere. WebP has been standard in browsers for years. In the interfaces of social networks, the world can still consist of JPG, GIF and PNG.

Shared automatically is not the same as shared by hand. When you paste a link, LinkedIn fetches the preview itself. When a plugin shares it, the plugin delivers the preview, and then the rules of the interface apply.

There is no error message. The post appears, just bare. If you share automatically, take a look after the first few posts to see what they really look like.

The 51 kilobytes were no argument, at any rate. Not when the other side will not read the format at all.