image.expiring

Image URL is signed. Level: Warning.

When it is raised

Raised when the image loads and its URL's query string has a parameter named X-Amz-Signature, X-Goog-Signature, Signature or token, or has both sig and se (parameter names matched case-insensitively). The message gives an expiry date, in UTC as YYYY-MM-DD, when one can be read from the URL, taken in this order: se, if it can be parsed as a date; otherwise Expires, if it is 9 to 11 digits (Unix seconds); otherwise X-Amz-Expires (seconds) added to X-Amz-Date. The date is given even if it has already passed. If none of these can be read, no date is shown. A signed URL is never also reported as image.unversioned.

What it does to a shared link

A signed URL is usually time-limited. When the message gives an expiry date, the URL stops serving the image after that date. When it gives none, the API could not read an expiry from the URL.

How to fix it

  1. Host the image at a publicly readable URL with no signature or token in it, for example a public bucket path or a CDN path.
  2. Point og:image at that permanent URL.
  3. If the file must change later, put a version in the filename or query so the new picture gets a new URL.
<meta property="og:image" content="https://example.com/card-v2.png">

Related checks