My task is to redirect ("301 redirection") 20 groups of 100 pages (2000 pages) with duplicate content to 20 pages in inner blog at the same domain. I know how to do it but is it a good idea from SEO perspective, or it is a bad practice?
In my personal opinion, I would say it won't harm your SEO.
As internal pages, you can have a good reason for doing all these redirects, for example:
- removing a module of your site
- stop selling a category of products
That's why I think search engines can't penalize your site for this.
However, think about applying these redirects to a relevant page in relation to these 100 ones. If you don't find a relevant pages for the redirects, just remove all of them and send a Gone 410 HTTP status.
There are two options for you here:
Serve the URLs with a 404 and 410. This way, you are informing the world (and google) that those pages are gone. If there are links to those pages, this step would make sure that you loose any page rank and traffic you got from those links. However, since you already mentioned that those pages were having duplicate content, I assume that those pages did not really offer you any SEO boost to start with.
Redirect those pages to the 20 pages you mentioned. This would make sure that you preserve the traffic, and a part of the page rank(!). How much page rank would 301 redirects pass is still a question of debate. However, I assume that it is better than nil. Also, you need to have a properly configured canonical links on those 20 pages. If you ensure that, then there won't be any issues with duplicate content. It is a common practice to redirect deleted URLs to home page, and as such won't hurt as long as you let them know that it is a different page altogether.