# Multilingual websites

## What it does

When a client's website is in more than one language, Nexus gives every site page **one language** and knows which pages are translations of each other. It reads this from the site itself: the hreflang tags in the sitemap and on the pages, language prefixes in the URLs (/es/, /fr-ca/), language subdomains (es.acme.com), country domains (acme.mx) and each page's declared language.

Internal links follow the language: an English article links only to English pages, a Spanish article only to Spanish pages. The knowledge base reads the site's pages in every language the client works in.

A **language** is what a page is written in. A **market** is a country plus a language that keyword research targets. Spanish content can serve several markets (Mexico, Spanish speakers in the US).

## Set it up

1. List the client's languages in the client configuration, primary first: **"Set Acme's languages to English and Spanish."**
2. Nexus reads the sitemap and detects the layout. Check it: **"Which languages is Acme's site in?"** The answer gives the layout, the number of pages per language, and any language the site has that isn't in the client's list.
3. Confirm it once: **"Confirm Acme's site languages."** Nexus shows what it will save, then saves it when you confirm.

If the site marks a language in a way Nexus didn't recognise, say how: **"Acme's Spanish pages are under /es-mx/."**

## Check and curate

- A path that looks like a language but isn't one (/it/ for IT services, /ca/ for Canada) is not taken as a language unless the site backs it up. The check lists these as rejected prefixes. If Nexus got it wrong: **"/it/ is not Italian for Acme."**
- Set a page's language by hand: **"/contacto is Spanish."** Nexus won't change a language you set. **"Let Nexus detect the language of /contacto again."** hands it back.
- Pair two pages as translations when the site has no hreflang for them: **"The Spanish version of /services/consulting is /es/servicios/consultoria."** Pages whose translations come from the site's hreflang can only be changed on the site.
- **"Which pages aren't translated into Spanish?"** lists the primary-language pages with no Spanish version, service and product pages first.
- On the Site pages board, the Language column and filter show each page's language, and the Translations column shows its versions in other languages.

## Write content in another language

A piece is either **written in a language** or a **translation** of another piece.

- **A piece written in Spanish** is its own calendar item, with a Spanish keyword, Spanish internal links, that language's house rules and the Spanish pillar page. Plan one: **"Add a Spanish piece on cloud migration to Acme's calendar."** Or change a piece's language: **"Make the cloud migration piece Spanish."** On the content calendar, multilingual clients get a Language column and filter.
- **A translation** stays with the piece it came from. Translations run into the client's other languages automatically; the calendar's Translations column shows which are drafts and which are live. A piece written in Spanish is translated into the primary language.

A piece written in another language publishes to **WordPress**. With Polylang, the post is created in that language and linked to its counterpart once both are published (a piece and the version written alongside it: **"The Spanish cloud piece is the Spanish version of the English cloud piece."**). With WPML or no multilingual plugin, the post is created and Nexus says to set its language in wp-admin. Webflow, Vercel sites, Wix and Shopify can't take a piece in another language on its own yet: Nexus refuses and says why, instead of publishing it as an English post. Translations publish everywhere as before.

On the Organic search report, a multilingual site has a **Group by** switch that sums search clicks and impressions per language.

Checks follow the piece's language. Readability uses that language's formula (Fernández-Huerta for Spanish, Kandel–Moles for French, Flesch for English). The English AI-writing and banned-phrase checks are skipped for other languages until the team adds a banned-phrase list for that language.

## Troubleshooting

- **A Spanish page shows as English.** The page has no language prefix and no hreflang, and its page hasn't been read yet. Set it by hand, or wait for the next sitemap read.
- **The board shows a language conflict on a page.** The URL, the hreflang and the page's own language disagree, often a site template bug. The URL or hreflang wins; tell the client.
- **Nexus says the translations come from hreflang.** Fix the hreflang tags on the site. Nexus reads them again on the next sitemap reconcile.

## Prompts

- "Set Acme's languages to English and Spanish."
- "Which languages is Acme's site in?"
- "/it/ is not Italian for Acme."
- "Let Nexus detect the language of /contacto again."
- "How many Spanish pages do we have?"
- "Confirm Acme's site languages."
- "Acme's Spanish pages are under /es-mx/."
- "/contacto is Spanish."
- "Mark these pages as French: /fr/contact, /fr/a-propos."
- "The Spanish version of /services/consulting is /es/servicios/consultoria."
- "Which pages aren't translated into Spanish?"
- "Add a Spanish piece on cloud migration to Acme's calendar."
- "Make the cloud migration piece Spanish."
- "The Spanish cloud piece is the Spanish version of the English cloud piece."
