In general I pretty much like the idea of canonicalization. And in most cases, Google explains possible procedures in a clear way.
For example: If I have duplicates because of parameters (eg: &sort=desc) it's clear to use the canonical for the site, provided the within the head-tag.
However I'm wondering how to handle "small - no to say thin content - sites". What's my definition of a small site? An Example: On one of my main sites, we use a directory based url-structure. Let's see:
example.com/ (root)
example.com/category-abc/
example.com/category-abc/produkt-xy/
Moreover we provide on page, that includes all products
example.com/all-categories/ (lists all products the same way as in the categories)
In case of reviews, we use a similar structure:
example.com/reviews/product-xy/ shows all review for one certain product
example.com/reviews/product-xy/abc-your-product-is-great/ shows one certain review
example.com/reviews/ shows all reviews for all products (latest first)
Let's make it even more complicated: On every product site, there are the latest 2 reviews at the end of the page. So you see, a lot of potential duplicates.
Q1: Should I create canonicals for
a: example.com/category-abc/ to example.com/all-categories/
b: example.com/reviews/product-xy/abc-your-product-is-great/ to example.com/reviews/product-xy/ or to example.com/review/ or none of them?
Q2: Can I link the collection of categories (all-categories/) and collection of all reviews (reviews/ and reviews/product-xy/) to the single category respectively to the single review.
Example: example.com/reviews/ includes - let's say - 100 reviews. Can I somehow use a markup that tells search engines: "Hey, wait, you are now looking at a collection of 100 reviews - do not index this collection, you should rather prefer indexing every single review as a single page!".
In HTML it might be something like that (which - of course - does not work, it's only to show you what I mean):
<div class="review" rel="canonical" href="http://example.com/reviews/product-xz/abc-your-product-is-great/">HERE GOES THE REVIEW</div>
Reason: I don't think it is a great user experience if the user searches for "your product is great" and lands on example.com/reviews/ instead of example.com/reviews/product-xy/abc-your-product-is-great/. On the first site, he will have to search and might stop because of frustration. The second result, however, might lead to a conversion.
The same applies for categories. If the user is searching for category-Z, he might land on the all-categories page and he has to scroll down to the (last) category, to find what he searched for (Z).
So what's best practice? What should I do?
Thank you for your help!