Управление и настройка постоянных сслылок в WordPress

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

Что такое постоянная ссылка в WordPress?

Постоянная ссылка или permanent link ведет на определенную страницу или пост на сайте. Когда вы посылаете кому-то такую ссылку, вы ожидаете, что она не изменится и будет постоянной.

WP генерирует такие ссылки для каждого поста и страницы, которые можно редактировать.

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

Страшные стандартные постоянные ссылки

У всякого созданного поста и страницы есть свой уникальный идентификатор, называемый ID. Это число, которое позволяет уникально идентифицировать ваши посты и страницы, таким образом, оно идеально подходит под систему постоянных ссылок по умолчанию. Ее и использует WP.

Предположим, вы создали пост с ID 308. Тогда постоянная ссылка на него будет http://site.ru/?p=308. По определению ID уникален, поэтому WP точно знает, какой пост нужно вытащить. Для этого он разбирает URL и использует значение ключа p.

Это простая система с большим преимуществом: она работает на любом сервере, т.е. ее может использовать любой. Однако такие постоянные ссылки некрасивые и по ним нельзя распознать пост. Поэтому существуют красивые постоянные ссылки.

Активация красивых постоянных ссылок в WordPress

Красивые постоянные ссылки (или дружелюбные к поисковикам URL’ы) обычно состоят из нескольких слов. Адрес может состоять из слов заголовка поста, на который он ведет. Например, http://site.ru/my-blog-post. Таким образом можно заранее понять, какой контент нас ожидает на странице или в посте. Кроме того, такие ссылки читаются поисковиками, что в свою очередь может повлиять на рейтинг в поисковой выдаче.

Выбор структуры постоянных ссылок

Для активации красивых ссылок перейдите в панели администратора WP в меню Settings > Permalinks. Перед вами будет несколько опций, среди которых можно выбрать структуру постоянных ссылок.

Страшные постоянные ссылки установлены по умолчанию с помощью параметра p. Среди других вариантов есть красивые ссылки, где в примерах можно посмотреть, какая информация используется. Если вам не понравились стандартные опции WP, вы можете выбрать собственную структуру с помощью последней опции «Custom Structure».

В эту структуру можно добавлять любой текст (только используйте URL-friendly символы!). Некоторые теги позволяют включать такую информацию как год поста или его заголовок. Такие теги называются структурными тегами. Данный термин описывает переменные, используемые в постоянных ссылках. Не путайте со стандартными тегами WP для разграничения контента.

В своей структуре можно задать дату и время поста. Год можно указать с помощью %year%. Месяц — %monthnum%, день — %day%. Время указывается с помощью %hour%, %minute% и %second%.

Теги %category% и %author% позволяют добавить еще больше информации, в частности о категории и авторе. Если категорий много, %category% возьмет только первую в алфавитном порядке.

И наконец, мы подобрались к двум важным тегам %post_id% и %postname%, которые отвечают за ID поста и заголовок соответственно. Обратите внимание, что %postname% не включает точный заголовок поста. Это просто описательная часть адресной строки с URL-friendly символами, представляющая заголовок.

Если вы выбираете свою структуру, вам необходимо использовать %post_id% или %postname%, или оба. Без этих тегов вы не сможете обеспечить полную уникальность ссылки.

Возьмем абсурдно длинный пример. Для добавления даты, времени и автора поста необходимо использовать следующую структуру: /%year%/%monthnum%/%day%/%hour%:%minute%:%second%/%postname%/written-by-%author%

Мы получим примерно следующий URL: http://site.ru/2016/08/02/08:06:22/hello-world/written-by-jeremy

Категории и теги

Красивые ссылки можно использовать не только для постов. На деле их удобно использовать для категорий, тегов и архивных страниц. Если выбрать любой вариант кроме «страшных постоянных ссылок», WP автоматически активирует красивые ссылки для этих страниц.

