Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Транслит для загранпаспорта ГОСТ 7.79 ISO 9 Блог Вопросы и ответы Создать URL
Транслитерация

Astro: slug из имени файла и front matter для русских статей

В Astro адрес записи коллекции берётся из имени файла. Если файлы называют по-русски, адреса получатся тоже русскими. Разберём, как управлять этим явно.

Slug по умолчанию

По документации Astro, для коллекций типа content slug формируется из идентификатора записи — имени файла без расширения.

Как переопределить slug

Значение можно задать полем slug в front matter файла Markdown или MDX: оно заменяет сгенерированный slug. Это зарезервированное имя, поэтому в схему коллекции его добавлять нельзя. В новых версиях Astro механизм коллекций менялся, поэтому проверьте, как он работает в вашей версии.

Что делать с именами файлов

  • Называйте файлы латиницей: kak-vybrat-begovye-krossovki.md.
  • Если названия должны оставаться русскими, задавайте slug в front matter.
  • Подготовьте имена заранее списком из генератора.

Как проверить

Чтобы узнать, как ваш проект на Astro превращает заголовок в адрес, создайте тестовую страницу с названием «Щёлково цех юг» и сравните результат. Таблица Яндекса даёт shhelkovo-ceh-yug; привычный английский вариант — shchyolkovo-tsekh-yug. Как читать другие результаты — в статье «Транслит Яндекса против встроенного в CMS».

Источники

Использована документация Astro по коллекциям контента (старая версия). Поведение в новых версиях Astro проверьте по актуальной справке.

Типичные ошибки

  • Называть файлы по-русски и ожидать латиницы в адресе.
  • Определять slug в схеме коллекции: это зарезервированное имя.
  • Менять имя файла опубликованной записи без редиректа.
  • Путать slug и id записи в разных версиях Astro.

Пошагово: приводим адреса к единому виду

  1. Составьте список статей.
  2. Получите имена файлов в генераторе.
  3. Переименуйте файлы или добавьте slug в front matter.
  4. Соберите сайт и проверьте адреса.
  5. Для опубликованных страниц настройте редиректы.

Разбор заголовка по шагам

Возьмём заголовок «Как выбрать беговые кроссовки» и пройдём путь до адреса. Имя файла превращается в slug.

Заголовок:           Как выбрать беговые кроссовки
Без служебных слов:  Как выбрать беговые кроссовки
Адрес целиком:       kak-vybrat-begovye-krossovki
Адрес короче:        kak-vybrat-begovye-krossovki

Режим «Убрать служебные слова» в генераторе делает второй шаг сам. Короткий адрес читается легче и лучше помещается в строку браузера. Ограничения по длине и другие правила составления адреса собраны в статье «Как составить ЧПУ-адрес страницы».

Памятка для редактора

Если в проекте несколько редакторов, дайте им короткую памятку. Достаточно этих правил:

  • Имена файлов — латиница из генератора.
  • Или slug в front matter.
  • Смена имени файла — с редиректом.

Чек-лист

  1. Определить, из чего Astro берёт slug в вашей версии.
  2. Называть файлы латиницей.
  3. Для русских имён — задавать slug.
  4. Менять адрес — с редиректом.

Частые вопросы

Как Astro формирует slug?

Из идентификатора записи — имени файла без расширения.

Как переопределить slug?

Полем slug в front matter файла Markdown или MDX.

Можно ли добавить slug в схему коллекции?

Нет: это зарезервированное имя.

Как назвать файлы для русских статей?

Латиницей: результат генератора. Либо оставить русские имена и задать slug в front matter.

Проверьте свои заголовки: вставьте их в генератор ЧПУ и посмотрите, как в адресе выглядят слова с этой буквой.

Читайте также

4 мин чтения

Транслит Яндекса против встроенного в CMS: как определить, что у вас

Короткий тест из одной фразы, по которому можно определить, по какой схеме ваша CMS превращает заголовки в адреса, и что делать, если она отличается от таблицы Яндекса.

Читать статью →