Implementation & How-To· 5 min read· By The SpideyChat Team

Running a Chatbot on a Site With Several Language Versions

One chatbot or one per language? How to run a chatbot on a multilingual site with hreflang versions: training, welcome messages, crawling and licences.


On a site with several language versions you can run one chatbot for all of them, because it replies in whatever language each visitor writes in, or one chatbot per language, which lets each version have its own welcome message, content and lead recipient. The deciding questions are whether your language versions say the same things, and whether different people handle enquiries in each language. Either way, train each chatbot on one language version rather than on every translation.

How language works in the chat

SpideyChat's bot mirrors the visitor. It replies in the language of each message, even when the content it is answering from is written in another language. It does not guess from the visitor's location or browser settings.

That lines up with Google's own guidance for multilingual sites. Google Search Central recommends separate URLs for each language version, warns against redirecting people based on what you think their language is, and suggests letting users choose. A chatbot that follows the language the visitor actually types in fits that approach.

Three things in the chat window do not change language:

  • Your welcome message and suggested questions show exactly as you wrote them.
  • Built-in labels, such as Talk to a person and Report an issue, and the support ticket confirmations, are English.
  • The dashboard your team uses is English.

The script tag that installs the widget takes only the chatbot's ID. There is no setting to swap the welcome message per page, so a different welcome message per language means a different chatbot.

Option one: one chatbot for every version

This is the simplest setup and works well for most sites.

Install the same script tag on every language version, usually through a shared site template.

Train it on one version, normally the original language, which tends to be the most complete and up to date. The bot answers French, German or Japanese questions from it.

Write a neutral or multilingual welcome. "Hello, Bonjour, Hallo: ask me anything" works. So does a short welcome in your main language, since the bot switches as soon as the visitor types.

Fill gaps with Q&A pairs in the other languages for questions that are specific to those markets, such as delivery to that country or local payment methods.

The limit of this setup is that every language gets the same welcome, the same suggested questions and the same lead email address.

Option two: one chatbot per language

Separate chatbots make sense when:

  • each language version has different content, such as different products, prices or delivery terms per country;
  • each language should greet visitors in that language, with suggested questions in it;
  • enquiries in each language go to a different person or team, because the lead notification address is set per chatbot.

Install each chatbot on its own language version. If your versions use separate templates or a language switch in your theme, put the French chatbot's script tag in the French template, and so on. The install guide and the page on finding your bot ID cover the details.

Train each chatbot on its own language's pages. The French chatbot learns the French pages, so it quotes French prices and French terms.

Count your chatbots. Free includes 1 chatbot, Starter 3, Pro 10 and Enterprise is unlimited.

Why not crawl every translation into one chatbot

It looks thorough, but it tends to make answers worse.

The same fact is stored several times. When a visitor asks a question, the bot answers from the five passages closest to it. If your returns policy exists in four languages, those five passages can easily be the same policy four times, leaving room for little else.

Translations drift. If the English page says 30 days and the Spanish page still says 14 because nobody updated it, the bot has two answers and may give either. Our post on which pages your chatbot should learn from covers that kind of conflict.

The page limit runs out. The crawler reads up to 150 pages per run on Starter and above. A site with 60 pages in five languages has 300 URLs, and the crawl will take the first 150 it finds in the sitemap, which may be two languages and part of a third.

Crawling one language version

How you point the crawler depends on how your language versions are set up.

Subfolders (example.com/fr/). If your site generates a sitemap per language, enter that sitemap's address in the crawl box, since it accepts a sitemap URL directly. Otherwise crawl the main site and delete the other languages' pages from the source list afterwards.

Subdomains (fr.example.com). Crawl the subdomain you want. One caution: crawled pages are stored by their path, such as /shipping, and re-crawling a path replaces its older copy. If two subdomains share the same paths and you crawl both into one chatbot, the second crawl replaces the first one's pages of the same name. Keep one subdomain per chatbot.

Country domains (example.de). Each is a separate site to crawl.

Hreflang annotations, which Google describes as the way to tell it which pages are alternate language versions of each other, are not affected by the widget, and you do not need to change them.

How language versions count as websites

Each chatbot has a license listing the websites it may run on: 1 on Free, 3 on Starter, 10 on Pro and unlimited on Enterprise.

  • Subfolders are one website.
  • Subdomains are included once the main domain is registered. Register example.com first; a subdomain does not cover its parent.
  • Country domains each count as a website for every chatbot installed on them.

So one chatbot on example.de, example.fr and example.es uses three website slots. Three separate chatbots, one per domain, use one slot each. The post on chatbot licenses and website limits explains staging sites and domain moves.

Pick the setup that fits

Count your language versions, note whether they are subfolders, subdomains or separate domains, and decide whether they need separate welcome messages or separate teams. Then check the chatbot and website allowances on the pricing page. For most sites, one chatbot trained on the main language, with a few Q&A pairs per market, is the place to start.

Frequently asked questions

Do I need a separate chatbot for each language version of my site?
No. One chatbot replies in whatever language the visitor writes in, so it can serve every version. Separate chatbots are worth it when each language needs its own welcome message, its own content or its own team receiving the leads.
Should I train the chatbot on every language version of my pages?
Usually not. Train one chatbot on your most complete and current version. Crawling every translation stores each fact several times, uses up the page limit, and can give the bot conflicting answers when one translation is out of date.
Does the chatbot affect my hreflang setup?
No. Hreflang annotations tell Google which page is the alternate of which. The chat widget is added with a script tag and does not change them.
Do language versions on subdomains or country domains count as extra websites?
Subfolders such as example.com/fr are the same website. Subdomains such as fr.example.com are included once example.com is registered. Separate country domains such as example.de each count as a website, within the plan's limit per chatbot.

Want a 24/7 AI Employee for Your Website?

See how SpideyChat can answer customer questions, capture leads and handle enquiries while your team is offline.

No obligation. We will review your website and show you how SpideyChat could work for your business.

Keep reading