> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# SEO оптимизация

> Мета-теги, человекочитаемые адреса, поисковые теги и соцпревью для страниц курсов

Страницы курсов оптимизированы для поисковых систем и социальных сетей. Часть параметров формируется автоматически из данных курса, часть настраивается вручную в разделе **Информация** → **SEO**.

## Мета-теги страницы курса

Мета-информация страницы курса формируется автоматически из его полей (`courseMetaRequest` в `src/meta.tsx`). При открытии страницы курса платформа запрашивает данные и подставляет их в мета-теги:

| Мета-тег                    | Источник                                               |
| --------------------------- | ------------------------------------------------------ |
| `title` (заголовок)         | Название курса (`name`)                                |
| `description` (описание)    | Краткое описание курса (`description`)                 |
| `image` (превью)            | Обложка курса (`image.main`)                           |
| `keywords` (ключевые слова) | Название + метки (`tags`) + поисковые теги (`seoTags`) |

Ключевые слова собираются в одну строку: сначала название, затем все метки курса, затем SEO-теги — через запятую.

```javascript theme={null}
keywords: [ name, ...tags, ...seoTags ].join(', ')
```

<Note>
  Поскольку заголовок и описание берутся из основных полей курса, качественно заполненные «Название» и «Краткое описание» напрямую улучшают SEO — отдельно дублировать их не нужно.
</Note>

## Человекочитаемый адрес (alias)

В блоке **SEO** можно задать псевдоним курса (`alias`) — понятный адрес вместо числового идентификатора. Например, вместо `/course/123` курс будет доступен по адресу с осмысленным словом.

Страница курса открывается по обоим вариантам: если в адресе буквенный псевдоним — запрос идёт по `alias`, если число — по `courseId`.

```javascript theme={null}
const variables = params.courseId.match('[a-zA-Z]+')
    ? { alias: params.courseId }
    : { courseId: +params.courseId };
```

<Tip>
  Задайте короткий и понятный псевдоним, отражающий суть курса — это улучшает восприятие ссылки в поисковой выдаче и при отправке ученикам.
</Tip>

## Поисковые теги (seoTags)

Поисковые теги (`seoTags`) — это дополнительные ключевые слова, которые попадают в мета-теги `keywords`, но **не видны ученикам** в интерфейсе. В отличие от обычных меток (`tags`), которые показываются на карточке курса, SEO-теги нужны исключительно для поисковых систем.

| Поле                 | Видно ученику | Назначение                                        |
| -------------------- | ------------- | ------------------------------------------------- |
| Метки (`tags`)       | Да            | Навигация, поиск внутри платформы, карточка курса |
| SEO-теги (`seoTags`) | Нет           | Только мета-теги для поисковых систем             |

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/seo-settings.png" alt="Настройка SEO: псевдоним и поисковые теги" />

## Соцпревью (OpenGraph)

Для корректного отображения ссылок в мессенджерах и соцсетях используются мета-теги превью: заголовок, описание и изображение. Изображение соцпревью берётся из обложки курса (`image.main`), поэтому качественная квадратная обложка важна не только для каталога, но и для внешних ссылок.

## Рекомендации

<Steps>
  <Step title="Заполните название и описание">
    Они станут заголовком и описанием страницы в поиске и соцсетях.
  </Step>

  <Step title="Загрузите обложку">
    Обложка используется как изображение соцпревью (OpenGraph).
  </Step>

  <Step title="Задайте псевдоним">
    Короткий человекочитаемый `alias` улучшает ссылку курса.
  </Step>

  <Step title="Добавьте SEO-теги">
    Ключевые слова, по которым курс должен находиться в поиске, но которые не нужно показывать ученикам.
  </Step>
</Steps>
