PLAY 18

International SEO: The No-Nonsense Guide to Ranking in Every Market You Actually Sell To

Know exactly when international SEO is worth it, and when it is a distraction that quietly drains your budget.

Get hreflang right the first time, including the three mistakes that silently break it for entire markets.

Build a structure and measurement system that tells you which market is actually paying off.

18 min readUpdated 2026By Shmul

KEY TAKEAWAYS

  • check_circleOnly start international SEO when your own data shows a real language gap, a real offer difference, existing foreign demand, or a localized competitor taking share.
  • check_circleGeotargeting (where) and language targeting (what tongue) are different machines with different controls. Decide each separately before touching settings.
  • check_circleDefault to subfolders so authority compounds across markets. Use ccTLDs only when local trust is the whole game, and treat any structure change as a full migration.
  • check_circleHreflang routes the right version to the right user and is not a ranking factor. Reciprocity, valid region codes, self-references, and agreement with canonical are non-negotiable.
  • check_circleLocalize, do not just translate. Do keyword research natively in each market, and write money pages in-market from scratch instead of shipping raw machine output.
  • check_circleMeasure every market separately, watch that the right version ranks per country, and let the per-market data decide where you expand next.
01

CHAPTER 01

Do You Actually Need International SEO?

I have spent twenty years in search, and the single most expensive mistake I watch companies make in this area is starting international SEO before they have any business reason to. They read a guide, they see Google has 190-something country versions, and they convince themselves they need a separate site for every flag on the map. Then they spend a year building infrastructure for traffic that was never going to convert.

International SEO is not about reaching more countries. It is about serving people who speak a different language or who buy under different rules, prices, and expectations than your current audience. Those are two distinct problems, and most of the confusion in this field comes from treating them as one. You can be in a single country and need it. You can be in fifty countries and not need it at all.

Here is the honest test. If a user in another country lands on your current site and gets a worse experience than a local competitor gives them, you have a gap international SEO can close. If they get the same experience, or if you cannot legally or logistically serve them anyway, you do not have a project. You have a daydream.

Demand before infrastructure

Never build country or language infrastructure to create demand. Build it to capture demand you can already prove exists in your analytics, your search data, or your sales pipeline.

The four real triggers

In practice, only a handful of situations justify a real international SEO build. The first is language. If a meaningful slice of your market searches and reads in a language your site does not speak, no amount of clever English copy will fix that. The second is regional difference in the offer itself, currency, shipping, tax, legal terms, available products. The third is that you are already getting organic traffic from a country and converting poorly because the experience is generic. The fourth is a competitor who has localized and is eating your share in a market you can actually serve.

  • Language gap: a real share of your audience searches in a language your site does not cover.
  • Offer difference: pricing, shipping, currency, tax, or legal terms genuinely change by region.
  • Existing demand: a country already sends you organic traffic that converts below your baseline.
  • Competitive pressure: a localized competitor is taking share in a market you can fulfill.
bolt

If you cannot point to one of those four triggers in your own data, you do not have an international SEO project. You have a shiny object.

targetStart with the data you already own

Before any of this, open your analytics and your keyword research and look at where non-target traffic is already coming from. Look at which queries arrive in another language. Look at which countries bounce hardest. That free signal will tell you which market deserves a real build and which ones are noise you should ignore.

warningWATCH OUT

Translating your site into ten languages because it feels ambitious is the fastest way to create thin, duplicate, badly-targeted pages that drag down the parts of your site that were actually working. Scope ruthlessly. One market done right beats ten done halfway.

02

CHAPTER 02

Language Targeting and Geotargeting Are Not the Same Thing

This is the conceptual mistake that quietly poisons most international SEO projects, and almost no one names it clearly. Geotargeting is about location. Language targeting is about language. They overlap constantly, which is exactly why people collapse them into one decision and then wonder why their setup behaves strangely.

A person in Switzerland might want German, French, Italian, or English. A person who speaks Spanish might be in Spain, Mexico, Argentina, or Texas. The country someone sits in does not tell you their language, and the language someone reads does not tell you their country. The moment you accept that, the whole architecture of international SEO gets clearer, because you can finally pick the right tool for each axis.

Which lever controls which axis

