Изменение структуры URL постов в WordPress — задача, с которой сталкиваются многие разработчики и владельцы сайтов. Часто хочется сделать адреса более читабельными, добавить дату или убрать категорию, при этом не потерять трафик и не получить массу битых ссылок. В этой статье разберём, как правильно изменить URL постов без пересмотра ссылок, сохраняя SEO и пользовательский опыт.
Почему важно правильно менять URL постов
Когда вы меняете структуру постоянных ссылок (Permalinks) в WordPress, старые URL перестают работать, если не настроен редирект. Это ведёт к ошибкам 404, потере позиций в поисковиках и ухудшению пользовательского опыта. Поэтому изменение необходимо проводить аккуратно и с настройкой перенаправлений.
WordPress по умолчанию позволяет изменять структуру URL в разделе Настройки > Постоянные ссылки. Но после изменения нужно обязательно позаботиться о корректных редиректах.
Как изменить структуру URL и настроить редиректы
Шаг 1: Выбираем новую структуру URL
Например, вы хотите убрать дату из URL, чтобы адреса стали короче и проще. Было:
https://example.com/2024/06/19/post-name/
Стало:
https://example.com/post-name/
Для этого в настройках постоянных ссылок выбираем «Произвольно» и ставим /postname/.
Шаг 2: Обеспечиваем 301 редиректы с старых URL на новые
Чтобы поисковики и пользователи не потеряли доступ к старым страницам, нужно настроить 301 редиректы. Это можно сделать несколькими способами:
- С помощью плагинов (например, Redirection)
- Через файл .htaccess (если сервер Apache)
- Через functions.php и хуки WordPress — более гибкий способ
Пример кода для автоматического 301 редиректа в functions.php
Добавим в functions.php вашей темы следующий код, который перенаправит старые URL с датой на новые без даты:
function wptemy_redirect_old_date_urls() {
if (is_singular('post')) {
global $post;
$current_url = home_url(add_query_arg(array(), $_SERVER['REQUEST_URI']));
$correct_url = get_permalink($post->ID);
if ($current_url !== $correct_url) {
wp_redirect($correct_url, 301);
exit;
}
}
}
add_action('template_redirect', 'wptemy_redirect_old_date_urls');Этот код проверяет, если пользователь зашёл по старому URL с датой, и автоматически перенаправляет на новый корректный URL без даты.
Использование плагина Redirection для управления URL
Плагин Redirection — это удобный инструмент для управления 301 редиректами без знания кода. Вот как им пользоваться:
- Установите и активируйте плагин через админку WordPress.
- Перейдите в меню
Инструменты > Redirection. - Добавьте новое правило редиректа: в поле «Источник» укажите регулярное выражение, соответствующее старой структуре URL, например:
^/\d{4}/\d{2}/\d{2}/(.+)$. - В поле «Цель» впишите
/$1— чтобы сохранить часть URL без даты. - Сохраните правило и протестируйте переходы.
Плагин также ведёт логи 404 ошибок и показывает статистику редиректов, что помогает контролировать процесс.
Проверка и настройка для SEO
После изменения URL и настройки редиректов важно:
- Проверить, что все старые URL корректно перенаправляются с кодом 301.
- Обновить файл sitemap.xml, если вы используете SEO-плагины (Yoast SEO, Rank Math и др.).
- Отправить обновлённую карту сайта в Google Search Console.
- Проверить внутренние ссылки на сайте и при необходимости обновить их.
Если вы используете кэширование или CDN, очистите кеш, чтобы изменения стали видны сразу.
Дополнительные советы для безопасного изменения URL
При работе с URL адресами постов учитывайте следующие моменты:
- Не меняйте структуру URL слишком часто — это негативно влияет на SEO.
- Если у вас большой сайт, тестируйте изменения на тестовом сервере.
- Используйте плагины для управления редиректами, чтобы не засорять файл .htaccess.
- Регулярно проверяйте логи ошибок и редиректов.
Правильное управление URL поможет сохранить позиции сайта в поисковых системах и улучшить удобство пользователей.