**TL;DR.** Многоязычный SEO в 2026 году имеет три правила. (1) Выберите одну структуру URL и используйте её повсюду. (2) Создавайте взаимные кластеры hreflang, которые включают только действительно переведенные локали для каждой сущности. (3) Переведите весь пользовательский путь, а не только названия продуктов. Если вы сделаете это правильно, вы обойдете конкурентов с одной локалью на каждом переведенном рынке.

## Почему это важно в 2026 году

Торговля через границы продолжает расти. По оценкам отрасли, примерно 28% глобальных заказов электронной коммерции пересекли границы в 2025 году. Продавцы, которые обслуживают несколько регионов на родном языке, лучше ранжируются в этих регионах и имеют более высокие конверсии, потому что опыт локализован.

Поисковые системы на основе ИИ (Perplexity, ChatGPT, Claude, Google AI Overviews) обрабатывают многоязычный контент менее элегантно, чем классическая SERP Google. Страницы с сильными сигналами локализации — чистые URL, точные hreflang, метаданные на языке, специфичные для локали JSON-LD — цитируются более надежно, чем неоднозначные двуязычные страницы.

## Шаг 1: Выберите структуру URL

| Структура       | Пример                | Плюсы                                              | Минусы                                          |
| --------------- | ---------------------- | ------------------------------------------------- | ----------------------------------------------- |
| ccTLD           | `example.de`           | Самый сильный геосигнал; понятно пользователям    | Разделяет авторитет домена; несколько SSL-сертификатов |
| Поддомен        | `de.example.com`       | Легко настроить хостинг по регионам               | Рассматривается как отдельный сайт по некоторым сигналам |
| Префикс пути    | `example.com/de/`      | Консолидирует авторитет; дешево настраивать       | Немного слабее геосигнал, чем ccTLD           |
| Параметр запроса | `example.com/?lang=de` | Легче всего добавить                               | **Не используйте.** Google рассматривает как дубликат. |

По умолчанию в 2026 году используется **префикс пути**. Именно это использует Ordiko по умолчанию (`example.com/de/`, `example.com/fr/` и т.д.).

## Шаг 2: Создайте полный кластер hreflang

Для каждого переведенного URL выведите:

```html
<link rel="alternate" hreflang="en" href="https://example.com/en/products/leather-bag" />
<link rel="alternate" hreflang="de" href="https://example.com/de/products/leather-bag" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/products/leather-bag" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/products/leather-bag" />
```

Правила:

1. Каждый URL должен ссылаться на себя (URL `en` выдает `hreflang="en"` для себя).
2. Каждый URL должен перечислять все другие варианты.
3. `x-default` указывает на локаль, которую вы обслуживаете, когда язык не совпадает (обычно английский или ваш основной).
4. Используйте коды языков ISO 639-1 (`en`, `de`, `fr`), при необходимости комбинируя с регионом ISO 3166-1 (`en-GB`, `en-US`).
5. Не включайте вариант, который возвращает статус HTTP, отличный от 200.

## Шаг 3: Фильтруйте по действительно переведенным сущностям

Распространенная ошибка: выводить полный набор локалей для каждого URL, даже когда многие сущности переведены только на подмножество.

**Неправильно**:

```html
<!-- продукт имеет только переводы en + de -->
<link rel="alternate" hreflang="en" href=".../en/products/x" />
<link rel="alternate" hreflang="de" href=".../de/products/x" />
<link rel="alternate" hreflang="fr" href=".../fr/products/x" />  <!-- возвращает 404 -->
```

**Правильно**:

```html
<link rel="alternate" hreflang="en" href=".../en/products/x" />
<link rel="alternate" hreflang="de" href=".../de/products/x" />
<link rel="alternate" hreflang="x-default" href=".../en/products/x" />
```

Ordiko реализует это через `EntityForSeo.availableLocales` — каждый продукт, категория, бренд и страница могут указать, на какие локали они переведены, а `alternates.languages` является пересечением `store.supportedLocales` и `availableLocales`.

## Шаг 4: Переведите весь путь клиента

Распространенные пробелы, которые ухудшают ранжирование и конверсии:

| Элемент                  | Переведен?                                |
| ------------------------ | ------------------------------------------ |
| Мета заголовок           | Да (по локали)                            |
| Мета описание            | Да                                         |
| H1                       | Да                                         |
| Метки хлебных крошек     | Да                                         |
| Названия категорий       | Да                                         |
| Поля схемы продукта      | Да (`name`, `description`, `category`)     |
| Альтернативный текст изображений | Да                                 |
| Сообщения об ошибках (404/410) | Да                                 |
| Текст на странице оформления заказа | Да                             |
| Шаблоны электронной почты | Да                                       |

