> For the complete documentation index, see [llms.txt](https://hyperflow.sygnal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hyperflow.sygnal.com/apps/hyperflow-locale-specific-domains.md).

# Hyperflow Locale-Specific Domains

**Webflow localization is very useful, but it can only deliver the site's localed content in a locale-specific path structure.**

For example, a site with English as the primary locale, and French and German as alternate locales might be delivered as;&#x20;

| Locale               | Homepage | e.g. Path   | e.g. Localized Path |
| -------------------- | -------- | ----------- | ------------------- |
| English ( primary )  | /        | /contact    | /contact            |
| French ( alternate ) | /fr      | /fr/contact | /fr/contactez-nous  |
| German ( alternate ) | /de      | /de/contact | /de/kontakt         |

This works and is SEO friendly, but it loses the benefit of a Country-Code Top-Level Domain ( ccTLD ) which has an intrinsic locale&#x20;

{% hint style="success" %}
Websites utilizing ccTLDs often experience better rankings in country-specific search results. For example, a `.fr` domain is more likely to rank higher in searches conducted from France compared to a generic `.com` domain, assuming other SEO factors are equal.
{% endhint %}

Ideally this makes more sense for some sites;&#x20;

<table><thead><tr><th width="176">Locale</th><th>e.g. Path</th><th>e.g. Localized Path</th></tr></thead><tbody><tr><td>English ( primary )</td><td>https://www.mysite.com/contact</td><td>https://www.mysite.com/contact</td></tr><tr><td>French ( alternate )</td><td>https://www.mysite.fr/contact</td><td>https://www.mysite.fr/contactez-nous</td></tr><tr><td>German ( alternate )</td><td>https://www.mysite.de/contact</td><td>https://www.mysite.de/kontakt</td></tr></tbody></table>

This works and is SEO friendly, but it loses the benefit of a Country-Code Top-Level Domain ( ccTLD ) which has an intrinsic locale&#x20;

{% hint style="info" %}
It's important to distinguish between language and location.  Webflow is good at supporting language translation but it is not good at supporting locations.  If you target a site at both the UK and the US, it's likely that most browsers in both locations will try to access /en  even when you have /en-GB  pages defined.&#x20;

This is because auto-routing looks at the browser's language, but does not do GeoIP lookups to identify where the user is currently located.&#x20;
{% endhint %}

## Video Discussion &#x20;

{% embed url="<https://www.loom.com/share/30ed0d74715041678d24d485c971b3e9>" %}

## Goals

* Split a Webflow-localized site into discrete domains, one locale per domain, e.g. mysite.com ( EN ), mysite.fr ( French ), mysite.co.jp ( Japanese )&#x20;
  * All page level content
  * All navigation
* Fully support SEO
  * Split and cross-reference sitemaps&#x20;
  * Reflect alt hreflang URL changes&#x20;
  * Redirect all original localization paths by 301, to the new sites to preserve SEO&#x20;
  * Handle all internal linking, e.g. direct links to `/fr/...` should link to the appropriate site.&#x20;
  * Support the locale switcher&#x20;
* Support intentional content gaps, e.g. untranslated CMS items or static pages&#x20;
* Maintain all centralized publishing, API support, integrations, CMS, etc as normal&#x20;

## Future

{% hint style="info" %}
Not yet tested.&#x20;
{% endhint %}

* Support Localization Pro's localized paths &#x20;

Possible;&#x20;

* Auto-routing. based on browser location & language&#x20;

## Notes&#x20;

Locale-Specific Domains & Sub-Domains

<https://discourse.webflow.com/t/seperate-domains-for-localisations/262898/4>

Return requested pages for the specific requested locale /path/...

Modify alt lang href

Suppress irrelevant locale paths ( 404s )&#x20;

* May be possible to redirect them to the alt ccTLD URL&#x20;

Canonicals&#x20;

Sitemap.xml

Links

e.g. /de/menu

Locale switcher modify alt page paths to other ccTLD sites&#x20;

## Path fixes

CMS paths are always

* Determine current locale, and whether it's an alt locale&#x20;

Fix paths so that they are e.g. `/blog` and not `/fr/blog` on the `domain.fr` custom domain.&#x20;

## Language Link cross-references

Rel="alternate" Links

Adjust these to the domain per locale

Splitting Sitemaps by Locale

Research these;

It appears that for rel="alternate" links in the sitemap, you can reference a different domain legitimately;&#x20;

```xml
<!-- Sitemap for example.com -->
<url>
  <loc>https://www.example.com/page1</loc>
  <xhtml:link 
     rel="alternate" 
     hreflang="fr" 
     href="https://www.example.fr/page1" />
</url>

<!-- Sitemap for example.fr -->
<url>
  <loc>https://www.example.fr/page1</loc>
  <xhtml:link 
     rel="alternate" 
     hreflang="en" 
     href="https://www.example.com/page1" />
</url>
```

Locale Switcher

Locale Map

FR -> `domain.fr`

EN -> `domain.en`

Other

Auto language detection and routing?

No, because domain already is locale-specific and will have locale-specific SEO.&#x20;

Cookie to handle preferred locale?&#x20;

## SEO Notes

<https://www.propellic.com/blog/how-to-choose-between-cctld-and-subfolders-for-international-seo>

[https://www.web.com/blog/what-is-cctld](https://www.web.com/blog/what-is-cctld/?utm_source=chatgpt.com)

<https://www.searchenginejournal.com/google-hints-lowering-seo-value-of-country-code-top-level-domains/523183>

<https://www.orbitmedia.com/blog/country-specific-domain-name>

<https://www.namecheap.com/blog/how-country-specific-domains-help-with-local-seo>

## Technical Notes&#x20;

* Github repo: `/sygnaltech/hf-loc-domains` &#x20;

NOT established as an HF2 micro-service, this worker currently runs independently.&#x20;