Тогда вместо http://site.ru/?cat=1 для категорий вы получите http://site.ru/category/uncategorized/. У тегов описательная часть получит префикс /tag/. Для архивных страниц вы получите виртуальные каталоги типа http://site.ru/2016/08/. Префикс для категорий и тегов можно поставить свой, для этого необходимо заполнить поля в секции «Optional».

Редактирование файла .htaccess

Красивые ссылки для работы используют файл .htaccess. Этот файл должен находиться в корне установки WP. Он перенаправляет все запросы посетителей на файл index.php, где они парсятся, после чего отображается правильная страница.

Если WP может редактировать этот файл, то для активации красивых постоянных ссылок необходимо всего лишь нажать кнопку «Сохранить изменения» в меню Settings > Permalinks. Однако в некоторых случаях (зависит от конфигурации хостинга) WP не может сам редактировать файл .htaccess, поэтому придется редактировать его самому.

Если WP не может сам изменить файл, вы увидите сообщение внизу на странице постоянных ссылок, указывающее, что необходимо отредактировать .htaccess. Если в корне WP установки нет этого файла, создайте его и скопируйте текст из сообщения. Если файл есть, вставьте текст из сообщения с помощью текстового редактора.

Почти красивые ссылки

Бывают случаи, когда нельзя использовать красивые ссылки. Если у вас нет доступа к .htaccess, вы не сможете воспользоваться красивыми ссылками. Однако это не означает, что нужно использовать страшные ссылки.

В WP есть переходной вариант: «почти красивые ссылки». В таких ссылках есть префикс /index.php/. Во всем остальном эти ссылки ничем не отличаются от просто красивых. Те же самые опции и теги. Например, чтобы использовать наш пример сверху (с очень большой ссылкой) с почти красивыми ссылками, необходимо заполнить поле «Custom Structure» следующим образом: /index.php/%year%/%monthnum%/%day%/%hour%:%minute%:%second%/%postname%/written-by-%author%

Получим следующий URL: http://site.ru/index.php/2016/08/02/08:06:22/hello-world/written-by-jeremy

И не нужен файл .htaccess.

Если активированы почти красивые постоянные ссылки, категории, теги и архивные страницы также получат почти красивые URL. Структура будет такая же, как у красивых ссылок, только с префиксом /index.php/.

Редактирование описательной части поста

Если в структуре постоянных ссылок вы используете %postname%, то URL’ы можно кастомизировать еще больше. Можно редактировать описательную часть поста, генерируемую WP.

По умолчанию WP конвертирует заголовок, чтобы в нем остались только URL-friendly символы. Например, пробелы заменяются на тире, специальные символы также конвертируются или просто удаляются: ‘é’ станет ‘e’, ‘à’ превратится в ‘a’, а символы ‘?’ и ‘!’ будут удалены.

WP не удаляет маленькие слова типа «the» и «for», которые также называют стоп словами. Эти слова не несут особого смысла в URL, и, может быть, вы захотите их удалить. Это можно сделать, но только в каждом посте отдельно.

В некоторых SEO плагинах стоп слова удаляются автоматически. Так что возможно у вас уже есть этот функционал. Amit Diwan написал замечательную статью с обзором популярных SEO плагинов.

Ниже показано поле редактирования заголовка поста, под которым показана сгенерированная ссылка. Рядом с ней расположена кнопка «Edit», с помощью которой можно редактировать ссылку на пост.

После внесения изменений в описательную часть нажмите «Ок». WP проверит новый URL на валидность. Если вбить «Hello World!», то получится «hello-world», например.

Знакомство с постоянными ссылками в WordPress

Заключение

Красивые и почти постоянные ссылки удобно использовать для создания читаемых и SEO-friendly URL’ов. В них может храниться полезная информация, например, дата поста или его заголовок. Ссылки такого типа имеют очень гибкую настройку, можно подобрать любую структуру под свой сайт.

Не спешите с выбором структуры. Например, если поменять структуру ссылок постов, старые URL будут вести на страницу 404, из-за чего придется делать редирект со всех таких ссылок. Поисковые движки не любят, когда меняется структура ссылок, как и люди, которые оставляют ссылки на ваши посты на форумах, например.

4710