Настраиваем SEF URL (ЧПУ) в WordPress

В WordPress можно настроить разными способами как будет формироваться URL адрес для записей. Мне больше всего нравится, если запись открывается по ссылке вида: http://site.ru/nazvanie-rubriki-latinizey/nazvanie-zapisi-latinizey

1. Настраиваем постоянные ссылки

Способ формирования URL для записей настраивается на странице Настройки > Постоянные ссылки. Для нашего варианта нужно выбрать в общих настройках пункт «Произвольно» и вставить туда:

/%category%/%postname%/

При формировании URL вместо %postname% будет подставляться ярлык записи.

Вместо %category% будет подставляться ярлык рубрики, в которой расположена запись. А если рубрика записи является подрубрикой — то вместо %category% подставится строка вида:

Перечислю для полноты картины все прочие теги для формирования постоянных ссылок:

%year% — подставится год записи (4 числа. Например, «2017»)
 %monthnum% — месяц (2 числа. например, «05»)
%day% — день (например, «28»)
%hour% — час (например, «15»)
%minute%  — минуты (например, «43»)
%second% — секунды (например, «33»)
%post_id% — уникальный ID записи (например, «423»)
%author% — ярлык автора записи

2. Где можно задать ярлыки рубрик и записей?

Ярлыки статей автоматически создаются из названия статьи: все буквы переводятся в нижний регистр, пробелы заменяются дефисами,  а спецсимволы удаляются.

Ярлыки можно поменять на странице создания или редактирования записи:

Ярлыки рубрик можно менять на странице редактирования рубрик:

3. Транслитерация ярлыков

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

Для автоматической транслитерации нужно установить  плагин WP Translitera. Он автоматически транслитерирует ярлыки страниц, записей, рубрик и тегов при их добавлении. Может он и преобразовать уже существующие записи, рубрики, и.т.д.

Кроме того, если его попросить, он может транслитерировать имена загружаемых файлов. Тогда удобно делать так: на компьютере изображения сохранять кириллицей. А при загрузке — имя файла автоматически транслитерируется. А в заголовок изображения попадёт русский текст.

4. Убераем «category/» из URL рубрики

Теперь у нас URL записи будет иметь вид:

К сожалению, если мы сотрём из URL последнюю его часть ( yarlik-zapisi)  и попробуем попасть на страницу:

то мы не попадём на страницу рубрики, а получим 404 ошибку. Поскольку страница рубрики находится по немного другому адресу:

Это не очень плохо. Но при желании можно это исправить установкой плагина  No Category Base (WPML)

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