Schema Markup for AVIF Product Photos

This article outlines the recommended Schema.org configurations for implementing AVIF product photos on e-commerce websites. You will learn how to structure JSON-LD using the ImageObject specification, declare the proper MIME type, define essential dimensional properties, and provide fallback formats to ensure optimal search engine indexing and rich result eligibility.

Use the ImageObject Specification

When referencing product images in modern formats like AVIF, avoid using a single string URL for the image property. Instead, expand the property into an ImageObject. This structure allows you to pass technical metadata directly to web crawlers, removing ambiguity about file type and dimensions.

Declare the Correct encodingFormat

Search engines rely on accurate MIME types to understand how to process modern file formats. AVIF files must be explicitly declared using the standard MIME type:

Explicitly declaring this property ensures crawlers do not have to inspect the binary header or rely solely on file extensions to determine format support.

Define Explicit Dimensions

Search engines use image dimensions to determine eligibility for rich snippets, Discover, and merchant listings. Always include the exact pixel dimensions:

For Google Search, product images must meet minimum size requirements (typically at least 50,000 total pixels, with high-resolution images of at least 1200px width recommended for advanced placements).

Provide Multi-Format Fallbacks

While Googlebot supports AVIF images, not all third-party parsers, social crawlers, or feed consumers render AVIF properly. The standard recommendation is to supply an array of ImageObject entities within the image field, providing the AVIF version alongside a universally supported format such as WebP or JPEG.

Below is the recommended JSON-LD structure for a product referencing an AVIF image with a JPEG fallback:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Ergonomic Office Chair",
  "image": [
    {
      "@type": "ImageObject",
      "contentUrl": "https://example.com/images/chair-front.avif",
      "encodingFormat": "image/avif",
      "width": 1200,
      "height": 1200,
      "caption": "Front view of Ergonomic Office Chair"
    },
    {
      "@type": "ImageObject",
      "contentUrl": "https://example.com/images/chair-front.jpg",
      "encodingFormat": "image/jpeg",
      "width": 1200,
      "height": 1200,
      "caption": "Front view of Ergonomic Office Chair"
    }
  ],
  "description": "High-performance mesh ergonomic office chair.",
  "sku": "CHAIR-001",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "299.99",
    "availability": "https://schema.org/InStock"
  }
}

Server-Side Requirements

Schema markup must match your server's delivery configuration: