← Блог · · Команда ConvertCaseHQ · 6 мин чтения

Слаги URL и SEO: почему побеждает kebab-case

Лучший слаг (slug) URL — это несколько слов строчными буквами, соединённых дефисами: kebab-case-slugs, а не Kebab_Case_Slugs. Документация самого Google рекомендует дефисы вместо подчёркиваний, а поскольку Google считает пути URL чувствительными к регистру, строчные буквы избавляют от случайных страниц-дубликатов. Почти всё остальное, что говорят о слагах (идеальная длина, стоп-слова, расположение ключевых слов), — вопрос здравого смысла, а не правило, и в этой статье мы разделяем одно и другое.

Дефисы или подчёркивания: что на самом деле говорит Google

Полагаться на SEO-фольклор здесь не нужно, потому что Google говорит об этом прямо в своих рекомендациях по структуре URL:

We recommend using hyphens (-) instead of underscores (_) to separate words in your URLs, as it helps users and search engines better identify concepts in the URL. (Мы рекомендуем разделять слова в URL дефисами (-), а не подчёркиваниями (_): так пользователям и поисковым системам проще распознавать понятия в URL.)

Логику понять несложно. Подчёркивания уже используются, чтобы удерживать слова вместе: программисты называют функцию format_date именно потому, что хотят, чтобы имя читалось как единое целое. Дефис же читается как промежуток между отдельными словами. На странице это показано примерами вроде таких:

Путь URLВердикт Google
/summer-clothing/filter?color-profile=dark-greyРекомендуется (дефисы)
/summer_clothing/filter?color_profile=dark_greyНе рекомендуется (подчёркивания)
/greendressНе рекомендуется (слова слиплись)

Обратите внимание на то, чего Google не говорит. Он нигде не утверждает, что URL с подчёркиваниями не может ранжироваться или что его игнорируют. Вам попадутся самоуверенные статьи, которые утверждают именно это; считайте это слухами. В документации — рекомендация с разумным объяснением.

Насколько важны ключевые слова в слаге?

Меньше, чем многие думают. В Google SEO Starter Guide «keywords in the domain name or URL path» (ключевые слова в доменном имени или пути URL) отнесены к тому, на чём не стоит сосредотачиваться, и сказано, что с точки зрения ранжирования они «have hardly any effect beyond appearing in breadcrumbs» (почти ни на что не влияют, кроме отображения в хлебных крошках). В том же руководстве при этом советуют описательные URL, потому что части URL могут появляться в результатах поиска в виде хлебных крошек, и по ним люди судят, полезен ли результат.

Так что честная причина писать хорошие слаги — люди. Слаг вроде /blog/seo-url-slugs-kebab-case говорит, что человек получит, ещё до клика, не ломается при вставке в чат и легко читается вслух. Слаг вроде /p?id=8812 не делает ничего из этого.

Это снимает и распространённое опасение: нужно ли переименовывать все старые URL вида my_post в my-post? Мы бы не стали, если только вы и так не перестраиваете сайт. Смена URL означает настройку редиректов и ожидание, пока поисковые системы подтянутся, а задокументированная выгода невелика. Для всего нового используйте дефисы, а работающие URL не трогайте. Если же вы решите их перенести, как это сделать, рассказывает наше руководство о постоянных ссылках, структуре URL и безопасных редиректах.

Почему слаги URL лучше писать строчными буквами

Доменная часть URL (Example.com) нечувствительна к регистру, а вот всё, что идёт после неё, может быть чувствительно. Документация Google прямо говорит, что обработка URL у него чувствительна к регистру, и приводит пример: /APPLE и /apple считаются двумя разными URL со своим содержимым.

Что будет дальше, зависит от вашего сервера. На многих конфигурациях /Blog/My-Post просто вернёт 404, потому что нет файла или маршрута с таким точным именем. На других любое написание отдаёт одну и ту же страницу, и тихо появляются дубликаты. Совет Google для второго случая: привести весь текст к одному регистру, чтобы было проще понять, что URL ведут на одну страницу.

Очевидный выбор — строчные буквы. Большинство людей набирает URL строчными, и никто не помнит, было это Pricing или pricing. Если ваш сервер уже отвечает на запросы со смешанным регистром, добавьте постоянный редирект с любого пути с заглавными буквами на его строчный двойник. (У доменов и адресов электронной почты правила другие; о них мы рассказываем в статье о регистре текста в доменных именах и адресах электронной почты.)

