Slug категории в WordPress — это часть URL, которая отвечает за адрес категории на сайте. По умолчанию WordPress создает slug автоматически на основе названия категории, но иногда нужно изменить его вручную для улучшения SEO, удобства пользователей или интеграции с внешними системами. В этой статье мы подробно разберем, как изменить slug категории WordPress без использования плагинов, а также рассмотрим несколько практических примеров и советы по безопасности.
Что такое slug категории и зачем его менять
Slug — это уникальный идентификатор категории в URL. Например, если у вас есть категория "Новости", то URL может выглядеть так: https://example.com/category/novosti/, где novosti — это slug категории. Иногда автоматически созданный slug не подходит по нескольким причинам:
- Длинный или неудобочитаемый slug;
- Наличие в slug нежелательных символов или транслитерация, которая плохо воспринимается;
- Изменение структуры URL для лучшего SEO;
- Нужно сделать slug более понятным для пользователей или интеграции с другими сервисами.
Изменение slug категории напрямую влияет на URL, поэтому важно делать это аккуратно, чтобы не потерять трафик и не получить ошибки 404.
Как изменить slug категории через админку WordPress
Самый простой способ изменить slug категории — это через админку WordPress. Для этого:
- Перейдите в раздел Записи > Рубрики;
- Найдите нужную категорию и нажмите на ее название или ссылку "Редактировать";
- В поле Ярлык (slug) введите нужное значение;
- Нажмите кнопку "Обновить".
После этого slug изменится, и URL категории будет обновлен. Но если ваш сайт уже проиндексирован поисковиками, рекомендуется настроить 301 редиректы со старого URL на новый, чтобы сохранить позиции.
Изменение slug категории программно через функции темы или плагина
Если вам нужно изменить slug категории программно, например, при импорте данных или массовом обновлении, можно использовать хук wpinfo_change_category_slug с функцией на основе стандартных WordPress функций.
Пример функции для изменения slug категории по ID:
function wpinfo_change_category_slug($category_id, $new_slug) {
$category = get_category($category_id);
if (!$category) {
return new WP_Error('no_category', 'Категория с таким ID не найдена');
}
$args = array(
'slug' => sanitize_title($new_slug)
);
$updated = wp_update_term($category_id, 'category', $args);
if (is_wp_error($updated)) {
return $updated;
}
return true;
}
// Пример вызова
$result = wpinfo_change_category_slug(12, 'novyj-slug');
if (is_wp_error($result)) {
echo 'Ошибка изменения slug: ' . $result->get_error_message();
} else {
echo 'Slug категории успешно изменен';
}
Эта функция получает категорию по ID, проверяет ее существование и обновляет slug через wp_update_term(). Используйте sanitize_title() для безопасности и корректности slug.
Автоматическая смена slug при создании категории
Если вы хотите, чтобы при создании новых категорий slug всегда формировался по определенному правилу, можно использовать фильтр wp_insert_term_data:
add_filter('wp_insert_term_data', 'wpinfo_custom_slug_on_create', 10, 3);
function wpinfo_custom_slug_on_create($data, $term, $taxonomy) {
if ($taxonomy === 'category') {
$data['slug'] = 'cat-' . sanitize_title($term['name']);
}
return $data;
}
В данном примере slug категории будет начинаться с префикса cat-, что удобно для группировки или идентификации.
Как избежать проблем после изменения slug категории
При смене slug важно помнить о следующих моментах:
- Проверьте, что новый slug не конфликтует с существующими таксономиями или страницами сайта;
- Настройте 301 редиректы со старых URL на новые, чтобы сохранить SEO и не потерять посетителей. Для этого можно использовать плагин Clearfy Pro, который позволяет удобно управлять редиректами;
- Очистите кеш сайта и CDN, если используете;
- Проверьте карту сайта и обновите ее, чтобы поисковые системы быстрее узнали об изменениях.
Примеры плагинов для управления slug и URL категорий
Хотя мы рассмотрели ручное и программное изменение slug, существуют плагины, которые упрощают эту задачу:
- Permalink Manager Lite — позволяет менять URL для категорий и любых таксономий через удобный интерфейс;
- Yoast SEO — кроме SEO-оптимизации, позволяет влиять на структуру URL;
- Clearfy Pro — предлагает функции для управления редиректами и оптимизации URL, что полезно после смены slug.
Все эти плагины доступны на WPSHOP.ru.
Заключение: что важно помнить при работе со slug категорий
Изменение slug категории — полезная операция для улучшения структуры сайта и SEO. Главное — делать это осознанно, внимательно настраивая редиректы и проверяя корректность новых URL. Встроенные возможности WordPress позволяют легко менять slug через админку, а программный подход дает гибкость для автоматизации и массовых изменений.