# International SEO and Hreflang: Setting Up a Multilingual Site

Author: Fatih Emin Çakıroğlu (https://fatihemincakiroglu.com)
Source: https://fatihemincakiroglu.com/en/blog/hreflang-uluslararasi-seo
Published: 2026-10-20
Updated: 2026-10-20

An exporting Turkish manufacturer, a hotel hosting Russian and German guests or a SaaS startup adding English all face one question: which URL structure should each language and country get, and how do you tell Google which page to show to whom?

This article covers the URL structure decision, hreflang syntax, x-default and the hreflang mistakes I see most often in audits. For crawling and indexing fundamentals, the [technical SEO guide](https://fatihemincakiroglu.com/en/guides/teknik-seo) is a good starting point.

> Short answer: In international SEO you first choose a URL structure (ccTLD, subfolder or subdomain), then connect every language version with hreflang. Hreflang must be reciprocal, each page must also list itself, and codes must use ISO 639-1 for language with an optional ISO 3166-1 Alpha-2 region.

## ccTLD, subfolder or subdomain?

Google's documentation on multi-regional and multilingual sites compares four options. Budget, team structure and the number of markets drive the choice.

| Structure | Example | Pros | Cons |
| --- | --- | --- | --- |
| Country domain (ccTLD) | example.de | Clear geotargeting, easy to separate sites | Expensive, more infrastructure, one country only |
| Subdomain | de.example.com | Easy setup, different server locations possible | Users may not know if “de” means language or country |
| Subfolder | example.com/de/ | Easy setup, same host, low maintenance | Harder to separate sites, single server location |
| URL parameter | example.com?loc=de | — | Not recommended by Google; hard to segment |

The structure I recommend most often is the subfolder: authority accumulates on one domain and maintenance stays simple. A ccTLD makes sense when you have separate legal entities or country teams. Changing an existing structure is a migration project; the [site migration SEO guide](https://fatihemincakiroglu.com/en/guides/site-tasima-seo) covers the steps. For folder and slug decisions, see [SEO-friendly URL structure](https://fatihemincakiroglu.com/en/blog/url-yapisi-seo).

## What hreflang does and does not do

Hreflang tells Google about language or regional versions of the same content. It is just as important to know what it does not do.

- **Pairs versions**: Tells Google which URL is the alternate for which language or region, helping the right version appear in results.
- **Does not detect language**: According to Google's documentation, page language comes from visible content, not from hreflang or the HTML lang attribute.
- **Does not redirect**: It never moves users to another version; it only affects which URL appears in search results.
- **Does not boost rankings**: It does not strengthen a weak page; it matches the right version to the right audience.

Google also advises against automatically redirecting users between language versions based on assumptions, since this can stop both users and Googlebot from seeing all versions. Use a visible language switcher.

## Hreflang syntax: code example and rules

Google treats three methods as equivalent: link elements in the HTML head, the HTTP Link header (for non-HTML files such as PDFs) and the XML sitemap. Pick one; using all three adds maintenance with no benefit in Search.

```
<link rel="alternate" hreflang="tr" href="https://example.com/urunler/celik-raf/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/steel-shelf/" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/produkte/stahlregal/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/products/steel-shelf/" />
```

The same block must appear in the head of all three pages. The rules:

- The first code is an ISO 639-1 language code (tr, en, de, ru, ar); the region is optional and uses ISO 3166-1 Alpha-2 (DE, AT, GB).
- A region code cannot stand alone: “DE” is invalid, while “de-DE” or “de” are valid.
- URLs must be fully qualified including the protocol; relative paths like “/en/” are invalid.
- Every page lists itself (self-referencing) and the other page links back; non-reciprocal annotations are ignored.
- Codes such as “UK” or “EU” have no effect in Google Search; use en-GB for the United Kingdom.

## When should you use x-default?

x-default is the fallback page shown when no version matches the user's browser language. According to Google's documentation, it works best for language selector pages or entry pages that redirect automatically.

If you have no selector page, I usually make the version with the broadest audience (English for most Turkish exporters) the x-default. Making the Turkish version x-default can lead to a Brazilian user who does not read Turkish landing on a Turkish page.

> **For hotel and tourism sites** On sites with Russian, German and Arabic versions, pointing x-default to English is the clearest fallback for visitors in unlisted languages. For an industry-specific setup, see [hotel and tourism SEO](https://fatihemincakiroglu.com/en/industries/hotel-tourism-seo).

## An example multilingual site structure

In the subfolder structure below, the three language versions of each product page form one hreflang cluster. Turkish sits at the root and other languages live in their own folders.

- example.com
  - / (Turkish, hreflang=tr)
    - /urunler/celik-raf/
    - /iletisim/
  - /en/ (hreflang=en, x-default)
    - /en/products/steel-shelf/
    - /en/contact/
  - /de/ (hreflang=de-DE)
    - /de/produkte/stahlregal/
    - /de/kontakt/

Localised slugs are clearer for users but harder to map. Store each item's language counterparts in a CMS field and generate hreflang tags from that relationship rather than by hand. I set up this model often in [B2B manufacturer SEO](https://fatihemincakiroglu.com/en/industries/b2b-manufacturer-seo) projects for export-focused sites.

## Common hreflang mistakes

**Correct**
- Each version lists itself and all other versions
- Canonical points to the page's own language version
- URLs in hreflang return 200 and are indexable
- Valid codes such as en-GB or de-AT

**Wrong**
- One-way links from the Turkish page only
- Every language's canonical points to the Turkish page
- Redirected or noindex URLs in hreflang
- Invalid codes such as “uk” or “tr-TU”

The costliest mistake is pointing the canonical of every language version to the main language: Google may then treat the other versions as duplicates and drop them from the index. Old, redirected URLs left in hreflang after a migration are also common; I explain redirect logic in [301 vs 302 redirects](https://fatihemincakiroglu.com/en/blog/301-302-yonlendirme).

## How to test your hreflang setup

**Hreflang audit process**
1. **Crawl the site**: Crawl every language folder with a site crawler and export the hreflang report.
2. **Check reciprocity**: Filter out pages with no return link or no self-reference.
3. **Match status codes**: Every URL in hreflang should return 200, with no noindex or redirect.
4. **Inspect rendered HTML**: Verify tags injected by JavaScript in the rendered HTML of URL Inspection.
5. **Monitor results**: Use the country filter in the Performance report to see whether the right version is shown.

I compare crawlers for this job in [SEO audit tools compared](https://fatihemincakiroglu.com/en/blog/seo-audit-araclari). For setting up or auditing a multilingual site, see [SEO consulting](https://fatihemincakiroglu.com/en/seo-consulting) or [book a free intro call](https://fatihemincakiroglu.com/en/book-a-call).

## Frequently Asked Questions

### Does hreflang replace the HTML lang attribute?

No, they do different jobs. The lang attribute tells browsers and screen readers the page language, while hreflang pairs alternate versions. Google states it uses neither to detect language and relies on visible content instead.

### Do I need separate pages for two countries in the same language?

If prices, currency, shipping or legal information differ, separate versions such as en-US and en-GB make sense. If the content is identical, a single “en” version is usually enough.

### Is it a problem to launch language versions with machine translation?

Unreviewed machine translation can drift into scaled content that adds no value for users. A native speaker should edit it and adapt terms to local searches.

### Should hreflang go in the sitemap or the HTML?

Google treats both as equivalent. With many languages and pages, a sitemap keeps the head section lean; on sites with few languages and CMS support, HTML is easier to audit.

### Do hreflang errors lower rankings?

Faulty annotations usually lead to being ignored rather than a penalty. But wrong canonicals or one-way tags can cause the wrong language version to show or some versions not to be indexed.

### Should I redirect users by IP address to a language version?

Google does not recommend it; since Googlebot mostly crawls from the US, it may never see the other versions. Showing a suggestion banner and letting the user choose is the safer approach.

---
Please attribute as: "Fatih Emin Çakıroğlu (fatihemincakiroglu.com)". Original: https://fatihemincakiroglu.com/en/blog/hreflang-uluslararasi-seo
