Настройка ЧПУ (человеко-понятных УРЛ) permalinks

Настроить ЧПУ очень важно, т.к. это играет большую роль в оптимизации сайта. Рассмотрим настройку permalinks для wordpress.

В админке в пункте «параметры» переходим в «постоянные ссылки» (или Settings -> Permalinks, если английская версия wordpress). В «общих настройках» (Common Settings) нам предлагается несколько стандартных вариантов, если они нам не подходят — есть последнее поле «произвольно» (custom structure). В нем мы можем задать формат, какой пожелаем, например:

/%category%/%postname%/

Настройка ЧПУ постов в wordpress

Вот список тегов для формирования ЧПУ:

  • %year%
    Год поста, например 2012
  • %monthnum%
    Месяц поста, например 05
  • %day%
    День поста, например 13
  • %hour%
    Час поста, например 18
  • %minute%
    Минуты поста, например 30
  • %second%
    Секунды поста, например 40
  • %post_id%
    ID поста, например 75
  • %postname%
    Ярлык (slug) поста. В случае использование этого тега, необходимо поставить плагин для транслитерации ярлыка (например cyr2lat)
  • %category%
    Ярлык (slug) категории. Если категория имеет родительскую — она тоже добавится в url. Если запись состоит в нескольких категориях — в url попадет только одна из них, с наименьшим номером.
  • %author%
    Автор поста

Ниже есть поля для настройки ЧПУ страниц категорий и тегов.

Настройки ЧПУ для страницы категории и тегов

В этих полях мы можем изменить префикс перед ярлыком категории или тега в url. Например, по умолчанию url категории выглядит так:

/category/category-slug/

Заполнив поле «префикс для рубрик» (Category base), например «topics», мы получим:

/topics/category-slug/

Чтобы убрать category из url

Добавить следующий код в functions.php

// remove "category" from url
function removeCategory($catlink) {
    return str_replace('/category', '', $catlink);
}
add_filter('category_link', 'removeCategory', 1, 1);

Код сработает при условии, что значение ЧПУ для категорий стоит по умолчанию.
Недостаток этого метода — не будет работать постраничная навигация.

Второй вариант, в настройках ЧПУ для записей выбрать произвольно и в поле для ввода шаблона ссылки указать

/%category%/%postname%.html

А в префиксе для категорий поставить «.» точку.

В случае если вы по какой-то причине хотите сохранить структуру /%category%/%postname%/, можно воспользоваться плагином WP No Category Base. Находится он здесь wordpress.org/extend/plugins/wp-no-category-base/

Бывает проблема, когда стоит плагин cyr2lar или rus-to-lat, то ярлык записи некорректно транслитерируется, получается строка из символов dh. Это происходит из-за проблем с кодировкой.

Статья оказалась полезной? Вырази благодарность - поделись в соцсетях

Комментирование отключено