License Metadata  |  Search Central

When you specify license information for the images on your website, the image can display with
a Licensable badge on image thumbnails in Google Images. This tells people that license
information is available for the image, and provides a link to the license in the Image Viewer,
which offers more detail on how someone can use the image.

The Licensable badge in Google Images

Feature availability

This feature is available on mobile and desktop, and in all regions and languages that Google Search is available.

Prepare your web pages and images

To make sure Google can discover and index your images:

To tell Google which images are licensable, add structured data or IPTC photo metadata to each
licensable image on your site. If you have the same image on multiple pages, add structured data
or IPTC photo metadata to each image on each page that it appears.

There are two ways that you can add license information to your image. You only need to provide
Google with one form of information to be eligible for the Licensable badge, and any of the
following methods is sufficient:

  • Structured data: Structured data is an association between
    the image and the page where it appears with the mark up. You need to add structured data for
    every instance an image is used, even if it’s the same image.
  • IPTC photo metadata: IPTC photo metadata is embedded
    into the image itself, and the image and metadata can move from page to page while still
    staying intact. You only need to embed IPTC photo metadata once per image.

The following diagram shows how license information may show up in Google Images:

Callouts showing what parts of the license metadata may be shown in Google Images

  1. A URL to a page that describes the license governing an image’s use. Specify this
    information with the Schema.org license property or the IPTC Web Statement of
    Rights field.
  2. A URL to a page that describes where the user can find information on how to license that
    image. Specify this information with the Schema.org acquireLicensePage property
    or the IPTC Licensor URL (of a Licensor) field.

Structured data

One way to tell Google that an image is licensable is to add structured data fields. Structured
data is a standardized format for providing information about a page and classifying the page
content. If you’re new to structured data, you can learn more about
how structured data works.

Here’s an overview of how to build, test, and release structured data. For a step-by-step guide
on how to add structured data to a web page, check out the
structured
data codelab.

  1. Add the required properties. Based on the
    format you’re using, learn where to insert
    structured data on the page.

  2. Follow the guidelines.
  3. Validate your code using the
    Rich Results Test.
  4. Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is
    accessible to Google and not blocked by a robots.txt file, the noindex tag, or
    login requirements. If the page looks okay, you can
    ask Google to
    recrawl your URLs.

  5. To keep Google informed of future changes, we recommend that you
    submit a
    sitemap. You can automate this with the
    Search Console Sitemap
    API.

Examples

Single image

Here’s an example of a page with a single licensable image.

JSON-LD

<html>
  <head>
    <title>Black labrador puppy</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "ImageObject",
      "contentUrl": "https://example.com/photos/1x1/black-labrador-puppy.jpg",
      "license": "https://example.com/license",
      "acquireLicensePage": "https://example.com/how-to-use-my-images"
    }
    </script>
  </head>
  <body>
    <img alt="Black labrador puppy" src="https://example.com/photos/1x1/black-labrador-puppy.jpg">
    <p><a href="https://example.com/license">License</a></p>
    <p><a href="https://example.com/how-to-use-my-images">How to use my images</a></p>
  </body>
</html>

RDFa

<html>
  <head>
    <title>Black labrador puppy</title>
  </head>
  <body>
  <div vocab="https://schema.org/" typeof="ImageObject">
    <img alt="Black labrador puppy" property="contentUrl" src="https://example.com/photos/1x1/black-labrador-puppy.jpg" /><br />
    <span property="license"> https://example.com/license</span><br />
    <span property="acquireLicensePage">https://example.com/how-to-use-my-images</span>
  </div>
  </body>
</html>

Microdata

<html>
  <head>
    <title>Black labrador puppy</title>
  </head>
  <body>
    <div itemscope itemtype="https://schema.org/ImageObject">
    <img alt="Black labrador puppy" itemprop="contentUrl" src="https://example.com/photos/1x1/black-labrador-puppy.jpg" /><br />
    <span itemprop="license"> https://example.com/license</span><br />
    <span itemprop="acquireLicensePage">https://example.com/how-to-use-my-images</span>
    </div>
  </body>
</html>
Single image in a srcset tag

Here’s an example of a page with a single licensable image in a srcset tag.

JSON-LD

