I have a site that essentially has two types of pages. First, I have a home page (http://whatgoeswiththis.co/) that shows a stream of products. Then, I have a detail page (for instance, http://whatgoeswiththis.co/item/6531) that is unique to each product. I include structured data (using Microdata) on this page for Schema.org Product and Offer.

Should I also markup the product as a Product when it appears on homepage as part of a feed, even though this homepage is constantly changing?

Similarly, should I markup a person as a Person every time they make a post or comment and their avatar/name shows up, or just once on their profile page?


Yes, you could/should add the markup on any page where relevant content can be marked up.

However, you should not add several items for the same thing on the same page, unless something like Microdata’s itemid can be used to specify that the items are actually about the same thing. You might use the itemref attribute if you have relevant data about the same thing scattered on the same page.


Since you are using microdata, that means that you care about improving the information of the site and how easy it is to process by the right tools; considering that, you should add microdata on every page and element in a consistent way, that includes the home page.

If you are adding the microdata using a server side template or piece of code, then it should not be too hard to make that code add the microdata to all the elements, regardless of the page where they appear. That would be the best way.

The above idea applies to both, products and people.

For the people, you may use only the email on the comment if you want, I'm sure that is enough for the kind of interaction they have with the site/products.

If for any reason, the process is not too automatic, and you have to make manual adjustments to the microdata, then not having it on the home page is a minor sin.

I would recommend adjusting the code, if necessary, so it always presents the microdata.

Your Answer

