Настройка permalink в WordPress

Reading time ~3 minutes

В первую очередь, что за загадочное слово -

1
permalink
? Все просто - это сокращение от permanent link - постоянная ссылка.

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

http://localhost/word1/?p=123

Ужасающий в том смысле, что такая ссылка для человека совершенно не читаемая. Сможете ли вы сказать, что находится по адресу, указанному в этой ссылке? Конечно нет!

Это для системы CMS WordPress понятно, что в этой ссылке указан адрес на пост с

1
id=123
(порядковый номер записи 123). И если система покопается в своей базе данных, то она (может быть) найдет запись с таким идентификатором и выдаст ее “на гора”. А для человека такая запись ни о чем не говорит.

Поэтому в настройках WordPress имеется специальный раздел, в котором можно настроить вид постоянных ссылок на понятный человеку (ЧПУ - Человеко-Понятный Урл). Размещен этот раздел по адресу “Настройки” - “Постоянные ссылки”.

Система WordPress предлагает на выбор пять вариантов постоянных ссылок (permalink) - один по умолчанию и четыре готовых (на выбор):

  • День и название поста - http://localhost:7788/third/2014/04/20/sample-post/
  • Месяц и название поста - http://localhost:7788/third/2014/04/sample-post/
  • Цифры - http://localhost:7788/third/archives/123
  • Название записи - http://localhost:7788/third/sample-post/

По большому счету, с каждым из этих четырех видов permalink все понятно. Я имею ввиду, в каком виде она предоставляет ссылку.

Но, помимо этих четырех permalink, имеется еще один вариант:

  • Произвольно - http://localhost:7788/third

В этом случае администратору сайта предоставляется возможность настроить вид permalink произвольно, руководствуясь специальными переменными. Ниже приведен список таких переменных, с указанием примера в скобках:

  • %year% - год публикации записи (2014)
  • %monthnum% - порядковый номер месяца публикации записи (05)
  • %day% - порядковый день месяца публикации записи (21)
  • %hour% - час публикации записи (09)
  • %minute% - минута публикации записи (12)
  • %second% - секунда публикации записи (13)
  • %post_id% - идентификатор записи (123)
  • %postname% - имя записи (about-the-permalink)
  • %category% - категория записи (wordpress)
  • %author% - автор записи (zencoder)
  • %tag% - метка записи (css)

Благодаря этим переменным можно создать permalink практически любого вида и под любые потребности.

К примеру, для блога с регулярными записями без тематики подойдет permalink следующей конструкции:

/%year%/%monthnum%/%day%/%postname%/

// Пример:
http://localhost:7788/third/%year%/%monthnum%/%day%/%postname%/

Для блога с нерегулярными записями и записи без тематики подойдет permalink вида:

/url/%postname%/

// Пример:
http://localhost:7788/third/url/%postname%/

Для блога с регулярными тематическими записями подойдет краткий permalink:

/%category%/%postname%/

// Пример:
http://localhost:7788/third/%category%/%postname%/

Настройку постоянных ссылок необходимо выполнять заранее, то есть в самом начале создания сайта на WordPress. Иначе, когда записей будет много и вы решите изменить вид постоянных ссылок для своего сайта, повторная индексация записей может произойти со сбоями.

Еще одним важным моментом при самостоятельной настройке permalink является то, что любая из них должна заканчиваться переменной %postname% или %post_id%. В этом случае каждая из существующих в системе WordPress permalink будет указывать на конкретную запись. Если вы посмотрите на примеры выше, то заметите, что ссылки построены именно по такому принципу.

Данный материал является отрывком из книги Криса Койера “Digging Into WordPress”, пересказанным автором сайта своими словами.

На этом все.


Ошибка с версией Node.js

Довольно часто в своей практике сталкиваюсь с такой ошибкой, когда запускаю локально сторонний проект:```bash$ npm run start> dom-moving-...… Continue reading

Mangling Angular

Published on February 15, 2024

Constructor parameter without access modifier

Published on February 04, 2024