image.twitter-only

Image is set only by a twitter: tag. Level: Error.

When it is raised

Raised when the image loads and the tag that supplied it is twitter:image or twitter:image:src. That happens when the first og:image tag and the first og:image:url tag each have an empty content value after trimming, or are absent. Only the first tag of a name that has a content attribute is read; if its content is empty or whitespace, that tag counts as absent even when a later one has a value. It is not raised when the image fails to load; one of the image loading checks is raised instead.

What it does to a shared link

X's Cards documentation, since withdrawn, described X reading twitter: tags and falling back to og: tags. Facebook, LinkedIn and WhatsApp document og:image as the image tag and do not mention twitter: tags, so which picture they show, if any, is not set by the page. Slack's documentation says it looks for both Open Graph and X Card metadata and does not say which takes precedence.

How to fix it

  1. Add an og:image tag in the <head> with the same absolute https URL as twitter:image.
  2. If the page already has an og:image or og:image:url tag with an empty content value, fill it in or remove it; a later tag of the same name is not read.
  3. Keep twitter:image if you want it; the check clears once the first og:image (or og:image:url) tag on the page has a non-empty content value.
<meta property="og:image" content="https://example.com/card.png"> <meta name="twitter:image" content="https://example.com/card.png">

Related checks

Sources