<html>
  <head>
    <title>Black labrador puppy</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "ImageObject",
      "contentUrl": "https://example.com/photos/320/black-labrador-puppy-800w.jpg",
      "license": "https://example.com/license",
      "acquireLicensePage": "https://example.com/how-to-use-my-images"
    }
    </script>
  </head>
  <body>
    <img srcset="https://example.com/photos/320/black-labrador-puppy-320w.jpg 320w,
                   https://example.com/photos/480/black-labrador-puppy-480w.jpg 480w,
                   https://example.com/photos/800/black-labrador-puppy-800w.jpg 800w"
           sizes="(max-width: 320px) 280px,
                  (max-width: 480px) 440px,
                  800px"
           src="https://example.com/photos/320/black-labrador-puppy-800w.jpg"
           alt="Black labrador puppy"><br />
    <p><a href="https://example.com/license">License</a></p>
    <p><a href="https://example.com/how-to-use-my-images">How to use my images</a></p>
  </body>
</html>

RDFa

<html>
  <head>
    <title>Black labrador puppy</title>
  </head>
  <body>
    <div vocab="https://schema.org/" typeof="ImageObject">
      <img property="contentUrl"
           srcset="https://example.com/photos/320/black-labrador-puppy-320w.jpg 320w,
                   https://example.com/photos/480/black-labrador-puppy-480w.jpg 480w,
                   https://example.com/photos/800/black-labrador-puppy-800w.jpg 800w"
           sizes="(max-width: 320px) 280px,
                  (max-width: 480px) 440px,
                  800px"
           src="https://example.com/photos/320/black-labrador-puppy-800w.jpg"
           alt="Black labrador puppy"><br />
      <span property="license"> https://example.com/license</span><br />
      <span property="acquireLicensePage">https://example.com/how-to-use-my-images</span>
   </div>
  </body>
</html>

Microdata

<html>
  <head>
    <title>Black labrador puppy</title>
  </head>
  <body>
    <div itemscope itemtype="http://schema.org/ImageObject">
      <img itemprop="contentUrl"
           srcset="https://example.com/photos/320/black-labrador-puppy-320w.jpg 320w,
                   https://example.com/photos/480/black-labrador-puppy-480w.jpg 480w,
                   https://example.com/photos/800/black-labrador-puppy-800w.jpg 800w"
           sizes="(max-width: 320px) 280px,
                  (max-width: 480px) 440px,
                  800px"
           src="https://example.com/photos/320/black-labrador-puppy-800w.jpg"
           alt="Black labrador puppy"><br />
     <span itemprop="license"> https://example.com/license</span><br />
     <span itemprop="acquireLicensePage">https://example.com/how-to-use-my-images</span>
   </div>
  </body>
</html>
Multiple image on a page

Here’s an example of a page with multiple licensable images.

JSON-LD

<html>
  <head>
    <title>Photos of black labradors</title>
    <script type="application/ld+json">
    [{
      "@context": "https://schema.org/",
      "@type": "ImageObject",
      "contentUrl": "https://example.com/photos/1x1/black-labrador-puppy.jpg",
      "license": "https://example.com/license",
      "acquireLicensePage": "https://example.com/how-to-use-my-images"
    },
   {
      "@context": "https://schema.org/",
      "@type": "ImageObject",
      "contentUrl": "https://example.com/photos/1x1/adult-black-labrador.jpg",
      "license": "https://example.com/license",
      "acquireLicensePage": "https://example.com/how-to-use-my-images"
    }]
    </script>
  </head>
  <body>
    <h2>Black labrador puppy</h2>
    <img alt="Black labrador puppy" src="https://example.com/photos/1x1/black-labrador-puppy.jpg">
    <p><a href="https://example.com/license">License</a></p>
    <p><a href="https://example.com/how-to-use-my-images">How to use my images</a></p>
    <h2>Adult black labrador</h2>
    <img alt="Adult black labrador" src="https://example.com/photos/1x1/adult-black-labrador.jpg">
    <p><a href="https://example.com/license">License</a></p>
    <p><a href="https://example.com/how-to-use-my-images">How to use my images</a></p>
  </body>
</html>

RDFa

<html>
  <head>
    <title>Photos of black labradors</title>
  </head>
  <body>
  <div vocab="https://schema.org/" typeof="ImageObject">
    <h2 property="name">Black labrador puppy</h2>
    <img alt="Black labrador puppy" property="contentUrl" src="https://example.com/photos/1x1/black-labrador-puppy.jpg" /><br />
    <span property="license"> https://example.com/license</span><br />
    <span property="acquireLicensePage">https://example.com/how-to-use-my-images</span>
  </div>
  <br />
  <div vocab="https://schema.org/" typeof="ImageObject">
  <h2 property="name">Adult black labrador</h2>
  <img alt="Adult black labrador" property="contentUrl" src="https://example.com/photos/1x1/adult-black-labrador.jpg" /><br />
  <span property="license"> https://example.com/license</span><br />
  <span property="acquireLicensePage">https://example.com/how-to-use-my-images</span>
  </div>
  </body>
