A two-language website for a small business: structure that doesn't fall apart

Stan Fekete — Web designer & developer · last checked

A two-language website holds together when every page has its own address in each language, each version points to its twin, and the second language gets only the pages you can keep current. A site that swaps the words with a button, or translates the menu and leaves the pages alone, looks bilingual to you and single-language to search engines.

The cost of getting this wrong is quiet. Nothing breaks, nothing shows an error. A customer who searches in their own language lands on a version they can’t read, or doesn’t land on your site at all, and you never hear from them.

How to recognize it yourself

Each check takes a minute or two. You don’t need access to the site’s admin panel.

  • Look at the address bar. Open a page, switch the language, and compare the two addresses. If the address stays the same, the translation lives in a cookie or a script. Search engines index one language and never see the other.

src · Google Search Central: separate URLs for each language version

  • Switch languages on an inner page, not on the home page. If the switch throws you back to the home page, the versions aren’t connected page to page. A customer reading about one service has to find it again from scratch.
  • Search the page source for hreflang. Open the page, view its source (Ctrl+U in most browsers), and search for the word. No result means search engines have no map between your versions. A result means one more check: open the other version and make sure it lists this page back. If two pages don’t both point to each other, Google ignores the tags.

src · Google Search Central: tell Google about localized versions of your page

  • Read a second-language page to the end. A translated menu over an untranslated page is the most common half-job. Google names it directly: translating only the boilerplate while the content stays in one language makes a bad experience in search results.

src · Google Search Central: boilerplate-only translation

  • Open the site in a private window with your phone set to the other language. If the site redirects you on its own, it is guessing. A customer who forwards a link to a friend may send them to a version the friend can’t read. Google advises against redirecting by the language you think a visitor speaks.

src · Google Search Central: avoid automatic redirection by language

  • Search your own business name plus one service, in the second language. If the result is the first-language page, the second version isn’t doing its job.
  • Open your sitemap. Usually it is at /sitemap.xml on your domain; if not, ask whoever built the site. Look for second-language pages you forgot about. Half-empty pages in the sitemap are pages you are asking search engines to show.

What to do

  1. Decide which pages exist in both languages. Start with the home page, the services customers call about, and contact. A page you can’t keep current in the second language is better missing than out of date: a stale price or an old opening note in the second language is a promise you didn’t mean to make.
  2. Give each language its own address. One domain, a folder per language, for example example.com/ and example.com/xx/. Not a second site on a second domain: that doubles what you renew and maintain, and splits what the first one has built.
  3. Link each page to its twin, visibly. A language switch on every page that goes to the same page in the other language, not to the home page. Google suggests plain links to the other versions so people can choose.
  4. Add hreflang on both sides. Every version lists itself and its twin. Add x-default for visitors whose browser language matches neither version; Google uses it exactly for that case.

src · Google Search Central: return links and x-default

  1. Keep one language per page. Translate the body, the page title, the search description, image descriptions and the form messages together. A form that answers in the wrong language after someone presses Send loses the customer at the last step.
  2. Remove automatic redirects. Suggest the other version with a link. Let the reader choose.
  3. List only real pages in the sitemap, per language. No drafts, no placeholders, no pages that exist in one language and are empty in the other.
  4. Check every new page before publishing. Either it has a twin, or you decided on purpose that it doesn’t.

Not every page needs a twin. Fewer pages translated fully beat every page translated halfway. My own local service site runs in three languages. Its sitemap lists 22 pages in the main language and 9 in each of the other two. The smaller versions cover what a customer in those languages needs to call or send a request. They don’t pretend to be full copies.

src · Own electrical contractor's site, sitemap measured 25.09.2026

A partial language is fine as long as the site says so. Where a page isn’t translated, it can fall back to a complete version, and the tags still tell search engines which version is which. The failure isn’t having fewer pages in one language. The failure is a page that claims to be in one language and is written in another.

If you’d rather have someone run these checks on your site, tell me about your business.