We refer to keyword cannibalization: when several pages of the same website are trying to rank in Google for the same keyword.
For example, imagine that your domain is “samsung.com” and you have two pages that you want to rank for the keyword “best phones in the world”. The first-page being; is “best phones in the world”. And the second; is “best phones in the world part 2”.
There, clearly, you have keyword cannibalization, because both pages want to rank for the same keyword (best phones in the world).
It would be good if you could rank both pages in the first results. But what will happen, in most cases, is that you will confuse Google, as it will not know whether to rank one page or the other for that keyword. Will it be this one? Will it be that one? This will only have a negative effect instead of a positive one.
Sometimes it may happen, very rarely, that both pages will be ranked in the first results for that keyword. If it does happen, the best thing to do is to merge those two pages into one, so that it will be a more relevant page for Google’s eyes and, consequently, it will rank better.
Hey, but I have two pages that are the same because they are product cards, the only thing that changes is the color and I can’t remove it. What should I do?
In that case, the recommendation is to use a canonical tag to tell Google that one of those web pages is the original and the other is not. This way you have both pages or whichever they are, but only the one you have indicated as the original will be ranked.
In conclusion, avoid creating content that tries to rank for the same keyword, not only will you do better, you will also save time and investment.
But if you need to have two identical pages, use the canonical tag to tell Google which one to rank and which one not to. This way you will avoid being penalized or having a hard time ranking a page for a certain keyword.