CollectionPage Schema Markup Example (eCommerce)

By Geoff Griffiths @mmatraining1980

Here’s an eCommerce example, that I found on StackOverflow:

<script type="application/ld+json">
{
  "@context" : "http://schema.org",
  "@type": "CollectionPage",
  "name": "Shopify Apps",
  "url": "https://sherpas.design/pages/shopify-apps",
  "description": "We build apps that function and feel natively Shopify",
  "image": "https://cdn.shopify.com/s/files/1/0085/8515/0560/files/logox2_500x500.png?v=1555661781",
  "mainEntity" : {
    "@type":"ItemList",
    "itemListElement":[
      {
        "@type":"ListItem",
        "position":1,
        "url":"http://example.com/coffee_cake.html",
         "name":"coffee cake"

      },
      {
        "@type":"ListItem",
        "position":2,
        "url":"http://example.com/apple_pie.html",
        "name":"apple pie"
      },
      {
        "@type":"ListItem",
        "position":3,
        "url":"http://example.com/blueberry-pie.html"
         "name":"blueberry pie"
      }
    ]
  }
}
</script>

Here’s an example, made using the SchemaApp plugin (although I’m guessing you can just manually add the code)

It’s probably easiest to view it on the schema validator:

https://validator.schema.org/#url=https%3A%2F%2Fnicemma.com%2F


@type	
CollectionPage
@id	
https://nicemma.com/#webpage
url	
Nice T-Shirt Shop
name Nice T-Shirt Shop - Nice MMA inLanguage en-US about @type Organization @id
Nice T-Shirt Shop
name Nice MMA url
Nice T-Shirt Shop
logo @type ImageObject @id
Nice T-Shirt Shop
url caption Nice MMA inLanguage en-US width 512 height 509 isPartOf @type WebSite @id
Nice T-Shirt Shop
url
Nice T-Shirt Shop
name Nice MMA inLanguage en-US publisher @type Organization @id
Nice T-Shirt Shop
name Nice MMA url
Nice T-Shirt Shop
logo @type ImageObject @id
Nice T-Shirt Shop
url caption Nice MMA inLanguage en-US width 512 height 509 potentialAction @type SearchAction target @type EntryPoint urlTemplate
Nice T-Shirt Shop
query-input @type PropertyValueSpecification valueRequired http://schema.org/True valueName search_term_string potentialAction @type SearchAction target @type EntryPoint urlTemplate
Nice T-Shirt Shop
query-input @type PropertyValueSpecification valueRequired http://schema.org/True valueName search_term_string Here's how the code appeared on the website:
{"@type":"CollectionPage","@id":"https://nicemma.com/#webpage","url":"https://nicemma.com/","name":"Nice T-Shirt Shop - Nice MMA","about":{"@id":"https://nicemma.com/#organization"},"isPartOf":{"@id":"https://nicemma.com/#website"},"inLanguage":"en-US"}]

The problem with the NiceMMA.com schema, is that there is nothing listing the actual products. So it’s no t ideal for ecommerce sites.

You’re probably better off using the original example:

<script type="application/ld+json">
{
  "@context" : "http://schema.org",
  "@type": "CollectionPage",
  "name": "Shopify Apps",
  "url": "https://sherpas.design/pages/shopify-apps",
  "description": "We build apps that function and feel natively Shopify",
  "image": "https://cdn.shopify.com/s/files/1/0085/8515/0560/files/logox2_500x500.png?v=1555661781",
  "mainEntity" : {
    "@type":"ItemList",
    "itemListElement":[
      {
        "@type":"ListItem",
        "position":1,
        "url":"http://example.com/coffee_cake.html"
      },
      {
        "@type":"ListItem",
        "position":2,
        "url":"http://example.com/apple_pie.html"
      },
      {
        "@type":"ListItem",
        "position":3,
        "url":"http://example.com/blueberry-pie.html"
      }
    ]
  }
}
</script>