Russian and German Website Versions: A Hreflang Guide for Tourism

If your German page does not show up for German searchers, the cause is usually hreflang and URL structure. Here is how to set them up properly.

Hotel reception desk in Antalya with a globe and a multilingual website laptop

Hreflang is an HTML tag that tells search engines about the other language or country versions of a page. It says "the German version of this page is here and the Russian version is there", so German speakers see the German page and Russian speakers the Russian one. Russia and Germany have been among the largest source markets for Antalya for many years, which makes these two languages at least as important as English for many local tourism businesses. This guide covers how to set them up correctly.

Why translation alone is not enough

Plenty of hotel and tour sites show flags in the corner, yet someone searching from Germany for "Hotel Belek all inclusive" lands on the Turkish or English page. The usual causes: translation happens in JavaScript after the page loads, so search engines never see the German text; all languages share one URL; or hreflang tags are missing or broken. We cover planning in our multilingual tourism website guide; this article focuses on the technical side.

URL structure first

Every language version needs its own URL. Three common options:

StructureExampleProsCons
Subfoldersite.com/de/, site.com/ru/One domain and hosting, shared authorityCountry targeting not obvious from domain
Subdomainde.site.com, ru.site.comLanguages can live on separate serversAuthority partly split, harder to manage
Country domainsite.de, site.ruStrong local signalSeparate domains, costs and SEO work

For small and mid-sized tourism businesses we recommend subfolders: one site, one certificate, one hosting plan, and every new page strengthens all languages.

Writing the tags

Each page lists all its language versions in the <head>. For a rooms page in four languages:

<link rel="alternate" hreflang="tr" href="https://hotel.com/tr/odalar" />
<link rel="alternate" hreflang="en" href="https://hotel.com/en/rooms" />
<link rel="alternate" hreflang="de" href="https://hotel.com/de/zimmer" />
<link rel="alternate" hreflang="ru" href="https://hotel.com/ru/nomera" />
<link rel="alternate" hreflang="x-default" href="https://hotel.com/en/rooms" />

The rules:

  • Use ISO 639-1 language codes (tr, en, de, ru) and ISO 3166-1 country codes when needed (de-AT, de-CH). The UK is en-GB; en-UK is invalid.
  • Each page lists itself.
  • Tags must be reciprocal. If the Turkish page points to the German one, the German page must point back. One-way tags are ignored.
  • Add x-default for everyone else; tourism sites usually use English.
  • Canonical points to itself in every language. If the German canonical points to the Turkish page, hreflang breaks.
  • Use absolute https URLs.

Tags can also go in your sitemap, or in HTTP headers for files like PDFs. Pick one method and use it consistently.

Step by step

  1. Decide target languages and, if needed, countries.
  2. Choose a URL structure with readable paths. For Russian, Latin transliteration (/ru/nomera) travels better in emails and messages.
  3. Have content translated by a professional or native speaker, including menus, form messages and email templates.
  4. Generate hreflang from your templates rather than by hand.
  5. Write separate titles and meta descriptions per language.
  6. Make sure the language switcher goes to the same page in the other language.
  7. Put all language URLs in your sitemap and submit it to Google Search Console and Yandex Webmaster.
  8. After launch, crawl the site to check reciprocal tags and canonicals. Search Console's old International Targeting report is gone, so this check needs an outside tool.

Details for Russian and German

  • Fonts: make sure your typeface supports Cyrillic, or browsers fall back to another font.
  • Long German words like "Flughafentransfer" can break menus and buttons. Test the design with real German copy.
  • Contact expectations: German-speaking visitors look for clear company details, an address and a privacy notice. Russian-speaking visitors often prefer quick messaging such as WhatsApp or Telegram.
  • Prices and payment: state the currency and accepted payment methods clearly in every language.

Localise, do not just translate

Even perfect hreflang will not bring bookings if the content is not written for that reader. German guests want exact transfer times, kids' club age ranges and cancellation terms. Russian-speaking guests look for a clear list of what is included. Search terms differ too, so build a keyword list per language and write titles and descriptions from it.

Common mistakes

  • Switching languages with JavaScript on a single URL.
  • Pointing every language's canonical to the Turkish page.
  • Missing return tags, or listing pages that were never translated.
  • Forcing redirects by IP. Googlebot mostly crawls from the US and may never see other versions.
  • A language switcher that always goes to the homepage.
  • Publishing machine translation unchecked.

An example from Antalya

Picture a hotel in Belek working in four languages. Turkish serves domestic guests, English is the x-default for everyone else, and German and Russian serve the two main markets. Every room, restaurant and transfer page links its four versions with hreflang. A guest in Germany finds the "Zimmer mit Meerblick" page; a guest in Russia finds the Russian rooms page. On hotel and travel agency websites this directly affects bookings, because guests read prices and terms in their own language.

We build multilingual structure and hreflang into every business website project. See our packages for what each language option includes.

Frequently asked questions

Does hreflang improve rankings?

Not directly. It tells search engines which language version to show to which user, so German speakers see your German page and Russian speakers your Russian page.

Should I use ru or ru-RU?

If you target Russian speakers everywhere, ru is enough. Only add a region code when content or prices differ by country.

Do Germany, Austria and Switzerland need separate pages?

Not if the content is the same; one de version serves all three. Create de-DE, de-AT and de-CH only when currency or contact details differ.

Does Yandex support hreflang?

Yes. It is also worth adding your site to Yandex Webmaster and submitting your sitemap there for Russian-speaking visitors.

Can I use an automatic translation plugin?

For a first draft, yes, but have a native speaker review it before it goes live. Poor translation erodes trust and costs bookings.

Should I redirect visitors by IP address?

No. Automatic redirects trap both users and search engine bots in one version. Use a visible language switcher and, if you like, a language suggestion banner.

All articles

Get a quote for Corporate Websites

Tell us what you need to apply the ideas in this article to your site; we will send scope, timing and price in writing.