I have a few sites with the same items, descriptions and everything; I did it a few years ago when I have had no clue how SE's work, now I noticed that this a duplicate content problem and perhaps other problems, What is the best way to treat this issue? As of now I did a 301 redirect per page so each page is redirected to same page in main domain. Is this a good solution?
the rel=canonical meta tag is specified in the <head> section of the html document and only applies to the document in which it is contained. if you are properly 301 redirecting every non-canonical request to the canonical url then the canonical meta tag is not necessary