0
votes

I'm setting up a product page which sells stock images, and I'd like to perfectly represent it via Schema.org (using Microdata), with Product, CreativeWork, Person, etc., all being properly attributed.

I'm having an issue that it does not seem possible to mix "Product" with "CreativeWork" although in this case they are the same.

I suppose the question is this:

How is this properly executed so that all necessary attributes are included without issues?

Here is what I have so far:

    <div itemscope itemtype="http://schema.org/CreativeWork">
        <h1 itemprop="headline">Some image by me!</h1>
        <div  itemscope itemtype="http://www.schema.org/ImageObject">
            <a href="http://www.example.com/mypic.png"><img itemprop="image thumbnail contentURL" src="http://www.example.com/mypic.png" /></a>
            <span itemprop="contentSize">20mb</span>
            <span itemprop="width">2000</span>
            <span itemprop="height">2000</span>
            <meta itemprop="datePublished" content="Jan 25, 2013">
            <span itemprop="caption about description">This is the description</span>
            <div itemprop="copyrightHolder creator contributor author" itemscope itemtype="http://schema.org/Person">
                <a itemprop="url" href="www.here.com"><div itemprop="name"><strong>John Doe</strong></div>
                </a>
                <div itemprop="jobtitle">Illustrator</div>
                <div itemprop="description">Does cool illustrations</div>                   
            </div>
            <div itemprop="keywords">keyword1, keyword2, keyword3</div>
        </div>
    </div>
1

1 Answers

0
votes

If I understand it correctly, you only have one image in the example. In that case, it doesn’t make sense to have both, CreativeWork and ImageObject. Use ImageObject only, which is a more specific CreativeWork.

When you want to offer this image (e.g., for sale), use the offers property.

So the structure could look like:

<article itemscope itemtype="http://schema.org/ImageObject">
  <!-- everything about the work -->
  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <!-- everything about the offer -->
  </div>
</article>