Correct Schema.org for user-generated social media content

I’m a server-side developer dabbling in structured data (Schema.org) for the first time.

The web application I’m developing contains user generated “topics” in which said users can submit bite-sized text/image posts associated to the topic. It’s kind of a cross between Reddit and Twitter.

I want to lace the HTML template files with relevant structured data.

My question is quite rudimentary:

Should I mark out the body as itemscope itemtype="http://schema.org/Blog" and each user’s submission as itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting"?

It’s not really a traditional blogging website, so I was wondering what industry experts would have done if they were in my shoes.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

If it’s not a blog post (BlogPosting), I would suggest to use the parent type SocialMediaPosting:

A post to a social media platform, including blog posts, tweets, Facebook posts, etc.

There is no equivalent for Blog, though, but that’s not necessary anyway:

  • If there is one page per topic, and all posts appear on this page, you could use WebPage with about (for representing the topic) and hasPart (for referencing each SocialMediaPosting).

  • If each post appears on its own page, you could use ItemPage with mainEntity (for referencing the SocialMediaPosting), and in the SocialMediaPosting, you could use about (to reference the topic, which could be represented on its own page).

If these aren’t really topics the posts are about, but more like categories/sections the posts belong to, you could use articleSection instead of about.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply