# International SEO for a small product: structure, language, and when to start

You can reach buyers in another country without breaking your site. This page shows you how to pick a structure, set languages, and ship. It also helps you decide when to start and what it costs to run.

Updated 2026-09-14 · Source: https://porteur.ai/guides/international-seo

## When to expand beyond one language

Add a second language when three signals line up. First, Search Console shows impressions from that country on your one-language site. Second, you can sell there today, payments and shipping or delivery included. Third, support can answer in that language.

Do not translate because a blog ranked once abroad. Wait until you see steady queries like “pricing” and “signup” from that market. A language without support will leak trials and create churn.

Be blunt about cost. A second language is a second site’s worth of maintenance. Every edit needs a twin. Plan owners and a release path before you start.

## The three structures and how to choose

You have three viable structures. A country-code top-level domain, a subdirectory, or a subdomain. Google says all three work. The choice is about operations and links, as of 2026.

| Structure | Example | How Google sees it | Why choose it | Trade-offs |
| --- | --- | --- | --- | --- |
| Country-code domain | example.fr | Strongest geographic signal, separate site | You want a clear country brand, separate operations, local press and links | New domain needs its own links and trust, separate hosting and certs |
| Subdirectory | example.com/fr/ | Same host and link profile | Fast to ship, all authority stays on one site, simplest tracking | Weaker country signal than a ccTLD, shared templates and constraints |
| Subdomain | fr.example.com | Usually part of the site, can be seen as separate | Ops want isolation from the app or blog, or a CDN rule needs it | May split signals in some cases, more setup than a folder |

Do not use a URL parameter like ?lang=fr. It is discouraged. You will fight crawling, duplicates and analytics from day one.

A small product often starts with subdirectories. example.com/fr/, example.com/de/. You keep one host, one sitemap index, and your existing links help new pages. If France grows into its own operation later, you can migrate to example.fr with a redirect map.

## One language per URL, no IP redirects

Set one language per URL. Do not mix languages on the same page. Keep the UI, headings and body in the same language as the title and metadata.

> Never redirect by IP or browser language. Googlebot crawls from the US and would never see your other versions. Show a switch with real links instead.

Add a language switcher that renders anchors, not a script. Link each language to the matching URL. On /pricing, the switch shows /fr/pricing and /de/pricing. It should not submit a form or rely on cookies to change content.

## Hreflang in one paragraph

Use hreflang to declare language and region versions of the same page, so Google can pick the right one to show. Put link rel="alternate" hreflang="…" tags in the head, in your sitemap, or in HTTP headers. Use ISO codes, make them reciprocal, and include an x-default to cover a selector or a global page. Hreflang does not merge ranking signals, it only helps choose the right version in search results.

## Translate for how people search, not word for word

People do not search literal translations. They search their own phrasing. “Facturation” beats a formal “émission de facture” for a billing page in French. Your /fr/facturation should use the term buyers type, across title, slug, headings and copy.

Localise currency, dates, examples and screenshots. Prices in euros. Day-month-year dates. Screens with French labels. If your app stays English, say so in the copy and support pages.

Translate titles, meta descriptions, URL slugs, alt text and structured data fields. A French product page with an English slug and English Product schema looks careless. Fix it in code templates once so every page inherits it.

Google’s spam policies name content translated automatically without human review as an example of scaled content abuse, as of March 2024. You can use AI to draft, but you need a fluent editor to check meaning, terms and tone. Keep a term base per market so future pages stay consistent.

## Internal links, sitemaps and navigation that match the language

Link French pages to French pages. On /fr/aide, link to /fr/guide/demarrage, not the English /guides/getting-started. Build language-specific menus so crawl paths stay within the language where possible.

Provide either a sitemap per language or one sitemap with hreflang entries. Keep it up to date on deploy. Submit it in Search Console for the host. The International Targeting report was removed in 2022, so there is no geo-targeting setting to toggle for gTLDs now.

Use a simple URL pattern. /fr/, /de/, /es/. Avoid nesting languages under complex filters. Keep page paths parallel. If you have /pricing, ship /fr/pricing, not /fr/offres if the English concept is pricing. The French copy can still say Tarifs in the h1 and title.

## Choosing a structure for a small team: worked examples

Case 1, SaaS with one engineering team. Choose subdirectories. example.com/fr/. You will ship pages faster and reuse your link equity. You can move France to example.fr later if it becomes its own business unit.

Case 2, ecommerce with local fulfilment and PR in one market. Consider a ccTLD. example.fr with a French legal entity, French customer service, and local press that links to .fr. Budget time for a full domain launch and a link programme in that market.

Case 3, you must isolate content from the app for build reasons. A subdomain can be acceptable. fr.example.com for the marketing site, app.example.com for the app. Expect to work a bit harder on internal links and tracking across subdomains. Google usually treats it as part of your site, but it can be seen as separate in some cases.

## Rollout plan: from first signal to live pages

1. **Confirm demand and readiness** In Search Console, filter Performance by Country to see steady impressions. Confirm payments, tax, and support cover the country and language.
2. **Pick structure and URL map** Choose ccTLD, subdirectory or subdomain. Draft the folder map: /fr/, /de/. List all core pages to translate: /, /pricing, /guides/getting-started, /signup, /privacy.
3. **Build templates and navigation** Add language-aware layouts, translated menus, and a visible language switcher with real links. Keep one language per URL.
4. **Implement hreflang and sitemaps** Add hreflang in the head or sitemap with reciprocal links and x-default. Ship a language sitemap or add hreflang entries to one sitemap index.
5. **Translate for the market** Localise titles, descriptions, slugs, alt text, schema, currency, dates and examples. Have a fluent editor review. Keep a term base.
6. **Ship and monitor** Deploy. Submit sitemaps. Monitor impressions and clicks by Country and Page in Search Console. Track conversions by language in your product analytics.

A fixed page looks like /fr/pricing with a French title, a French meta description, euros on the plan cards, a French FAQ, hreflang pointing to /pricing and /de/pricing, and a footer menu linking to other /fr/ pages.

## Ongoing maintenance and quality bar

Every new English page needs translations. Budget the same review time again. Keep a checklist in your PR template: copy, metadata, slug, schema, screenshots, currency, dates, links, hreflang, sitemap.

Avoid thin clones. Each page should hold data or an answer of its own that a reader in that market would want. That includes local support articles, delivery times, and legal terms where they differ. Helpful content signals were folded into core ranking in March 2024, so quality ties to the site as a whole.

Watch for drift. If /pricing changed last month, check /fr/pricing matches. Run a monthly diff on key pages so translated UIs do not lag the product. Tie translation review to your release cadence.

## Common pitfalls to avoid

- Redirecting users by IP or browser language instead of linking to versions
- Serving mixed-language pages or images with English text baked in
- Using ?lang parameters instead of clean paths
- Forgetting to translate schema, alt text or the URL slug
- Missing reciprocal hreflang links, or wrong ISO codes
- Linking French pages to English help docs
- Deploying 200 pages of machine translation with no human review

## Questions

### What is international SEO for a small product site?

It is how you structure URLs, declare language versions and write content so searchers in each country find the right page. You are not trying to rank one English page everywhere. You are making a set of pages, one per language or region, that match how people search and buy there.

### Should I use a ccTLD, a subdirectory or a subdomain?

All three can work. A ccTLD is the strongest geographic signal but is a separate site to build. A subdirectory keeps one host and one link profile, which suits a small team. A subdomain is usually treated as part of your site, but it can be seen as separate in some cases, so only choose it for clear ops reasons.

### Do I need hreflang if I only have English for the UK and US?

Yes. Hreflang helps Google show the UK page to UK searchers and the US page to US searchers. Use en-gb and en-us where copy, currency or legal terms differ. Make the links reciprocal and include x-default for a selector or a global page.

### Can I rely on automatic translation to go fast?

Use AI or MT to draft if you must, but have a fluent human review and fix terminology. As of March 2024, content translated automatically without human review is listed under scaled content abuse in Google’s spam policies. You risk index bloat and poor conversions if you skip review.

### How do I handle a user in France landing on the English page?

Do not force a redirect. Show a clear switch with a link to /fr/… and remember the choice for that session. Keep the English page indexable and connected by hreflang so Google can learn to show the French version next time.

### How do I target a country now that the International Targeting report is gone?

There is no geo-targeting toggle for gTLDs now. Targeting comes from your structure, content and links. Use a ccTLD if you need a strong country signal, or keep to subdirectories with hreflang and localised content and links.

## Read next

- [Multilingual website SEO: one language per URL, and everything translated](https://porteur.ai/guides/multilingual-website-seo): Set up a multilingual website that ranks: one language per URL, fully translated content, hreflang, a real switcher, and a sitemap for each language.
- [hreflang implementation: head, sitemap or header, and the checks](https://porteur.ai/guides/hreflang-implementation): Add hreflang the right way, avoid errors and verify it works. Examples for head, sitemap and HTTP header, the rules, checks and what it won’t do.
- [Subdomain vs subdirectory: what Google says and what to choose](https://porteur.ai/guides/subdomain-vs-subdirectory): Google says both can work. Here is how to choose for blogs, docs, languages and new products, and how to move with clean redirects.
- [When to translate your site, and which pages first](https://porteur.ai/guides/when-to-translate-your-site): Use Search Console signals to decide when to add a language, pick the right structure, and translate only the pages that pay first.
- [hreflang](https://porteur.ai/glossary/hreflang): hreflang tells search engines the language and region for each page version. See when you need it, where to declare it, and how to avoid errors.
- [GEO vs SEO: what changes, what does not](https://porteur.ai/guides/geo-vs-seo): GEO names you in AI answers, SEO ranks you in results. Here is what overlaps, what changes, and five steps to win citations without ditching SEO.
- [Anchor text: what you control, what you do not, and what to do about it](https://porteur.ai/guides/anchor-text-strategy): Internal anchors are yours to write and most sites waste them. External anchors are not yours at all. What to do about each, and the pattern to avoid.

Paste your URL to see where demand already exists by country and which pages to localise first, in about thirty seconds, free, with three findings shown whole by Porteur. Free check: https://porteur.ai/
