Skip to main content

Primary listing image marked with itemprop="image" or in structured data

ab-001032 · directory-listing-schema.image-handling.primary-image-marked
Severity: lowactive

Why it matters

Without a designated primary image in structured data, Google's image picker selects arbitrarily from all images on the page — often choosing a logo, ad, or decorative element over the listing's actual photo for knowledge panel display. Schema-org image on a LocalBusiness node tells Google's image indexing pipeline which photo represents the listing. Directories that omit this field see inconsistent image selection in rich results, with some listings showing irrelevant thumbnails in SERP previews. The itemprop="image" microdata attribute and the JSON-LD "image" property serve the same purpose; the check requires at least one of them for multi-image listings.

Severity rationale

Low because absent image markup degrades rich-result presentation quality but does not cause data loss, security exposure, or structured-data rejection.

Remediation

Mark the primary listing image in your JSON-LD image field. Use a full absolute URL — relative paths are not valid for schema-org image properties.

// In buildListingSchema()
const jsonLd = {
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": listing.name,
  "image": listing.primaryImageUrl
    ? `https://yourdomain.com${listing.primaryImageUrl}`
    : undefined,
  // ...
};

Alternatively, add itemprop="image" to the <img> element in your listing template: <img src={listing.primaryImageUrl} itemprop="image" alt={listing.name} />. Do not mark multiple images as primary — exactly one image should carry the designation per listing.

Detection

  • ID: directory-listing-schema.image-handling.primary-image-marked

  • Severity: low

  • What to look for: List all listings with multiple images. For each, check if the primary/hero image on a listing page has itemprop="image" (for microdata) or is included in the JSON-LD image property.

  • Pass criteria: The primary listing image is marked with itemprop="image" or included in JSON-LD "image" field — 100% of multi-image listings must have exactly 1 image marked as primary. Report: "X multi-image listings found, all Y have a designated primary image."

  • Fail criteria: Images are not marked in structured data.

  • Skip (N/A) when: Listings don't use images or no structured data.

  • Detail on fail: Example: "Primary image has no itemprop='image' or JSON-LD image reference"

  • Remediation: Mark the primary image in structured data:

    {
      "@type": "LocalBusiness",
      "image": listing.imageUrl
    }
    
    <img
      src={listing.imageUrl}
      itemprop="image"
      alt={listing.name}
    />
    

External references

Taxons

History