Having a different version of your website per country can help SEO a lot. Google gives a big boost to local websites in the local search results for each country.
This makes some sense because if you have a local website:
- You indicate that you are able to serve that market
- You can show prices in the local currency
- You can show local contact info
- You can show appropriate shipping options
- You can customize (customise) the website with spelling differences and local idioms.
- You can move hosting close to the country to improve performance
There are many signals that Google uses to determine if a website is meant for a specific country. Google calls this "geo-targeted".
Top level country domain
Google automatically assumes that any website on a country domain (eg
.co.uk) is intended for an audience in that country. Using a top level domain isn't a requirement, but if you do, it trumps all the other signals.
Top level country domains are expensive. There may be domain squatters. You may have to meet eligibility requirements in some countries such as opening a local office.
If you don't want to use top level country domains I suggest using country subdomains instead (eg
Hosting in the country
In some cases Google tries to use hosting location to determine where a site is geo-targeted. I wouldn't try to host in a country just for SEO, but it can make a big difference to host near a target country from a user experience perspective. Having all your European targeted websites on a single server somewhere in Europe is much better than having the server in the US, even though only one country will actually match the hosting precisely.
Settings in Google Search Console
The most direct way to tell Google about your country specific site is to add that site to Google Search Console and set the geographic targeting settings. Doing so is the most straightforward way of getting around using something other than country top level domains.