I'm creating a website that is comparing stuff, let's say it compares programming languages for the sake of explaining my question.

I'm building a structure where the url/slug will contain the two languages the page is comparing. My goal is to rank high both on "C++ vs C#" and "C# vs C++".

The way I see it I have three options, but I don't know which would bee the best.

Option 1 Have both


Pros: Might be better from a SEO perspective?

Cons: Duplicated content (both pages will roughly be the same), which is probably bad form a SEO-perspective?

Option 2 Have one


Pros: No duplicated content

Cons: Might rank better on "C++ vs C#" compared to "C# vs C++"?

Option 3 Have one main page


and then another which redirects to the first (through 301/302 or something else?)


Pros: No duplicated content

Cons: Might rank better on "C++ vs C#" compared to "C# vs C++"?

So what what is the best practise when it comes to this?

2 Answers 2


I recommend your third option. Have just one main page and use redirects for when users type in URLs that don't match the order. I chose this option with my currency conversion website (convert EUR and USD, with USD and EUR redirecting to it) and it has worked great for SEO. I recommend putting the two in alphabetic order in the URL as a way of being consistent across your entire site.

If you go with your first option of having both pages available, search engines will identify the duplicate content and usually choose just one of the two to index. If you find that your users expect both pages you could have both and use canonical tags to tell search engines which one to index.

Having one page but no redirects isn't good for usability if any users see your URL pattern and decide to alter your URL themselves.

On a side note, the specific example URL you chose is going to be problematic. A hash character (#) has special meaning in a URL. It starts the fragment identifier. For C#, your URL either needs to be encoded, or spelled out: /c++/vs/c%23 or c++/vs/csharp Otherwise /c++/vs/c# will be the same URL as /c++/vs/c because both have empty fragments.

  • Thanks for a great and thorough answer, I'll wait a while before accepting the answer to see if something else pops up :) The c++/C# was just an example and not my real usecase,.
    – Cleared
    Dec 2, 2020 at 11:57

Content always plays a crucial role in ranking on SERP. How do you publish content, without duplicating is important.

I recommend the following:-

  1. Instead of publishing same content on 2 different pages. Make use of internal linking. Provide links from your new article to existing article.
  2. That's how we can also boost rankings & traffic of the page(old page).

Also content, backlinks to the pages play a crucial role.

  • 1
    This doesn't address the question about how to deal with a comparison of two options and the two possible orders of the items in the URL. Dec 7, 2020 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.