Одной из ключевых задач при настройке WordPress-сайта является организация структуры постоянных ссылок — permalinks. От правильного выбора структуры зависит не только удобство пользователей и восприятие ссылок, но и SEO-показатели сайта. В этой статье мы подробно разберём, как настроить оптимальную структуру permalinks в WordPress, какие есть варианты и как избежать типичных ошибок, а также приведём практические примеры с кодом.
Что такое permalinks и зачем нужна их оптимизация
Permalinks — это постоянные URL-адреса постов, страниц и других элементов сайта. По умолчанию WordPress использует не слишком удобную структуру с параметрами, например https://example.com/?p=123. Такая ссылка не информативна ни для пользователя, ни для поисковых систем.
Оптимизированная структура permalinks делает URL понятным, читаемым и семантически насыщенным, что улучшает юзабилити и SEO. Например, URL https://example.com/kak-nastroit-permalinks сразу даёт понять, о чём страница.
Кроме того, правильная структура облегчает управление сайтом и интеграцию с внешними сервисами.
Основные типы структур permalinks в WordPress
В WordPress можно выбрать несколько вариантов структуры URL из админки или задать собственную. Основные варианты:
- Plain —
?p=123. Не рекомендуется. - День и название —
/2024/06/27/post-name/. Подходит для новостных блогов с хронологией. - Месяц и название —
/2024/06/post-name/. Немного проще, чем предыдущий. - Числовой —
/archives/123. Тоже не очень SEO-дружелюбный. - Название записи —
/post-name/. Оптимальный вариант для большинства сайтов. - Пользовательская структура, в том числе с использованием таксономий и произвольных параметров.
Для SEO и удобства пользователей чаще всего рекомендуют использовать структуру с названием записи или с таксономиями, если это уместно.
Как изменить структуру permalinks в WordPress
Изменить структуру можно в админке: Настройки → Постоянные ссылки. Там можно выбрать один из шаблонов или создать свой, используя шаблоны тегов:
%year%— год публикации%monthnum%— месяц%day%— день%postname%— слаг записи%category%— категория%author%— автор- и другие.
Например, можно задать структуру /%category%/%postname%/ — это создаст URL вида https://example.com/novosti/novaya-statya/.
После изменения структуры важно проверить работу ссылок и настроить 301 редиректы со старых URL, чтобы не потерять трафик и позиции в поисковиках.
Проблемы и решения при смене структуры permalinks
Смена структуры постоянных ссылок может привести к появлению ошибок 404 и потерям трафика. Чтобы этого избежать, нужно:
- Сделать резервную копию сайта и базы данных.
- Настроить редиректы со старых URL на новые. Для этого можно использовать плагины или добавить правила в файл
.htaccess. - Проверить и обновить внутренние ссылки, если они прописаны статично.
- Очистить кеш сайта и браузера.
- Проверить sitemap и файлы robots.txt.
Пример правила редиректа для .htaccess (если старый формат был с параметром ?p=):
# Редирект со старых URL с параметром p на новые
RewriteCond %{QUERY_STRING} ^p=([0-9]+)$
RewriteRule ^$ /?p=%1 [R=301,L]
Пример плагина для автоматической оптимизации permalinks: cyrtolat-permalink-fixer
Для автоматизации и контроля структуры permalinks можно создать простой плагин, который будет, например, автоматически транслитерировать категории и посты в латиницу, а также проверять и исправлять ошибки.
Пример минимального кода плагина, который добавляет фильтр на создание URL:
<?php
/**
* Plugin Name: Cyrtolat Permalink Fixer
* Description: Автоматическая транслитерация и оптимизация permalinks.
* Version: 1.0
* Author: cyrtolat.ru
*/
function cyrtolat_sanitize_title($title) {
$cyr = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я',
'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я');
$lat = array('a','b','v','g','d','e','e','zh','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','ts','ch','sh','sht','','i','','e','yu','ya',
'A','B','V','G','D','E','E','Zh','Z','I','Y','K','L','M','N','O','P','R','S','T','U','F','H','Ts','Ch','Sh','Sht','','I','','E','Yu','Ya');
return str_replace($cyr, $lat, $title);
}
add_filter('sanitize_title', 'cyrtolat_sanitize_title', 10, 1);
// Можно расширить функционал плагина для проверки структуры и автоматических редиректов
?>
Этот код заменяет кириллицу в URL на латиницу, что улучшает восприятие ссылок и их индексирование поисковиками.
Рекомендации по выбору структуры permalinks под разные типы сайтов
Для блога или информационного сайта лучше использовать структуру /%postname%/ — она проста и эффективна.
Для новостных порталов с хронологией подойдут структуры с датой, например /%year%/%monthnum%/%postname%/ — это удобно для архивации и навигации.
Магазинам на WooCommerce рекомендуется использовать /product/%productname%/ или включить категории, чтобы сделать URL более осмысленными.
Если на сайте много таксономий и типов записей, можно создавать пользовательские структуры, например /%category%/%postname%/ для блога и /portfolio/%postname%/ для портфолио.
Выводы и практические советы
Оптимальная структура permalinks — это важный инструмент для улучшения SEO, удобства пользователей и технического обслуживания сайта. Правильно выбранный формат URL упрощает навигацию, делает ссылки более понятными и улучшает индексацию поисковиками.
Не забывайте делать резервные копии и настраивать редиректы при смене структуры, чтобы избежать потерь трафика и ошибок.
Используйте плагины или собственные функции для автоматической транслитерации и контроля структуры URL, чтобы поддерживать единый стиль на всем сайте.
Экспериментируйте с вариантами, но всегда ориентируйтесь на конечного пользователя и поисковые системы.