</html>

Microdata

<html>
  <head>
    <title>Photos of black labradors</title>
  </head>
  <body>
    <div itemscope itemtype="https://schema.org/ImageObject">
    <h2 itemprop="name">Black labrador puppy</h2>
    <img alt="Black labrador puppy" itemprop="contentUrl" src="https://example.com/photos/1x1/black-labrador-puppy.jpg" /><br />
    <span itemprop="license"> https://example.com/license</span><br />
    <span itemprop="acquireLicensePage">https://example.com/how-to-use-my-images</span>
    </div>
    <br />
    <h2 itemprop="name">Adult black labrador</h2>
    <div itemscope itemtype="https://schema.org/ImageObject">
    <img alt="Adult black labrador" itemprop="contentUrl" src="https://example.com/photos/1x1/adult-black-labrador.jpg" /><br />
    <span itemprop="license"> https://example.com/license</span><br />
    <span itemprop="acquireLicensePage">https://example.com/how-to-use-my-images</span>
    </div>
  </body>
</html>

Structured data type definitions

The full definition of ImageObject is provided on
schema.org/ImageObject.

If you’re using structured data to specify a licensable image, you must include the license
property for your image to be eligible to be shown with the Licensable badge. We recommend that
you also add the acquireLicensePage property if you have that information.

Required properties
contentUrl URL

A URL to the actual image content. Google uses contentUrl to determine which
image the license applies to.

license URL

A URL to a page that describes the license governing an image’s use. For example, it
could be the terms and conditions that you have on your website. Where applicable, it
could also be a Creative Commons License (for example,
BY-NC 4.0).

Recommended properties
acquireLicensePage URL

A URL to a page where the user can find information on how to license that image. Here
are some examples:

  • A check-out page for that image where the user can select specific resolutions or usage rights
  • A general page that explains how to contact you

IPTC photo metadata

Alternatively, you can embed
IPTC
photo metadata directly inside an image. You must include the Web Statement of Rights
field for your image to be eligible to be shown with the licensable badge. We recommend that
you also add the Licensor URL field if you have that information.

Required properties
Web Statement of Rights

A URL to a page that describes the license governing an image’s use, and optionally other
rights information. For example, it could be the terms and conditions that you have on
your website. Where applicable, it could also be a Creative Commons License (for example,
BY-NC 4.0).

Recommended properties
Licensor URL

A URL to a page where the user can find information on how to license that image. The
Licensor URL must
be a property of a Licensor object,
not a property of the image object.
Here are some examples:

  • A check-out page for that image where the user can select specific resolutions
  • A general page that explains how to contact you

Monitor rich results with Search Console

Search Console is a tool that helps you monitor how your pages perform in Google Search.
You don’t have to sign up for Search Console to be included in Google Search results,
but it can help you understand and improve how Google sees your site. We
recommend checking Search Console in the following cases:

  1. After deploying structured data for the first time
  2. After releasing new templates or updating your code
  3. Analyzing traffic periodically

After deploying structured data for the first time

After Google has indexed your pages, look for issues using the relevant
Rich result status report.
Ideally, there will be an increase of valid pages, and no increase in errors or warnings. If you find issues
in your structured data:

  1. Fix the errors.
  2. Inspect a live URL to check if the issue persists.
  3. Request validation using the status report.

After releasing new templates or updating your code

When you make significant changes to your website, monitor for increases in structured data errors and warnings.

  • If you see an increase in errors, perhaps you rolled out a new template that doesn’t work, or your site interacts with the existing
    template in a new and bad way.
  • If you see a decrease in valid items (not matched by an increase in errors), perhaps you are
    no longer embedding structured data in your pages. Use the
    URL Inspection tool to learn what is causing the issue.

Analyzing traffic periodically

Analyze your Google Search traffic using the Performance Report.
The data will show you how often your page appears as a rich result in Search, how often users click on it and what is
the average position you appear on search results. You can also automatically pull these
results with the Search
Console API.

Troubleshooting

If you’re having trouble implementing image license in Google Images, here are some resources
that may help you.

Related Articles

Leave a Reply

Back to top button