Страница, которая на 80% на немецком с английскими сообщениями об ошибках и английским альтернативным текстом, является сигналом как для пользователей, так и для Google.

## Шаг 5: Настройте валюту и доставку по локали

Валюта и локаль не одно и то же (Швейцария использует CHF и обслуживает немецкий/французский/итальянский), но они обычно коррелируют. В 2026 году схема продукта:

```json
{
  "@type": "Offer",
  "priceCurrency": "EUR",
  "price": "49.00",
  "availability": "https://schema.org/InStock",
  "shippingDetails": [{
    "@type": "OfferShippingDetails",
    "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "DE" },
    "shippingRate": { "@type": "MonetaryAmount", "value": "4.99", "currency": "EUR" },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
      "transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 5, "unitCode": "DAY" }
    }
  }]
}
```

Цены и доставка по регионам должны соответствовать тому, что пользователь видит на странице. Несоответствия между схемой и видимой ценой могут привести к подавлению Google богатого результата.

## Шаг 6: Отправьте карты сайта

Два жизнеспособных шаблона:

**Шаблон A — одна карта сайта на локаль:**

```
/sitemap.xml (индекс)
/sitemap-en.xml
/sitemap-de.xml
/sitemap-fr.xml
```

**Шаблон B — единая карта сайта с аннотациями hreflang:**

```xml
<url>
  <loc>https://example.com/en/products/x</loc>
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/products/x" />
  <xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/products/x" />
</url>
```

Шаблон A легче отлаживать. Шаблон B более компактный. Ordiko по умолчанию использует Шаблон A.

## Шаг 7: Проверьте

В Google Search Console:

1. **Настройки → Международная нацеленность → Вкладка Язык** — показывает ошибки hreflang.
2. **Покрытие → Страницы** — подтверждает, что каждый вариант локали индексируется.
3. **Производительность → Фильтры → Страна** — подтверждает, что каждая локаль ранжируется в своем целевом регионе.

Для поисковых систем на основе ИИ:

```bash
curl -A "PerplexityBot" https://example.com/de/products/x
# должен вернуть 200 с немецким контентом и немецким кластером hreflang
```

## Распространенные ошибки

- Невзаимные hreflang. Всегда создавайте полный кластер.
- Неправильные коды языков. Используйте ISO 639-1 (`zh-Hans`, а не `zh-CN` для упрощенного китайского).
- Включение недоступных URL. Фильтруйте цели 404/410.
- Смешивание структур. Не размещайте немецкий контент на `/products/x?lang=de` *и* `/de/products/x`.
- Игнорирование поисковых систем на основе ИИ. Добавьте Markdown-двойники и явный `inLanguage` в JSON-LD.

## FAQ

**Должен ли я использовать ccTLD, поддомены или префиксы пути?**
Префиксы пути (example.com/de/) являются современным стандартом — они консолидируют авторитет домена, легко настраиваются и хорошо обрабатываются Google. ccTLD (example.de) дают самый сильный геосигнал, но разделяют авторитет. Поддомены (de.example.com) находятся между ними. Выбирайте префиксы пути, если у вас нет конкретной причины не делать этого.

**Влияет ли hreflang на ранжирование напрямую?**
Не напрямую. Hreflang контролирует, какой вариант локали Google предоставляет данному пользователю — это не повышает ранжирование. Если сделано правильно, это предотвращает ранжирование неправильного языкового варианта выше правильного в данном регионе, что приводит к измеримому увеличению конверсии.

**Как поисковые системы на основе ИИ обрабатывают многоязычный контент?**
Perplexity, ChatGPT Search и Claude индексируют страницы независимо по локалям, с меньшей осведомленностью о hreflang, чем Google. Лучшие практики в 2026 году: создавайте Markdown-двойники для каждой локали (например, /de/blog/slug.md), явно указывайте inLanguage в JSON-LD и учитывайте записи llms.txt для каждой локали.

**Какова самая распространенная ошибка hreflang?**
Невзаимные ссылки. Если страница A ссылается на страницу B, но B не ссылается обратно на A, Google игнорирует весь кластер. Всегда создавайте полный кластер, включая самоссылку.