Language targeting is handled primarily through hreflang and through actually publishing content in the target language. Geotargeting is handled through your domain structure, through Search Console country settings on subfolders and subdomains, and through signals like local addresses, currency, and server location. These are different machines. You can target a language without targeting a country, and you can target a country in a single shared language.

Example

A US company expanding into Canada often needs geotargeting without much language work, because the offer, currency, shipping, and tax differ even though most pages stay in English. A company adding Spanish for the US market needs language targeting without any new geotargeting, because the country is the same and only the language changes. Same field, opposite levers.

One axis at a time

Decide your language plan and your country plan separately, on paper, before you touch a single technical setting. When they are tangled together you will misconfigure hreflang and mis-scope your structure at the same time.

bolt

Geotargeting answers where. Language targeting answers in what tongue. Treat them as one and you will build a setup that fights itself.

targetThe hreflang value is two parts for a reason

An hreflang value like en-US is literally language plus optional region. The en is language. The US is country. The format itself is telling you these are separate dimensions. You can ship en alone for language-only targeting, or en-US and en-GB when the region genuinely changes the page. Use the region half only when there is a real regional difference to justify it.

lightbulbPRO TIP

Search engines do not geotarget a generic .com to a country on their own beyond weak signals. If you want a clear country signal and you are on a subfolder or subdomain, you set it explicitly in Search Console. Language, by contrast, the engine infers from your content and your hreflang. Different machines, different controls.

03

CHAPTER 03

ccTLD vs Subdomain vs Subfolder: Pick Once, Live With It for Years

Almost every other international SEO mistake is fixable in an afternoon. This one is not. Your URL structure is the foundation everything else sits on, and changing it later means a full site migration with all the risk that carries. So slow down here. There are three real options, each with a clear trade.

Country-code top-level domains (ccTLDs)

A ccTLD is a separate domain per country, like example.de or example.co.uk. It is the strongest possible geotargeting signal, because the domain itself screams the target country to both users and engines. Users in that country trust it more, and the geotargeting is automatic. The cost is brutal. Every ccTLD is a separate site that builds authority from zero. You are not splitting your existing authority, you are starting over in each market, plus you carry the overhead of buying, securing, and maintaining many domains.

Subdomains

A subdomain looks like de.example.com or fr.example.com. It sits in the middle. It is cleaner to host separately and can carry its own Search Console country setting, but engines treat subdomains as somewhat separate from the root domain, so authority does not flow as freely as people hope. You get some inheritance, but less than a subfolder. It is a reasonable choice when different markets need genuinely separate hosting or tech stacks.

Subfolders (subdirectories)

A subfolder looks like example.com/de/ or example.com/fr/. For most companies, this is the right answer, and it is the one I recommend by default. Everything lives on one domain, so every market benefits from the authority the whole site builds. Your link building compounds across markets instead of being diluted across separate sites. The trade is that the geotargeting signal is weaker than a ccTLD, so you lean harder on hreflang and Search Console country settings to make intent clear.

  • ccTLD: strongest geo signal and most local trust, but every domain starts authority from zero and the maintenance overhead is real.
  • Subdomain: separate hosting and its own country setting, but authority flows only partly from the root domain.
  • Subfolder: one consolidated domain where authority compounds across all markets, with a weaker built-in geo signal you reinforce manually.

Default to subfolders

Unless you have a specific reason, currency-deep ccTLD trust in a market that demands it, or a hard hosting or legal requirement to separate, start with subfolders. They give you the most leverage from the authority you have already earned.

bolt

ccTLDs are the right call when local trust is the whole game, like finance or government-adjacent markets. For everyone else, subfolders win because authority compounds instead of scattering.

targetDo not mix structures without a reason

I have seen sites run a ccTLD for one market, a subdomain for another, and subfolders for the rest, with no logic behind it. That is usually the residue of different teams making different calls over years. Pick one structure and apply it consistently. If you ever do change it, treat it as a full site migration with redirects, monitoring, and a rollback plan, not a quick edit.

warningWATCH OUT

Do not use URL parameters like ?lang=de or ?country=fr as your international structure. They are hard for engines to interpret as distinct targeted pages, they pollute crawling, and they make hreflang a nightmare. Use clean, stable, distinct URLs for every language and region version.

04

CHAPTER 04

