По умолчанию WordPress добавляет префикс category в URL рубрик, формируя ссылки вида site.ru/category/название-рубрики. Это не только утяжеляет структуру ссылок, но и может повлиять на SEO и восприятие URL пользователями. Удаление данного префикса – задача, которую можно решить несколькими способами без ущерба для функциональности сайта.
Один из простейших методов – изменить настройки постоянных ссылок в панели администратора. Перейдите в Настройки → Постоянные ссылки и в блоке «Опционально» найдите поле Базовая рубрика. Оставьте его пустым или введите точку (.) – это приведёт к удалению префикса из URL.
Если базовых возможностей недостаточно или требуется более гибкая настройка, можно использовать плагин Yoast SEO. В разделе «Внешний вид поиска» отключите отображение категории в URL. Альтернативой является плагин FV Top Level Categories, который убирает префикс без изменения структуры сайта и дополнительных настроек.
Для максимального контроля можно внести изменения в файл functions.php активной темы. Добавьте хук, удаляющий префикс category и перенаправляющий старые ссылки на новые с кодом 301. Такой подход требует внимательности и базовых знаний PHP, но позволяет избежать установки дополнительных плагинов.
После внесения изменений важно настроить редиректы и проверить наличие ошибок через инструменты вебмастера, чтобы сохранить позиции в поисковой выдаче и избежать дублирования контента.
Отключение префикса категории через настройки плагина Yoast SEO
Откройте административную панель WordPress и перейдите в раздел «SEO» → «Внешний вид поиска».
Перейдите на вкладку «Таксономии». Найдите блок с настройками для «Категории».
Убедитесь, что параметр «Удалить префикс категории (category) из URL» включен. Если он выключен, активируйте его, чтобы WordPress начал использовать ЧПУ без приставки /category/
.
После сохранения изменений перейдите в раздел «Постоянные ссылки» и нажмите «Сохранить изменения», не изменяя настроек. Это обновит структуру URL во внутренней системе WordPress.
Если после активации опции ссылки по-прежнему содержат префикс, очистите кэш сайта и кэш плагинов, таких как WP Super Cache или W3 Total Cache. Проверьте также настройки постоянных ссылок – они должны быть установлены в режим «Название записи».
Yoast SEO применяет изменение автоматически, не требуя правки файлов .htaccess или установки дополнительных плагинов. Однако, если используются кастомные правила в файле .htaccess, убедитесь, что они не переопределяют новые URL.
Удаление категории из URL с помощью плагина Remove Category URL
Плагин Remove Category URL автоматически удаляет префикс /category/
из URL рубрик. После активации никаких дополнительных настроек выполнять не требуется – изменение применяется сразу.
Для установки перейдите в админ-панель WordPress, откройте раздел «Плагины» → «Добавить новый» и введите в поиске «Remove Category URL». Установите и активируйте плагин.
После активации проверьте структуру ссылок на страницы категорий. Например, вместо example.com/category/novosti
URL станет example.com/novosti
. Старые ссылки с префиксом будут автоматически перенаправлены на новые через редирект 301, что сохраняет SEO-позиции.
Плагин совместим с большинством SEO-расширений, включая Yoast SEO и All in One SEO Pack. Он не требует настройки структуры постоянных ссылок или правки файлов .htaccess.
Если используется кэширование, очистите кэш после установки. Также рекомендуется проверить работу редиректов с помощью инструментов типа Redirect Checker, чтобы убедиться в корректной переадресации.
Настройка пользовательских постоянных ссылок без префикса /category/
Чтобы удалить префикс /category/ из URL рубрик в WordPress, необходимо изменить структуру постоянных ссылок через функции или плагины. Наиболее надёжный способ – использовать файл functions.php вашей темы или создать плагин с соответствующим кодом.
Добавьте в functions.php следующий код для удаления префикса категории:
add_filter('category_rewrite_rules', function($category_rewrite) {
$category_rewrite = [];
$categories = get_categories(['hide_empty' => false]);
foreach ($categories as $category) {
$category_nicename = $category->slug;
$category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';
$category_rewrite['(' . $category_nicename . ')/page/([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';
}
return $category_rewrite;
});
add_filter('request', function($query_vars) {
if (isset($query_vars['category_name'])) {
$query_vars['category_name'] = str_replace('category/', '', $query_vars['category_name']);
}
return $query_vars;
});
add_action('init', function() {
global $wp_rewrite;
$wp_rewrite->use_verbose_page_rules = true;
});
После добавления кода обязательно перейдите в Настройки → Постоянные ссылки и нажмите «Сохранить», чтобы обновить правила переписывания.
Если используется плагин для управления URL (например, Yoast SEO), отключите опцию удаления базы категории в его настройках, чтобы избежать конфликтов.
Обратите внимание: при удалении префикса возможно пересечение URL рубрик и страниц. Чтобы избежать ошибок 404, избегайте совпадения с названиями страниц и других таксономий.
Редактирование файла .htaccess для перенаправления старых ссылок
После удаления категории из URL WordPress, старые ссылки вида site.ru/category/имя-рубрики/
перестают работать. Чтобы избежать ошибок 404 и сохранить SEO-позиции, необходимо настроить перенаправление через файл .htaccess
.
Откройте файл .htaccess
в корне сайта и добавьте следующие строки до строки # BEGIN WordPress
:
RewriteEngine On
RewriteBase /
RewriteRule ^category/(.+)$ http://site.ru/$1 [R=301,L]
Эта директива использует постоянный редирект (код 301), указывающий поисковым системам на смену адреса. Замените http://site.ru
на ваш фактический домен.
Если вы используете HTTPS, убедитесь, что перенаправление указывает на https://
. Для мультиязычных сайтов с префиксами (например, /ru/
) добавьте соответствующие условия:
RewriteRule ^ru/category/(.+)$ https://site.ru/ru/$1 [R=301,L]
После изменений проверьте корректность редиректов с помощью инструментов вроде httpstatus.io.
Создание функции в functions.php для удаления префикса категории
Чтобы убрать префикс category
из URL рубрик, добавьте в файл functions.php
активной темы следующий код:
add_filter('category_rewrite_rules', function($category_rewrite) {
$category_rewrite_new = [];
foreach ($category_rewrite as $key => $val) {
$new_key = preg_replace('!^category/!', '', $key);
$category_rewrite_new[$new_key] = $val;
}
return $category_rewrite_new;
});
add_filter('request', function($query_vars) {
if (isset($query_vars['category_name'])) {
$term = get_term_by('slug', $query_vars['category_name'], 'category');
if ($term) {
$query_vars['category_name'] = 'category/' . $query_vars['category_name'];
}
}
return $query_vars;
});
add_action('init', function() {
global $wp_rewrite;
$wp_rewrite->set_category_base('');
});
После добавления кода обновите постоянные ссылки в настройках WordPress (раздел «Настройки» → «Постоянные ссылки») – просто сохраните их без изменений. Это перегенерирует правила перезаписи.
Если на сайте используются вложенные категории, проверьте корректность работы URL, так как отсутствие базового префикса может вызывать конфликты с другими путями.
Рекомендуется реализовывать этот подход в дочерней теме, чтобы избежать потери изменений при обновлении основной темы.
Проверка работы редиректов после удаления префикса
После удаления префикса «category» из URL в WordPress важно убедиться, что редиректы настроены правильно. Неправильные редиректы могут привести к ошибкам 404 и утрате трафика, что негативно скажется на SEO.
Первым шагом проверяйте, что старые URL с префиксом «category» корректно перенаправляются на новые. Для этого откройте несколько старых URL в браузере. Например, если ваш старый URL был: example.com/category/news/
, новый должен быть example.com/news/
. При правильной настройке редиректов браузер должен автоматически перенаправлять вас на новый адрес.
Используйте инструменты для проверки редиректов, такие как Redirect Checker или HTTP Status Code Checker, чтобы убедиться, что старые ссылки возвращают статус 301 (постоянный редирект). Если статус другой (например, 404), значит редирект настроен неправильно.
Также важно проверить редиректы для всех категорий на сайте. Если у вас несколько категорий, протестируйте редиректы для каждой из них, чтобы исключить проблемы с конкретными разделами сайта.
Не забудьте проверить редиректы с мобильных устройств, так как поведение может отличаться от десктопной версии сайта. Для этого можно использовать инструменты типа PageSpeed Insights, чтобы оценить, как ваш сайт работает на мобильных устройствах после изменений.
Наконец, следите за состоянием сайта в поисковых системах с помощью инструментов, таких как Google Search Console. Там вы можете проверить, были ли обнаружены старые страницы и есть ли ошибки 404, связанные с удалением префикса.
Решение проблемы с конфликтами URL после удаления /category/
Вот несколько шагов, которые помогут избежать конфликтов и восстановить корректную работу сайта:
- Проверьте файл .htaccess: После изменения структуры URL важно обновить файл .htaccess. Убедитесь, что в нем присутствуют правильные правила перенаправлений. Для этого откройте файл и добавьте следующие строки:
RewriteRule ^category/(.*)$ /$1 [R=301,L]
- Используйте плагин для редиректов: Плагины, такие как Redirection, позволяют автоматически настроить перенаправление старых URL на новые. Это поможет предотвратить появление ошибок 404 и обеспечит сохранение SEO-оценок.
- Обновите внутренние ссылки: После изменения URL необходимо вручную обновить все ссылки внутри контента, которые указывают на старую структуру с «/category/». Это важно для предотвращения создания мертвых ссылок.
- Проверьте настройки ЧПУ: В панели администратора WordPress перейдите в «Настройки» -> «Постоянные ссылки» и убедитесь, что структура URL правильная. После изменения структуры, рекомендуется обновить настройки, чтобы WordPress мог правильно обрабатывать новые ссылки.
- Проверьте шаблоны и темы: Некоторые темы или плагины могут кэшировать старую структуру ссылок. Очистите кэш и перезапустите сервер, чтобы изменения вступили в силу на всех страницах.
- Обратите внимание на конфликт с таксономиями: Если на сайте есть пользовательские таксономии, важно удостовериться, что их URL не конфликтуют с другими страницами. Использование плагинов, таких как Custom Post Type UI или Yoast SEO, поможет настроить уникальные URL для таксономий и избежать дублирования.
Следуя этим рекомендациям, можно значительно снизить риск появления конфликтов и обеспечить правильную работу URL после удаления «/category/» в WordPress.
Влияние изменения структуры ссылок на SEO и индексацию страниц
Изменение структуры URL в WordPress, например, удаление категории из адреса, может оказать значительное влияние на SEO-позиции и индексацию страниц. Важно правильно реализовать такие изменения, чтобы минимизировать негативные последствия для поискового трафика и сохранить видимость сайта в поисковых системах.
Когда вы изменяете структуру URL, поисковые системы воспринимают это как изменение адреса страницы, что может привести к потере уже накопленного веса страницы (PageRank) и вызвать проблемы с индексацией.
- Перенаправления 301. Один из важнейших шагов при изменении структуры ссылок – это настройка постоянных перенаправлений 301. Они сообщают поисковым системам, что страница перемещена на новый адрес, и передают значительную часть старого URL в новый. Это помогает сохранить рейтинг страницы и избежать «разрыва» в индексации.
- Обновление внутренней перелинковки. При изменении структуры URL важно обновить все внутренние ссылки, чтобы они указывали на новый формат адресов. Это не только улучшает пользовательский опыт, но и способствует правильной индексации страниц.
- Проблемы с дублирующим контентом. Если новые URL-адреса не будут правильно перенаправляться, поисковые системы могут воспринимать старые и новые страницы как дублирующие, что приведет к штрафам за дублирование контента. Для предотвращения этого следует убедиться, что все старые URL перенаправлены на новые, а дубли удалены.
- Влияние на индексацию. Неправильно настроенные перенаправления или отсутствие их вовсе может привести к тому, что поисковые системы не смогут обнаружить новый адрес страницы. Это особенно важно для больших сайтов с многочисленными страницами.
Изменение структуры ссылок должно проводиться с осторожностью, чтобы избежать резкого падения позиций. После внесения изменений рекомендуется отслеживать поведение сайта в поисковых системах, а также следить за статистикой индексации через Google Search Console и другие инструменты для веб-мастеров.
Правильное использование редиректов, а также постоянное обновление ссылок и карты сайта поможет минимизировать возможные проблемы и сохранить стабильность SEO-позиции.
Вопрос-ответ:
Почему в URL WordPress появляется слово «category» и как его убрать?
Слово «category» в URL добавляется по умолчанию, когда в WordPress создаются категории для контента. Это делает структуру адресов более понятной, но иногда хочется избавиться от этого элемента. Убрать «category» можно через настройки пермалинов или с помощью плагинов, которые позволяют кастомизировать URL.
Как изменить структуру URL в WordPress, чтобы не было слова «category»?
Чтобы убрать «category» из URL, нужно зайти в раздел «Настройки» -> «Постоянные ссылки». В разделе «Структура URL» можно изменить шаблон адреса, исключив «category». Также, для более точного контроля, можно использовать плагины, такие как «Yoast SEO» или «Permalink Manager», которые позволяют изменить структуру URL без редактирования кода.
Нужны ли технические знания для того, чтобы убрать «category» из URL WordPress?
Для большинства пользователей достаточно выполнить изменения через настройки в админке WordPress, и для этого не требуется углубленных технических знаний. Однако, если нужно сделать более сложные изменения, такие как редактирование .htaccess или использование плагинов с кастомными настройками, потребуется базовое понимание работы с файлами и настройками серверов.
Какие плагины помогут убрать «category» из URL в WordPress?
Для удаления «category» из URL в WordPress можно использовать плагины, такие как «Yoast SEO», который позволяет настроить структуру ссылок, или «Permalink Manager», предлагающий гибкие возможности для редактирования URL. Эти плагины позволяют легко удалить «category» без необходимости в изменении кода.
Будет ли изменение URL на WordPress влиять на SEO сайта?
Изменение URL может повлиять на SEO, так как поисковые системы могут воспринимать новые адреса как новые страницы. Чтобы минимизировать риски, рекомендуется настроить редиректы с старых URL на новые. Это поможет сохранить позиции в поисковых системах и избежать ошибок 404.