I am showing different content to the visitors from USA.

All Americans seeing their content via https://example.com/?country=US while rest of the world seeing: https://example.com/

Everything works as planned, the only concern I have ...

US based bots (Google Search Console) seeing this page as following:

  • https://example.com/ - StatusCode: 302, Status: Found, Indexability: Non-Indexable, Indexability Status: Redirected
  • https://example.com/?country=US - StatusCode: 200, Status: OK, Indexability: Non-Indexable, Indexability Status: Canonicalised

For the rest of the world:

  • https://example.com/ - StatusCode: 200, Status: OK, Indexability: Indexable, Indexability Status: Canonical

As you may see from above https://example.com/ now has TWO different Responses when crawled in the US and outside of US.

Also looks like US based bots always seeing "Indexability: Non-Indexable" ... and I am afraid US bots are actually never be able to see the real Canonical page https://example.com/ .... since will be always redirected to Canonicalised https://example.com/?country=US.

Do you see any danger from SEO perspective? Is there any way to avoid this situation?

Would you recommend a different approach to this problem, maybe by avoiding the use of a querystring?

  • My view is that you should be fine to redirect based on IP geolocation. Just that you have to treat users and Googlebot the same. But I am not sure of other precautions if any. This question is an interesting one. I would love to hear from @StephenOstermiller on this.
    – Kannan
    Jun 5, 2021 at 3:23
  • Thank you Kannan. How to bring @StephenOstermiller onboard lol?
    – Oleg
    Jun 6, 2021 at 14:58
  • I believe he should have already seen this post. May be you can try pinging him through the "contact me" link on his member page webmasters.stackexchange.com/users/14543/stephen-ostermiller . I am sure that his answer should clear your doubt once and for all.
    – Kannan
    Jun 6, 2021 at 15:27
  • Thanks Kannan, I requested Stephen. Let's see.
    – Oleg
    Jun 7, 2021 at 0:26
  • Why do you need to show different content for different countries? Is it a small part of the page that is changing like pricing and shipping options, or is the content completely different? Jun 7, 2021 at 1:49

1 Answer 1


SEO Issue

Do you see any danger from SEO perspective?

Yes. Google may not crawl from different locations for every site. Google mostly crawls from the US. Hence, Google may not see other versions.

Different Approach

Would you recommend a different approach to this problem?

Yes. I will recommend explicitly telling Google about the geo variations. As you are using a generic TLD, you can use hreflang attribute.

On both the verions of your homepage, hreflang tags will look like this:

<link rel="alternate" href="http://example.com/?country=US" hreflang="en-us" />
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

The same approach can be used for other pages. For example, if your site has a page http://example.com/pageX, then your tags will look like:

<link rel="alternate" href="http://example.com/pageX/?country=US" hreflang="en-us" />
<link rel="alternate" href="http://example.com/pageX/" hreflang="x-default" />

In addition to hreflang tags, it is not a bad idea to have appropriate canonical tags.

For example, in the US version of the home page, your canonical tag will look like this:

<link rel="canonical" href="http://example.com/?country=US" />


There is one drawback with this approach though. Google will show the default version to non English speakers in the US.

Additional Suggestions

On every page, you can place a dropdown allowing users to switch countries. By this, you can be sure that a user can switch page if Google displayed the wrong version (happens sometimes).

  • Thank you Kannan, No questions re: hreflang tags. TY! I am confused with canonical logic. Currently on both: global and US pages i am declaring "example.com" as a canonical page. My logic is ... if i have multiply versions of the same page for different countries like example.com/?country=us, example.com/?country=gb, or example.com/?country=au ... and those pages have the same content and differentiated by country flag only ... to avoid thin content, i need to point all pages to the original "example.com" as a canonical. Am i missing something? TY!
    – Oleg
    Jun 28, 2021 at 13:21
  • No, I suggested adding canonical tags that point to the same version. For example, the canonical tag in US version page should point to example.com/?country=us and that in ca version be example.com/?country=ca.
    – Kannan
    Jun 28, 2021 at 13:22
  • hreflang alone is sufficient to avoid duplicate content issues among the different language versions. canonical has a general-purpose use. For example, if you run a campaign to the US version page, you may need to append query strings to example.com/?country=us like example.com/?country=us&utm_campaign=xyz and so on. canonical will help to avoid duplicate content issues between different URLs pointing to the same language version.
    – Kannan
    Jun 28, 2021 at 13:27
  • ....that's probably why my wordpress keeping "example.com/" as canonical on "example.com/?country=us" page simply because it has a query string and treated as a "campaign" from your example ... so in order for me to have "example.com/?country=us" as a canonical i need to tell WP somehow to treat the page with variable "country" as a separate page (not sure yet how to do it) ... or stop using query string logic completely and start using subdomain "us.example.com" or directory logic "example.com/us/" for local pages.
    – Oleg
    Jun 28, 2021 at 14:29
  • Yes, you are right
    – Kannan
    Jun 28, 2021 at 14:32

Your Answer

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

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