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:
- Property:
encodingFormat - Value:
image/avif
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:
width: The width of the image in pixels (e.g.,1200).height: The height of the image in pixels (e.g.,1200).
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.
Recommended JSON-LD Configuration
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:
- HTTP Headers: Ensure your server serves the AVIF
asset with the
Content-Type: image/avifresponse header. A mismatch between the schemaencodingFormatand the actual HTTP header can cause parsing failures. - Crawlability: Verify that the image URLs listed in
contentUrlare not blocked byrobots.txtand return a standard200 OKHTTP status code without unnecessary redirects.