Как изменить структуру URL сообщений в WordPress без плагинов

В WordPress URL сообщений (постов) по умолчанию формируются на основе настроек постоянных ссылок, например, вида https://site.ru/%postname%/. Однако бывают ситуации, когда нужно изменить структуру URL именно для сообщений, не затрагивая страницы, категории или другие типы записей. В этой статье я расскажу, как это сделать без использования плагинов, только с помощью функций темы и правильных настроек.

Почему важно менять структуру URL сообщений

Изменение URL сообщений помогает повысить SEO сайта, сделать ссылки более удобными и понятными для пользователей, а также адаптировать структуру под бизнес-логику сайта. Например, можно добавить дату публикации, категорию или кастомный префикс.

Кроме того, правильная структура URL помогает избежать конфликтов с другими типами контента, улучшает навигацию и упрощает управление сайтами с большим объемом контента.

Ниже рассмотрим, как изменить структуру URL именно для сообщений, сохранив стабильность и корректность работы сайта.

Изменение структуры URL сообщений через настройки постоянных ссылок

Самый простой способ — изменить настройки Постоянных ссылок в панели администратора WordPress:

  • Зайдите в Настройки > Постоянные ссылки.
  • Выберите один из вариантов или задайте собственную структуру с помощью тегов, например, /%category%/%postname%/ или /blog/%postname%/.
  • Нажмите Сохранить изменения.

Однако при этом структура изменится для всех сообщений, и если нужны более тонкие настройки (например, разные префиксы для разных категорий), потребуется вмешательство в код.

Как изменить структуру URL сообщений программно через фильтр post_type_link

Чтобы изменить ссылку на отдельные сообщения без плагинов, используем фильтр post_type_link. Это позволит нам динамически формировать URL по своему шаблону.

Добавьте следующий код в файл functions.php вашей активной темы (желательно дочерней темы):

function wp7_custom_post_url($post_link, $post) {
    if ('post' === $post->post_type) {
        // Добавляем префикс /blog/ перед именем поста
        return home_url('/blog/' . $post->post_name . '/');
    }
    return $post_link;
}
add_filter('post_type_link', 'wp7_custom_post_url', 10, 2);

В этом примере все URL сообщений будут иметь вид https://site.ru/blog/post-name/. Это удобно, если на сайте есть страницы с такими же слагами, и нужно разграничить их.

Обработка новых правил перезаписи (rewrite rules)

Чтобы WordPress корректно понимал новые URL, необходимо добавить собственные правила перезаписи. Иначе при переходе по новой ссылке будет 404 ошибка.

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

function wp7_add_rewrite_rules() {
    add_rewrite_rule('^blog/([^/]+)/?$', 'index.php?post_type=post&name=$matches[1]', 'top');
}
add_action('init', 'wp7_add_rewrite_rules');

После добавления правил нужно обновить структуру ссылок — зайдите в Настройки > Постоянные ссылки и нажмите Сохранить изменения без изменений.

Добавление даты публикации в структуру URL сообщений

Если нужно добавить дату публикации в URL, например, /2024/06/28/post-name/, для SEO и удобства, можно сделать так.

function wp7_post_url_with_date($post_link, $post) {
    if ('post' === $post->post_type) {
        $date = get_the_date('Y/m/d', $post);
        return home_url("/{$date}/{$post->post_name}/");
    }
    return $post_link;
}
add_filter('post_type_link', 'wp7_post_url_with_date', 10, 2);

function wp7_add_rewrite_rules_date() {
    add_rewrite_rule('^([0-9]{4})/([0-9]{2})/([0-9]{2})/([^/]+)/?$', 'index.php?post_type=post&name=$matches[4]', 'top');
}
add_action('init', 'wp7_add_rewrite_rules_date');

Не забудьте обновить настройки постоянных ссылок после добавления кода.

Использование плагина Clearfy Pro для управления URL

Если вы хотите упростить управление структурой URL без ручного кода, рекомендуем обратить внимание на плагин Clearfy Pro. Он позволяет гибко настраивать URL сообщений, убирать префиксы, оптимизировать структуру под SEO и многое другое.

Преимущества Clearfy Pro:

  • Интуитивно понятный интерфейс настройки URL.
  • Удаление /category/, /tag/ и других префиксов.
  • Автоматическая генерация ЧПУ под SEO.
  • Поддержка разных типов записей и таксономий.

Обработка возможных ошибок и советы по отладке

После изменения структуры URL могут возникнуть ошибки 404. Основные причины и решения:

  • Не обновлены правила перезаписи — зайдите в Настройки > Постоянные ссылки и сохраните изменения.
  • Конфликты с другими плагинами или темами — временно отключите их и проверьте работу.
  • Кэш браузера или плагинов — очистите кэш.

Для отладки можно включить WP_DEBUG и посмотреть логи ошибок. Также полезно использовать плагин Redirection для отслеживания 404 и перенаправлений.

Выводы и рекомендации по работе со структурой URL сообщений

Изменение структуры URL сообщений в WordPress — мощный инструмент SEO и удобства пользователей. Рекомендуется:

  • Планировать структуру URL заранее, чтобы избежать частых изменений.
  • Использовать фильтр post_type_link и правила перезаписи для тонкой настройки.
  • Обязательно обновлять правила перезаписи после изменений.
  • Тестировать новые URL на предмет ошибок 404 и конфликтов.
  • При необходимости использовать профессиональные плагины, такие как Clearfy Pro, для удобства и безопасности.

Такой подход обеспечит стабильную и SEO-дружелюбную работу сайта на WordPress.

Как установить ограничения на количество публикаций для пользователей в WordPress
02.03.2026
Как изменить авторизацию в WordPress через AJAX без плагинов
15.12.2025
Как создать динамические формы с помощью WPForms в WordPress
22.12.2025
Как создать автоматические бэкапы в WordPress с помощью плагинов
10.02.2026
Как сделать динамические заголовки H1 в WordPress для улучшения SEO
24.01.2026