Как выглядят стандартные технические адреса Drupal без дополнительной настройки
Из коробки Drupal формирует адреса материалов в виде системного пути наподобие node/123, где число — внутренний идентификатор конкретной записи в базе данных. Такой адрес совершенно непонятен человеку, ничего не говорит поисковой системе о содержимом страницы и не годится для использования в качестве финального публичного адреса сайта.
Ручная настройка псевдонимов URL для отдельных материалов
Базовая функциональность ядра Drupal позволяет вручную задать псевдоним для каждой отдельной страницы, заменяющий технический путь на желаемый человекопонятный адрес. Этот способ подходит для небольшого количества статичных страниц, но становится крайне трудоёмким при работе с сайтом, содержащим сотни или тысячи материалов, требующих отдельной настройки каждого адреса.
Модуль Pathauto как стандартное решение для автоматической генерации адресов
Pathauto — практически обязательный модуль для любого serious-проекта на Drupal, автоматически формирующий псевдонимы адресов на основе заданных администратором шаблонов, использующих значения полей материала — заголовок, категорию, дату публикации. Настройка выполняется один раз, после чего все новые материалы автоматически получают корректный человекопонятный адрес без ручного вмешательства.
Пример шаблона для статей блога:
/blog/[node:field_category]/[node:title]
Результат для конкретной статьи:
/blog/seo/kak-nastroit-chpu-v-drupal
Необходимость дополнительного модуля транслитерации для корректной обработки кириллицы
Pathauto сам по себе не занимается транслитерацией кириллического текста — для этого требуется дополнительный модуль Transliteration, обрабатывающий кириллические символы по определённым правилам ещё до формирования итогового адреса. Без этого модуля Pathauto способен создать адрес с процентно закодированными символами кириллицы, что абсолютно неприемлемо с точки зрения читаемости и SEO.
Поведение системы при последующем изменении заголовка или структуры материала
При изменении заголовка уже опубликованного материала Pathauto по умолчанию способен автоматически сгенерировать новый псевдоним — это поведение стоит настраивать осторожно, поскольку бесконтрольная смена уже проиндексированных адресов создаёт необходимость в корректных редиректах со старого адреса на новый, чтобы не потерять уже накопленную индексацию.
Как Drupal обрабатывает ситуацию конфликта двух одинаковых псевдонимов
Если Pathauto пытается создать псевдоним, уже занятый другим материалом, платформа по умолчанию добавляет к адресу числовой суффикс, чтобы избежать прямого конфликта. Такое поведение решает техническую проблему, но способно приводить к не самым аккуратным адресам вида nazvanie-0, если заранее не продумать более осмысленную логику разрешения подобных совпадений.
Более аккуратный подход — включение в шаблон адреса дополнительного уникализирующего элемента, например, категории материала, что снижает вероятность совпадений ещё на этапе формирования шаблона, а не постфактум через числовой суффикс.
Обеспечение обратной совместимости при массовой миграции старых материалов
При переносе большого объёма ранее существовавших материалов на Drupal с включённым Pathauto стоит отдельно предусмотреть сохранение старых, уже проиндексированных адресов через настройку корректных редиректов, а не полагаться на то, что автоматически сформированные новые псевдонимы совпадут со старой структурой сайта.
Частые вопросы
Обязательно ли устанавливать Pathauto на любой сайт Drupal?
Для сайта с большим количеством динамически создаваемых материалов — да, это практически стандартный модуль, тогда как для очень небольшого статичного сайта можно обойтись и ручной настройкой псевдонимов.
Что произойдёт со старыми адресами при изменении шаблона Pathauto?
Изменение шаблона не затрагивает уже существующие псевдонимы автоматически — для их обновления требуется отдельно запустить массовую перегенерацию, что стоит делать с обязательной настройкой редиректов со старых адресов.
Нужна ли транслитерация, если сайт полностью на латинице?
Нет, модуль транслитерации актуален именно для сайтов с кириллическим содержимым — для полностью англоязычного проекта эта проблема попросту не возникает.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.