Hreflang: What It Actually Does and How to Not Break It

Hreflang is the most misunderstood tag in international SEO. People think it is a ranking factor. It is not. It does not make you rank better. What it does is tell search engines that several pages are the same content in different languages or regions, so the engine can serve the right version to the right user. Used well, it stops your German page from showing to a French searcher and stops your versions from cannibalizing each other. Used badly, it does nothing, or worse, it silently misroutes entire markets.

The core idea is reciprocity. If page A points to page B with hreflang, page B must point back to page A. Hreflang is a handshake. If only one side reaches out, the engine ignores the relationship entirely. This single rule is responsible for most broken hreflang setups I audit, because someone added the tags to new pages but forgot to update the originals to point back.

The non-negotiable rules

  1. 1Make every relationship reciprocal. Every page in a cluster references every other version, including itself, and they all point back.
  2. 2Include a self-referencing tag. Each page lists its own URL with its own hreflang value. Skipping this is a common silent failure.
  3. 3Use correct language and region codes. Language uses ISO 639-1 (two letters), region uses ISO 3166-1 Alpha-2. The order is language first, then region, like en-US, never US-en.
  4. 4Use absolute URLs. Always the full https URL, never relative paths.
  5. 5Add an x-default for your fallback. The x-default value tells engines which page to show when no other version matches the user.

The three mistakes that quietly break it

The first killer is wrong region codes. The United Kingdom is GB, not UK. Use the wrong code and that tag is simply invalid, so the version goes unrouted. The second is non-reciprocal tags, where A points to B but B never points back, which voids the relationship. The third is pointing hreflang at URLs that redirect, are blocked by robots, carry a noindex, or canonical to a different page. Hreflang must point to live, indexable, canonical, self-consistent URLs. If hreflang and your canonical tag disagree about which page is authoritative, you have handed the engine a contradiction, and it will resolve it however it likes.

warningWATCH OUT

Hreflang and canonical fighting each other is the most damaging combination I see. If page /de/ canonicals to /en/ but also carries hreflang as the German version, you are telling the engine two opposite things. Each language and region version must canonical to itself, not to the original language. Get this wrong and your localized pages may never index.

Reciprocity or nothing

An hreflang tag that is not pointed back at is not a weak signal. It is no signal. The engine discards the entire relationship. Audit reciprocity first, always.

bolt

Hreflang does not lift rankings. It routes the right version to the right person and stops your own pages from competing against each other. That is the whole job.

targetValidate, do not assume

Never trust hreflang by eyeballing it. Use a crawler that checks reciprocity and code validity across the whole site, and watch the international targeting reports in Search Console for errors. A single template bug can break hreflang on thousands of pages at once, and you will not see it from a few spot checks. This is squarely technical SEO territory, so treat it with that rigor.

05

CHAPTER 05

Localized Content vs Machine Translation: Where Projects Live or Die

You can nail every technical detail in this guide and still fail completely, because the content itself is bad. International SEO is not a translation project. It is a content project that happens to cross languages. The companies that win treat each market like a real market with its own search behavior, not a copy of the home market with the words swapped out.

Machine translation has improved enormously, and I am not going to pretend it is useless. But raw, unedited machine output has three problems that matter for search. It misses how people in that market actually phrase their queries, so you optimize for words no one searches. It reads as foreign, which destroys trust and conversion. And it produces awkward, generic text that gives engines no reason to prefer you over a competitor who wrote like a human in that language.

Translation versus localization

Translation converts words. Localization adapts meaning, examples, currency, formats, cultural references, idioms, and crucially the keywords people actually use. A literal translation of your best English keyword is frequently not what searchers in the target language type. You have to do keyword research natively, in the target language, in the target market. Direct translation of a keyword list is one of the most common and most expensive errors in this entire field.

Example

Suppose your top English page targets sneakers. In British English the high-volume term is trainers. A literal translation pipeline would never surface that, because trainers is not a translation of sneakers, it is a different word for the same object in a different market. Multiply that across every page and you have a site that is technically translated and commercially invisible.

