5

I'm trying to mark up a page and I'm trying to use CollectionPage with a number of blog links on the page. Would this be fine?

{
  "@context":"http://schema.org/",
  "@type":"CollectionPage",
  "name":"Articles by: Stepanie Schaefer",
  "headline":"Articles by: Stephanie Schaefer",
  "creator":"Stephanie Schaefer",
  "description":"Stephanie is a Boston native who loves to find ways to escape New England winters. She’s thrown a coin in the Trevi Fountain, sipped wine on a vineyard in Northern Spain and swam in the Mediterranean Sea. Although she hasn’t been everywhere, it’s definitely on her list.",
  "hasPart": [{
    "@type":"CreativeWork",
    "headline":"Top 10 booze-infused getaways",
    "about":"Vacations are all about letting loose, so it’s no surprise that more and more travelers are opting for locations known for their libations. Whether you’re a former keg stand ..",
    "url":"http://www.cheapflight.com.uk/news/top-10-booze-infused-getaways/",
    "dateCreated":"2016-04-08"
    },{
    "@type":"CreativeWork",
    "headline":"Top 10 booze-infused getaways",
    "about":"Tis the season for crowded airports and full airplanes. It’s all too easy to let the stress of flying during this hectic time take the joy out of the holidays, but not if we ...",
    "url":"http://www.cheapflight.com.uk/news/top-9-rules-of-airtiquette/",
    "dateCreated":"2016-04-08"
    },{
    "@type":"CreativeWork",
    "headline":"Top 10 booze-infused getaways",
    "about":"Vacations are all about letting loose, so it’s no surprise that more and more travelers are opting for locations known for their libations. Whether you’re a former keg stand ..",
    "url":"http://www.cheapflight.com.uk/news/top-10-booze-infused-getaways/",
    "dateCreated":"2016-04-08"
    }]
}

Would this be best practice?

3

The author

Your description seems to be about the person, not the page. And for creator, you would ideally provide a Person value (which then also allows you to add the description there).

However, the blog post author is not really the author of this page. Either omit the creator on this level and add it to each blog post, and/or (I’m not 100 % sure if this is appropriate) use about.

The list

Using hasPart for each blog post is possible, but I would prefer to use mainEntity with a Blog or an ItemList value (as suggested in your previous question).

The blog posts

Instead of CreativeWork, you should use the more specific BlogPosting.

Instead of about, you should use description. (about could be used for the topic the blog post is about.)

In addition to headline, you might want to use name (with the same content, just like you did with CollectionPage).

As mentioned above, you might want to add creator (or author) to each BlogPosting.

Example

Here I’m using about (for the Person) and mainEntity (for the ItemList). I also gave the Person a URI (via @id), and reference this URI as value for the author property in each BlogPosting.

In case the use of about is not appropriate in this context, you can omit it and provide the Person node also on the top-level (by using @graph).

{
  "@context": "http://schema.org/",
  "@type": "CollectionPage",
  "name": "Articles by: Stepanie Schaefer",
  "headline": "Articles by: Stephanie Schaefer",

  "about": {
    "@type": "Person",
    "@id": "http://www.cheapflight.com.uk/authors/stephanie-schaefer/#i",
    "name": "Stephanie Schaefer",
    "description": "Stephanie is a Boston native who loves to find ways to escape New England winters. She’s thrown a coin in the Trevi Fountain, sipped wine on a vineyard in Northern Spain and swam in the Mediterranean Sea. Although she hasn’t been everywhere, it’s definitely on her list."
    },

  "mainEntity": {
    "@type": "ItemList",
    "itemListElement": [
      {
        "@type": "BlogPosting",
        "name": "Top 10 booze-infused getaways",
        "headline": "Top 10 booze-infused getaways",
        "description": "Vacations are all about letting loose, so it’s no surprise that more and more travelers are opting for locations known for their libations. Whether you’re a former keg stand ..",
        "url": "http://www.cheapflight.com.uk/news/top-10-booze-infused-getaways/",
        "dateCreated": "2016-04-08",
        "author": {"@id": "http://www.cheapflight.com.uk/authors/stephanie-schaefer/#i"}
      },
      {
        "@type": "BlogPosting",
        "name": "Another post",
        "headline": "Another post",
        "description": "Another post description.",
        "url": "http://www.cheapflight.com.uk/news/another-post/",
        "dateCreated": "2016-09-08",
        "author": {"@id": "http://www.cheapflight.com.uk/authors/stephanie-schaefer/#i"}
      }
      ]
    }
}
  • 1. This type doesn't validate with 6 errors and 6 warnings. 2. If you also have "BlogPosting" for each blog post, is this needed? Also, for a WordPress blog, how are the blog posts edited? Can I just copy the blog post schema type that I use in my regular blog posts? – avi Sep 12 '18 at 12:57
  • @avi: 1. You are probably referring to Google’s SDTT. Note that this tool doesn’t say what’s valid Schema.org, it says what’s needed for getting a search feature in Google Search. 2. Not sure what you mean with "needed". If you want to mark up the author pages, this is how it could be done. In WordPress, these pages would be generated automatically. – unor Sep 12 '18 at 18:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.