Как превратить заголовок в аккуратный слаг

Вот что обычно делает генератор слагов, и так же можно действовать вручную:

  1. Привести всё к нижнему регистру.
  2. Удалить апострофы, а не заменять их, чтобы don't превратилось в dont, а не в don-t.
  3. Заменить каждую серию пробелов и знаков препинания одним дефисом.
  4. Обрезать дефисы в начале и в конце.
  5. Решить, что делать с диакритикой и нелатинскими буквами.
  6. Прочитать результат и отредактировать его как человек.

Именно на шестом шаге начинается ремесло. Несколько реальных преобразований с помощью кнопки Slugify в нашем конвертере:

ЗаголовокАвтоматический слагПосле правки
SEO Best Practices for URL Slugs: Why kebab-case Wins (SEO-рекомендации по слагам URL: почему побеждает kebab-case)seo-best-practices-for-url-slugs-why-kebab-case-winsseo-url-slugs-kebab-case
Don't Panic: 10 Tips for Café Owners! (Без паники: 10 советов владельцам кафе!)dont-panic-10-tips-for-cafe-ownerscafe-owner-tips
C++ vs C#c-vs-ccpp-vs-csharp

Первая строка — настоящий слаг этой статьи. Мы убрали «best practices», «why» и «wins», потому что они прибавляют длину, но не смысл. Третья строка показывает, почему шаг редактирования пропускать нельзя: символы вроде + и # несут в этом заголовке весь смысл, а механический слаг их выбрасывает.

Стоп-слова: убирайте воду, сохраняйте смысл

Короткие слова вроде «a», «the» и «of» в английских слагах можно отбросить, чтобы сократить длинный слаг. Но это не правило. Оставляйте любое короткое слово, которое меняет смысл: coffee-without-sugar и coffee-sugar — разные страницы, а «not», «no» и «vs» крошечные, но держат на себе смысл.

Длина

Google не публикует предельной длины слага в символах. Его совет прост: делайте URL простыми и читаемыми. Наше практическое правило — от трёх до шести слов, называющих тему: так слаг читается в хлебных крошках и достаточно короток, чтобы им делиться. Слагу не нужно повторять весь заголовок, и он не должен меняться всякий раз, когда вы слегка правите заголовок.

Диакритика и другие языки

Google рекомендует использовать в URL слова на языке вашей аудитории. В латинском тексте с диакритикой многие генераторы слагов убирают диакритические знаки, так что crème brûlée становится creme-brulee. Обычно это нормально, но иногда меняет слово: немецкое schön (красивый) превращается в schon (уже). Перечитывайте результат. Для письменностей вроде греческой, кириллицы или японской можно оставить исходные буквы; о плюсах и минусах слагов не из ASCII рассказывает наше руководство о постоянных ссылках.

kebab-case и Slugify в ConvertCaseHQ

В нашем конвертере регистра есть и кнопка kebab-case, и кнопка Slugify, и это не одно и то же. Обе приводят текст к нижнему регистру, убирают апострофы, сохраняют нелатинские письменности вроде греческой, кириллицы и японской (пустой слаг никому не нужен) и соединяют слова дефисами. Различия такие:

  • Диакритика: Slugify убирает её у латинских букв (é → e, ł → l, ß → ss). kebab-case сохраняет, так что Café становится café.
  • Ввод в camelCase: kebab-case разбивает его (XMLHttpRequest → xml-http-request), и для кода это то, что нужно. Slugify считает это одним словом (xmlhttprequest).

Ни одна из кнопок не убирает стоп-слова; это ваше решение. Обе считают всё поле ввода одной строкой, так что переводы строк тоже превращаются в дефисы. Преобразуйте по одному заголовку.

Короткий чек-лист по слагам URL

  • Только строчные буквы, и редирект для вариантов со смешанным регистром, если ваш сервер на них отвечает.
  • Дефисы между словами. Без подчёркиваний, без пробелов, без слипшихся слов.
  • Без апострофов, знаков препинания и лишних символов, но переписывайте заголовки, где символы важны.
  • От трёх до шести значимых слов. Убирайте воду, оставляйте слова, которые меняют смысл.
  • Напишите один раз и не трогайте. Стабильный URL лучше идеального.