My honest recommendation is a hybrid that respects budget. Use machine translation as a first draft to move fast, then have a native speaker who understands the market edit it into something real, with the keywords corrected to local search behavior. For your highest-value pages, money pages, key category pages, your most important guides, skip the machine entirely and have them written natively from the start. Treat content quality the same way you would for your home market, because the standards in content writing do not relax just because the language changed.

  • Money and conversion pages: write natively in-market from scratch, no shortcuts.
  • High-value guides and category pages: machine draft, then heavy native editing with corrected local keywords.
  • Long-tail and low-stakes pages: machine translation with at least a native review pass for accuracy and tone.
  • Never: publish raw, unreviewed machine output on pages that matter.
bolt

A page translated word-for-word ranks for words no one searches. A page localized to the market ranks for the words people actually type. That difference is the entire game.

targetE-E-A-T crosses borders too

Trust signals do not translate automatically. Local phone numbers, local addresses, local payment methods, local reviews, and local proof all matter for both conversion and credibility. A market that sees no local signals assumes you are not really there. Carry your E-E-A-T thinking into every market, not just your home one.

warningWATCH OUT

Do not let a translation plugin auto-generate and index hundreds of machine-translated pages overnight. That is how you get a flood of thin, near-duplicate, low-quality pages that can drag down the trust of your whole domain. Quality gates apply to every language.

06

CHAPTER 06

Duplicate Content Across Regions, and Why It Is Usually Not the Disaster You Fear

Here is a question I get constantly. If I have a US English site and a UK English site with nearly identical content, am I going to get hit for duplicate content? The short answer is that this is precisely the scenario hreflang exists to solve, and there is no duplicate content penalty in the way most people imagine. But there is a real risk of the wrong version ranking in the wrong market, and that is worth taking seriously.

Let me clear up the biggest myth first. There is no algorithmic penalty that punishes your site for having similar pages across languages or regions. Different languages are not duplicates at all to a search engine, since the text is genuinely different. The real concern is same-language regional duplication, like US, UK, Australian, and Canadian English pages that are 90 percent identical. That is where engines can struggle to pick the right version, and where your own pages can compete against each other.

How hreflang fixes the same-language problem

When you correctly mark en-US, en-GB, en-AU, and en-CA versions with reciprocal hreflang, you are telling the engine these are the same content for different regions, so it should show each region its own version rather than treating them as competing duplicates. This is the entire point of region codes. The risk is not a penalty. The risk is that without correct hreflang, the engine consolidates them and shows one version everywhere, which means your carefully localized US page might be the one showing to UK searchers.

No penalty, real misrouting

Stop worrying about a duplicate content penalty across regions. Start worrying about correct hreflang, because the genuine cost of getting this wrong is the wrong version ranking in a market, not a sitewide hit.

That said, the more your regional versions differ in a way that matters to the user, the better. Even small genuine localization, local pricing, local currency, local spelling, local examples, local contact details, makes each version more clearly its own page and more useful to its market. If two regional pages are byte-for-byte identical, ask yourself whether they need to be separate pages at all, or whether one page with the right hreflang and country settings would serve both.

bolt

Different languages are not duplicate content. Same-language regional twins are, and hreflang is the exact tool built to keep them from competing.

lightbulbPRO TIP

Canonical tags and hreflang work together here. Each regional version should canonical to itself, and hreflang should map the relationships between them. When self-canonical and reciprocal hreflang are both correct, the duplicate content question essentially disappears for you.

targetWhen in doubt, differentiate or consolidate

If you can make regional versions meaningfully different, do it, because more genuine local value is always better. If you cannot, and the pages would be identical, consider serving one version with country targeting instead of spinning up near-clones. Thin near-duplicates across regions add maintenance cost and crawl waste without adding value. Pick differentiate or consolidate, not lazy duplication.

07

CHAPTER 07

Technical Setup: Sitemaps, Implementation, and the Plumbing That Has to Work

Now the plumbing. Once your structure and content strategy are decided, you have to implement hreflang and supporting signals technically, and there is more than one valid way to do it. The method you pick affects how maintainable your setup is, which matters enormously once you are past a handful of pages.

Where hreflang can live

