В WordPress часто используется множество таксономий — категорий, меток, а также кастомных таксономий. Если не настроить их ЧПУ (человекопонятные URL) корректно, можно столкнуться с проблемами, связанными с дублями URL, что негативно сказывается на SEO и удобстве пользователей. В этой статье подробно разберём, как сделать уникальные URL для таксономий в WordPress, а также приведём примеры кода и советы по работе с популярными плагинами.
Почему важны уникальные URL для таксономий: SEO и UX
Дубликаты страниц — это частая проблема, когда разные URL ведут на один и тот же контент. Например, у вас есть таксономия «жанр» и таксономия «тема», и у обоих может быть термин с одинаковым именем или слагом. Если WordPress не сможет различать URL, поисковики увидят дубли, что приведёт к штрафам и снижению позиций.
Кроме того, уникальные и понятные URL удобны для пользователей — они легко ориентируются в структуре сайта и могут быстрее найти нужную информацию.
Для решения этих задач можно использовать правильную настройку таксономий, правила перезаписи URL (rewrite rules) и подходящие плагины.
Настройка пользовательских таксономий с уникальными URL в WordPress
Регистрация таксономии с уникальным префиксом
При регистрации кастомной таксономии с помощью функции register_taxonomy() важно указать параметр rewrite так, чтобы URL не пересекались с другими таксономиями или типами записей.
Пример регистрации таксономии с уникальным префиксом:
function wphow_register_taxonomy_genre() {
$labels = array(
'name' => 'Жанры',
'singular_name' => 'Жанр',
);
$args = array(
'labels' => $labels,
'public' => true,
'rewrite' => array('slug' => 'genre-wphow', 'with_front' => false),
'hierarchical' => true,
);
register_taxonomy('genre', array('post'), $args);
}
add_action('init', 'wphow_register_taxonomy_genre');Здесь в качестве слага для таксономии «жанр» выбран префикс genre-wphow, что гарантирует уникальность URL.
Изменение базового префикса для таксономий WordPress
По умолчанию таксономии используют префикс, совпадающий с их слагом, но можно изменить базовый префикс для всех таксономий определённого типа, чтобы они не пересекались. Для этого можно использовать фильтр register_taxonomy_args или функцию register_taxonomy() с правильно выставленным параметром rewrite.
Если у вас несколько таксономий с одинаковыми слагами терминов, стоит задать им разные префиксы, например topic-wphow, genre-wphow и т.д.
Избежание дублей URL с помощью фильтра request и перезаписи правил
Фильтр запроса для уникализации URL
Иногда WordPress может воспринимать URL таксономий как дубли. Чтобы предотвратить это, можно воспользоваться фильтром request, чтобы уточнить, какой именно таксономии относится запрос.
function wphow_fix_taxonomy_request($query_vars) {
if (!empty($query_vars['genre-wphow'])) {
$query_vars['taxonomy'] = 'genre';
$query_vars['term'] = $query_vars['genre-wphow'];
unset($query_vars['genre-wphow']);
}
return $query_vars;
}
add_filter('request', 'wphow_fix_taxonomy_request');Этот код помогает корректно распознавать запросы к таксономии с уникальным префиксом.
Обновление правил перезаписи URL (rewrite rules)
После изменения параметров таксономий важно обновить правила перезаписи, чтобы новые URL корректно обрабатывались WordPress. Для этого после внесения изменений зайдите в админке в «Настройки» → «Постоянные ссылки» и просто нажмите «Сохранить изменения» без изменений.
Если хотите сделать это программно, используйте:
function wphow_flush_rewrite() {
wphow_register_taxonomy_genre();
flush_rewrite_rules();
}
register_activation_hook(__FILE__, 'wphow_flush_rewrite');<Так вы гарантируете, что правила перезаписи обновятся при активации плагина или темы с вашим кодом.
Использование плагинов для управления URL таксономий
Если не хотите вникать в код, существуют плагины, которые помогают сделать URL для таксономий уникальными и удобными.
Плагин Clearfy Pro
Этот популярный плагин оптимизации WordPress позволяет управлять URL, отключать дубли, настраивать префиксы таксономий и многое другое. В Clearfy Pro есть модуль для работы с таксономиями, который поможет быстро решить проблему с дублированием URL.
Подробнее и скачать можно по ссылке: Clearfy Pro на WPSHOP
Плагин Custom Permalinks
Позволяет гибко настраивать структуру URL для любых типов записей и таксономий. Можно задать уникальные слаги для терминов и таксономий, что помогает избежать конфликтов.
Практические советы и рекомендации
Проверяйте конфликтующие слаги
Перед регистрацией таксономий убедитесь, что слаги не пересекаются с типами записей и другими таксономиями. Это поможет избежать неожиданных 404 и дублей.
Используйте префиксы в слагах
Добавляйте уникальные префиксы, например, genre-wphow, topic-wphow, чтобы гарантировать уникальность URL.
Тестируйте на локальном сервере
Перед выкладкой на рабочий сайт проверяйте работу URL и редиректы локально или на тестовом сервере.
Обновляйте правила перезаписи
После любых изменений в регистрации таксономий не забывайте сбрасывать правила перезаписи, иначе новые URL работать не будут.
Заключение
Уникальные URL для таксономий — важный элемент грамотной структуры сайта на WordPress. Используя правильную регистрацию таксономий с уникальными слагами, фильтры для корректного распознавания запросов и обновление rewrite rules, вы сможете избежать проблем с дублями и улучшить SEO. Если хотите упростить задачу, рассмотрите плагины, такие как Clearfy Pro, которые автоматизируют многие настройки.
Пример кода и рекомендации из статьи помогут вам быстро и эффективно настроить уникальные URL для любых таксономий на вашем сайте.