Загрузка...
Загрузка...
Руководство по созданию читаемых URL для SEO: транслитерация кириллицы, генерация slug, лучшие практики. Инструменты и примеры.
Калькулятор времени чтения текста. Средняя скорость чтения на русском, формулы расчёта. Оптимальная длина статьи для блога и SEO.
SEOПошаговое руководство по подбору ключевых слов. Инструменты, методы кластеризации, анализ конкурентов. Как собрать семантическое ядро для SEO-продвижения.
SEOТипичные ошибки в robots.txt, приводящие к потере индексации и трафика. Как избежать и исправить.
SEOПолное руководство по проведению SEO аудита сайта. Чек-лист проверок, инструменты анализа, пошаговая инструкция. Как найти и исправить технические ошибки SEO.
Поделитесь с коллегами или изучите другие материалы блога
Читаемые URL улучшают кликабельность в выдаче, упрощают навигацию и помогают поисковым системам понимать тему страницы. В этой статье разберём, как создавать SEO-friendly URL: транслитерация кириллицы, генерация slug, типичные ошибки и инструменты.
Для транслитерации и генерации slug используйте инструмент транслитерации на reChecker. Для анализа ключевых слов в URL — анализатор ключевых слов reChecker.
| Плохо | Хорошо |
|---|---|
| /page?id=12345 | /kupit-iphone-15 |
| /category/42 | /smartfony-apple |
| /%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3 | /katalog |
Кириллица в URL создаёт длинные percent-encoded последовательности. Транслитерация в латиницу делает URL короче и читаемее.
| Кириллица | Латиница |
|---|---|
| а, б, в, г, д, е, ё, ж, з | a, b, v, g, d, e, e, zh, z |
| и, й, к, л, м, н, о, п | i, y, k, l, m, n, o, p |
| р, с, т, у, ф, х, ц, ч, ш, щ | r, s, t, u, f, h, ts, ch, sh, shch |
| ъ, ы, ь, э, ю, я | "", y, "", e, yu, ya |
Варианты: «ё» → e или yo, «й» в конце слова → y или i. Важна консистентность в рамках одного сайта.
const translitMap = {
'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'e',
'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm',
'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
'ф': 'f', 'х': 'h', 'ц': 'ts', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch',
'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya'
};
function transliterate(str) {
return str.toLowerCase().split('').map(char =>
translitMap[char] || char
).join('');
}
Для продакшена используйте библиотеку (например, transliteration) или транслитерацию на reChecker.
Slug — часть URL, идентифицирующая страницу. Обычно генерируется из заголовка.
kupit-iphone, не kupitiphonefunction slugify(title) {
return transliterate(title)
.replace(/[^a-z0-9\s-]/g, '') // только буквы, цифры, пробелы, дефисы
.replace(/\s+/g, '-') // пробелы в дефисы
.replace(/-+/g, '-') // множественные дефисы в один
.replace(/^-|-$/g, ''); // убрать дефисы с краёв
}
slugify('Как купить iPhone 15 Pro');
// "kak-kupit-iphone-15-pro"
Для длинных заголовков можно обрезать до N слов или символов:
function shortSlug(title, maxWords = 5) {
const words = slugify(title).split('-');
return words.slice(0, maxWords).join('-');
}
В базе данных slug должен быть уникален в рамках раздела (категории, типа контента). При коллизии добавляют суффикс:
// slug: "kupit-iphone"
// коллизия → "kupit-iphone-2" или "kupit-iphone-abc12"
Альтернатива — добавлять числовой ID: /post/12345/kupit-iphone. Число гарантирует уникальность, слова — читаемость.
Удаление стоп-слов сокращает URL, но может снизить релевантность. Рекомендация: удалять только очевидно лишние («и», «в», «на», «с») и сохранять значимые («как», «купить», «сделать»).
| Удалять | Оставлять |
|---|---|
| и, в, на, с, к, по, для | как, купить, сделать, лучший |
При изменении slug настройте 301 редирект со старого URL на новый. Иначе теряется ссылочный вес и возможны 404.
/kupit-iphone-14 → 301 → /kupit-iphone-15
Для hreflang используйте разные slug по языкам или поддомены/пути:
/en/buy-iphone-15
/ru/kupit-iphone-15
Консистентность структуры важнее дословного перевода slug.
/blog/12345/seo-guideИнструменты транслитерация и анализ ключевых слов на reChecker помогают быстро сгенерировать и проверить SEO-friendly slug.
Числа в slug допустимы и часто полезны (версии, годы, модели). Спецсимволы (&, +, #) удаляйте или заменяйте. Апострофы и кавычки лучше убрать. Дефис — единственный рекомендуемый разделитель слов.
slugify('iPhone 15 Pro Max');
// "iphone-15-pro-max"
При транслитерации «ъ» и «ь» обычно опускают (пустая строка в таблице). Это сокращает slug и соответствует практике большинства сайтов. Альтернатива — заменять на " и ' соответственно, но такие символы в URL нежелательны.
При изменении URL страницы настройте 301 редирект. В .htaccess (Apache):
RedirectMatch 301 ^/old-slug/?$ /new-slug/
В Nginx:
location = /old-slug {
return 301 /new-slug/;
}
Сохранение ссылочного веса и предотвращение 404 критично для SEO.
Для иерархии категорий используйте вложенные пути: /katalog/smartfony/apple. Каждый сегмент — отдельный slug. Избегайте избыточной вложенности (более 3–4 уровней) — длинные URL хуже воспринимаются и сложнее в поддержке.
Проверяйте, что slug не совпадает с системными путями: /admin, /api, /login, /static и т.д. При коллизии страница может не открываться или отдаваться неправильный контент. Ведите список зарезервированных slug в конфигурации приложения.
В CMS и админках slug часто генерируется автоматически при сохранении заголовка. Реализуйте функцию slugify на бэкенде и вызывайте её при создании/обновлении. Предусмотрите ручное переопределение — иногда автоматический slug не оптимален. Валидация: только a-z, 0-9, -; длина до 100–150 символов.
Перед публикацией проверьте slug через транслитерацию reChecker — корректность отображения кириллицы. Используйте анализатор ключевых слов для страницы с новым URL — убедитесь, что целевая фраза присутствует в пути и контенте.
SEO-friendly URL — результат транслитерации, slugify и проверки на уникальность. Инструменты reChecker ускоряют генерацию и валидацию slug перед публикацией.