Hreflang annotations can be placed in three locations. In the HTML head as link elements, in the HTTP headers (useful for non-HTML files like PDFs), or in your XML sitemap. They are equivalent in effect, but very different in practical maintenance. For most sites of any real size, the XML sitemap is the cleanest place, because you manage all the relationships in one file instead of scattering tags across thousands of page templates.

  1. 1List every URL in your sitemap with an xhtml:link annotation for each of its language and region alternates.
  2. 2Include a self-referencing alternate for every URL, so each page references its own version too.
  3. 3Add the x-default alternate where you have a sensible fallback page for unmatched users.
  4. 4Keep every alternate URL absolute, live, indexable, and self-canonical.
  5. 5Validate the sitemap with a crawler and watch Search Console for international targeting errors after deploy.

If you do put hreflang in the head instead, the same rules apply, but you carry a heavier maintenance burden, because every page must output the full set of alternate tags including itself. One templating bug there can break reciprocity across the whole site at once. The sitemap approach centralizes the risk, which makes it easier to audit and fix.

Sitemaps for international structure

Beyond hreflang, structure your sitemaps so each market or section is easy to monitor. Many teams use a sitemap index that points to per-language or per-region sitemaps, which makes it far simpler to see indexing and coverage market by market in Search Console. That segmentation pays off the moment you need to diagnose why one market is underindexed while another is fine.

warningWATCH OUT

Do not block your localized sections with robots.txt or stray noindex tags, and do not let them get caught behind redirects. I have audited launches where an entire language version was quietly excluded from indexing because of one leftover rule from staging. Confirm every market is crawlable and indexable before you celebrate the launch.

Sitemap-first hreflang

For anything beyond a small site, implement hreflang in the XML sitemap. It centralizes the relationships, makes reciprocity auditable, and keeps a single template bug from silently breaking thousands of pages.

bolt

The same hreflang rules apply wherever you put the tags. Choose the location that you can actually keep correct at scale, which for most sites means the sitemap.

targetDo not forget the basics underneath

International SEO still rides on top of ordinary technical health. Server response times by region, mobile experience, and Core Web Vitals all affect how each market performs. A localized site that is slow in its target country starts at a disadvantage. Get the foundation right with solid technical SEO before you blame hreflang for soft results.

08

CHAPTER 08

International Site Structure and the Language Switcher Nobody Plans

Structure is not only about URLs and tags. It is also about how a real human moves between versions of your site, and this is the part teams almost always bolt on at the end. The language switcher, the regional navigation, the way a market is organized inside your folders, all of it shapes both user experience and how cleanly engines crawl your international setup.

Keep your structure consistent and predictable across markets. If your US site has /products/ and /guides/, your German subfolder should mirror that as /de/products/ or its localized equivalent in a parallel shape. Consistent structure makes the whole site easier to crawl, easier to maintain, and easier to map with hreflang. Wildly different structures per market are how relationships get missed and pages get orphaned.

Build a language switcher that helps both users and engines

A good language or region switcher lets users pick their version explicitly. The big mistake is auto-redirecting users based on their IP address with no way out. IP-based auto-redirects break in predictable ways. They trap travelers and expats on the wrong version, they confuse engines whose crawlers are often based in one country, and they can prevent your other versions from being discovered and indexed at all. Offer a clear switcher, suggest a version if you like, but never force a hard redirect with no escape.

warningWATCH OUT

Auto-redirecting by IP with no override is one of the worst international SEO patterns there is. If the crawler always lands on the US version because it crawls from the US, your localized versions may never get crawled or indexed. Let users and engines reach every version directly.

  • Mirror your folder structure across markets so hreflang relationships stay clean and nothing gets orphaned.
  • Give users an explicit language and region switcher they control.
  • Suggest a version with a dismissible banner if you want, but never hard-redirect by IP with no way out.
  • Make sure internal links within a market point to that market's versions, not back to the home language.

Internal links stay in-market

Your German pages should link to other German pages, not leak back to English. Cross-market internal linking confuses both users and engines about which version owns the market, and it dilutes the relevance you worked to build.

bolt

If a crawler that lives in one country can only ever see one version of your site, the rest of your markets may as well not exist. Never trap anyone, human or bot, on a single version.

targetTreat each market like its own little site

Inside its folder, each market deserves real internal linking, its own logical hierarchy, and content tuned to local search demand. The principles of strong on-page SEO apply per market, in that market's language. A well-structured market that links to itself and serves local intent will always outperform a thin translation dropped into a folder.

09

CHAPTER 09

