Здравствуйте, друзья! Очень рад всех вас видеть! Темой сегодняшней статьи будет настройка ЧПУ Drupal и создание редиректа 301, позволяющего создать переадресацию со старых URL адресов на новые. Для этого нам понадобятся аж 4 новых модуля: Transliteration, Pathauto, Token и Global Redirect. Не стоит пугаться, все модули очень простые, поэтому создание ЧПУ Drupal не займет много времени.
Первоначало URL адреса страниц в Drupal имеют следующий вид:
http://vash_sayt.ru/node/1
Что этот адрес может нам сказать? Только то, что это первая нода (материал №1). Не очень то информативно.
Другое дело человеко-понятные урл, который для данной статьи имел бы вид:
http://vash_sayt.ru/chpu-v-drupal-sozdanie-cheloveko-ponyatnyx-url-redirekt-301.html
Как видите, заголовок страницы (title) транслируется в латиницу и добавляется в URL адрес. Глядя на такой адрес, можно сказать, о чем эта страница. Сразу видна ее тематика и даже содержание. Такая информативность полезна как для пользователей, так и для поисковых систем.
За создание ЧПУ Drupal отвечает модуль Pathauto. Одна проблема: он воспринимает задачу добавления заголовка станицы в ее адрес слишком буквально. Он просто берет title таким какой он есть — на русском языке, и кидает его в URL адрес. Вот только поисковые системы не воспринимают буквы русского алфавита, они преобразуют их в набор не понятных человеку символов.
Данную проблему решает модуль Transliteration. Он автоматически преобразует русские буквы в латинские и передает созданный правильный title в Pathauto.
Еще такой момент: у Pathauto есть одна зависимость — модуль Token. Пока не стоит задумываться, какие функции выполняет этот модуль, просто он должен быть в системе, чтобы Pathauto заработал.
Как видите, за человеко понятные урл в Drupal отвечает связка трех модулей:
Скачайте все три по приведенным ссылкам и установите в Drupal. Для включения Pathauto потребуется сначала активировать Token. Если в системе имеется Localization update, то русификация модулей пройдет автоматически после их активации.
Настойки Transliteration можно не трогать, а Token и вовсе не имеет настроек. Так что остается только Pathauto. Его настройки располагаются в разделе «Конфигурация» — «Поиск и метаданные» — «Синонимы URL».
Нам нужна вкладка «Шаблоны». Здесь задаются шаблоны, в соответствии с которыми будут формироваться ЧПУ в Drupal. Я установил следующие значения по умолчанию:
- Пути материалов: [node:title].html
- Пути терминов таксономии: [term:vocabulary]/[term:name].html
- Пути пользователя: users/[user:name].html
Всего три шаблона. Как видите, я задал окончание .html. Оно подчеркивает, что страница имеет статический вид. Это нравится поисковым системам.
Сохраняем шаблоны и переходим на вкладку «Настройки». Здесь нам нужна только одна опция — поставьте галочку напротив «Транслитерировать перед созданием синонима». Сохраните внесенные изменения.
Переходим в раздел «Удалить синонимы», отмечает первый пункт «Все синонимы» и жмем «Удалить синонимы сейчас!».
Остается только сгенерировать новые ЧПУ в соответствии с заданными нами шаблонами. Переходим на вкладку «Массовое обновление», отвечаем все три пункта и жмем «обновить».
Если надумаете что-то поменять в шаблонах, то после внесения изменений повторите последние два шага: удалите старые синонимы и создайте новые.
Все созданные человеко понятные урл и оригинальные адреса страниц представлены на вкладке «Список».
Редирект 301 в Drupal
Хорошо, если ЧПУ вы настроили сразу после установки Drupal, когда опубликованных материалов еще нет. Но что делать, если на сайт уже состоит из нескольких страниц, которые успели попасть в поисковые выдачи? Смена их адресов повлечет появление дубликатов и недоступных страниц с ошибкой 404.
Чтобы избежать этого, необходимо настроить редирект 301, который бы переадресовывал пользователей и поисковых ботов со старых адресов на новые. Посетители даже не заметят этого, а поисковые системы со временем склеят обе страницы во едино.
Для решения данной задачи понадобится модуль Global Redirect. Он автоматически находит дубликаты страниц и настраивает редирект 301. Просто
Вот и все. Спасибо за внимание! Берегите себя!