Measuring Per-Market Performance So You Know What Is Actually Working

You cannot manage what you cannot see separately. The most common reporting failure in international SEO is looking at total organic traffic and feeling good while one market quietly carries everything and three others flatline. If you want to make smart calls about where to invest next, you have to measure each market on its own.

Set up your analytics and Search Console so you can isolate every market. With subfolders, you can filter by directory. With subdomains and ccTLDs, you typically have separate Search Console properties already. Either way, the goal is the same. You want to answer, for each market, how much traffic it gets, how it converts, which queries it ranks for in the local language, and whether its trend is up or down. A single blended number tells you almost nothing actionable.

What to actually track per market

  • Organic traffic and trend, isolated by market, not blended into one total.
  • Conversions and conversion rate per market, because traffic that does not convert is not a win.
  • Local-language query rankings and impressions, watched in Search Console by property or folder.
  • Indexation coverage per market, so you catch a version that is quietly underindexed.
  • Hreflang and international targeting errors, monitored continuously, not just at launch.

Pay special attention to whether the right version is showing in the right market. Check the queries and landing pages per country, and confirm that, say, UK searchers are landing on your UK pages and not your US ones. If the wrong version keeps surfacing, that is almost always an hreflang or canonical problem, and now you know exactly where to look instead of guessing.

Example

A blended report might show flat organic growth and trigger a panic. Split by market, the same data might reveal that one localized market is up strongly while a machine-translated market is flat and dragging the average down. That split tells you to double down on the approach that worked and rebuild the one that did not. The blended number told you nothing.

Per-market or blind

Report every market separately from day one. Blended international numbers hide your winners and your failures equally, which is the worst possible outcome for deciding where to spend next.

bolt

A single total traffic line is comfortable and useless. The market-by-market split is uncomfortable and the only view that lets you act.

targetLet the data decide expansion

Once you can see each market clearly, you have a feedback loop. Markets that convert well and trend up deserve more content and more links. Markets that stall after a fair effort tell you the demand was not there or the localization was not deep enough. Use that signal to decide your next market, the same way you used your own data to decide your first one back in chapter one. International SEO is a loop, not a one-time launch.

Frequently asked

Is hreflang a ranking factor?expand_more
No. Hreflang does not improve your rankings. It tells search engines which language or region version of a page to show to which users, so the right version surfaces and your own versions do not compete against each other. Getting it right protects performance, but it never lifts you above competitors on its own.
Will I get a duplicate content penalty for similar pages across countries?expand_more
No, there is no penalty for that in the way people fear. Different-language pages are not duplicates at all. Same-language regional versions, like US and UK English, are exactly what hreflang is built to handle. The real risk is not a penalty but the wrong version ranking in the wrong market when hreflang or canonical tags are misconfigured.
Should I use a ccTLD, a subdomain, or a subfolder?expand_more
For most companies, subfolders, like example.com/de/, because all your authority stays on one domain and compounds across every market. Choose a ccTLD when local trust is the whole game, such as finance, or when a market genuinely demands a local domain. Use subdomains mainly when you need separate hosting or stacks. Whatever you pick, changing it later is a full site migration.
Is machine translation good enough for international SEO?expand_more
Not on its own for pages that matter. Raw machine translation misses how people actually search in the target market and reads as foreign, which hurts both rankings and conversions. Use it as a first draft, then have a native speaker edit it and correct the keywords to local search behavior. Write your money pages natively from scratch.
How do I stop the wrong country version from showing in search?expand_more
Check three things in order. First, hreflang reciprocity, since a one-sided tag is ignored entirely. Second, region codes, since wrong codes like UK instead of GB invalidate the tag. Third, that hreflang and your canonical tags agree, because if they contradict each other the engine resolves it however it likes. Then confirm in Search Console that each market's queries land on that market's pages.
Should I auto-redirect visitors based on their location?expand_more
No, not as a hard redirect with no way out. IP-based auto-redirects trap travelers and expats on the wrong version and, worse, can stop search crawlers from ever reaching your other versions, since crawlers often work from one country. Offer a clear language and region switcher, suggest a version with a dismissible banner if you like, but always let users and engines reach every version directly.

Want this done for you?

I help brands win on Google and get cited in AI search. Tell me about your project.

Work with me