Если в адресах рубрик у вас стоит /category/, убрать этот префикс можно, но делать это нужно аккуратно. Само по себе изменение структуры URL затрагивает уже проиндексированные страницы, внутренние ссылки и внешние переходы из поиска. Если просто удалить /category/ без редиректов, старые адреса начнут отдавать 404, а это уже риск потерять трафик и часть ссылочного веса.
Ниже разберём безопасные способы: когда достаточно настроек, когда нужен редирект, а когда уместно вмешаться в код. Для WordPress это типичная задача, но универсального «одной кнопкой» решения в ядре нет — поэтому важно выбрать способ под ваш сайт.
Что именно меняется, когда вы убираете /category/
По умолчанию WordPress формирует адрес рубрики примерно так: site.ru/category/news/. Здесь category — это базовый префикс рубрик, а news — слаг самой категории. Если изменить только базу рубрик, адрес станет короче: site.ru/news/.
На практике это влияет не только на внешний вид ссылок. Меняются:
- URL всех архивов рубрик;
- внутренние ссылки в меню, хлебных крошках и блоках записей;
- старые адреса из поисковой выдачи и закладок;
- правила редиректов, если они уже настроены на сервере или в плагине.
Если на сайте есть рубрика и страница с одинаковым слагом, например /news/, WordPress может начать конфликтовать с маршрутизацией. Это одна из причин, почему удаление базы рубрик не всегда проходит без последствий.
Самый безопасный путь: сменить базу рубрик в настройках
Если вам нужно именно убрать /category/, а не переписывать структуру сайта вручную, начните с настроек WordPress. В админке откройте Настройки → Постоянные ссылки и найдите поле База рубрик. В нём можно заменить category на другой префикс или оставить поле пустым, если ваша версия WordPress и окружение это корректно обрабатывают.
Но здесь есть важный нюанс: пустое значение не всегда даёт ожидаемый результат и зависит от темы, плагинов и структуры сайта. На многих проектах это приводит к конфликтам с другими типами записей или страницами. Поэтому на практике безопаснее не пытаться «обнулить» базу, а использовать либо плагин для удаления префикса, либо редирект с сохранением старых адресов.
После сохранения настроек WordPress сам обновит правила пермалинков. Если этого не произошло, зайдите в тот же раздел и нажмите Сохранить изменения ещё раз без правок — это часто помогает сбросить правила маршрутизации.
Как убрать /category/ без потери трафика
Если сайт уже в индексе, главная задача — не только изменить URL, но и перенаправить старые адреса на новые. Для этого нужен 301 редирект. Он сообщает поисковым системам, что страница переехала навсегда, и помогает сохранить накопленные сигналы.
Есть два рабочих сценария:
- Плагин для редиректов и изменения базы рубрик. Подходит, если вы не хотите править код и вам нужен управляемый вариант через админку.
- Ручная настройка на уровне сервера или темы. Подходит, если вы уверенно работаете с кодом и понимаете, как устроены правила перезаписи WordPress.
Если сайт уже получает трафик из поиска, не удаляйте префикс без редиректа. Иначе старые URL из индекса начнут отдавать 404, а это почти всегда хуже, чем аккуратный переезд.
Когда достаточно плагина
Для большинства владельцев сайтов это самый практичный вариант. Плагин берёт на себя два действия: меняет вид адресов рубрик и автоматически перенаправляет старые URL. Это снижает риск ошибки в правилах сервера и не требует правок в .htaccess или functions.php.
Если вы используете решение из экосистемы WPShop, здесь может помочь Clearfy Pro: в нём есть инструменты для чистки лишних элементов WordPress и работы с SEO-настройками, включая удаление дублей и лишних префиксов в URL. Но даже при использовании плагина всё равно проверьте, как он обрабатывает редиректы именно на вашем сайте.
Перед установкой любого такого решения сделайте резервную копию базы данных и файлов. Если на сайте уже есть сложная структура таксономий, конфликт с другими URL лучше поймать до публикации изменений.
Когда нужен код
Код имеет смысл только если вы точно понимаете, что делаете, и готовы тестировать результат. В WordPress удаление /category/ обычно делают через фильтр category_link для генерации ссылок и через правила перезаписи для обработки запросов. Но это не та задача, которую стоит решать «на глаз» в рабочей теме без проверки.
Если вы всё же идёте этим путём, безопаснее выносить код в дочернюю тему или в собственный мини-плагин, а не править файлы активной темы напрямую. Иначе после обновления тема может затереть изменения.
Пример ниже показывает только изменение ссылок на уровне вывода. Этого недостаточно без правил редиректа и перезаписи, поэтому использовать его отдельно нельзя:
add_filter( 'category_link', function( $link ) {
return str_replace( '/category', '', $link );
} );Этот фрагмент убирает префикс из генерируемых ссылок, но не решает маршрутизацию старых адресов. Если не добавить корректную обработку запросов, часть URL перестанет открываться. Поэтому для живого сайта лучше использовать готовое решение с редиректами или проверенный плагин.
Как проверить, что всё работает правильно
После изменения структуры проверьте не только главную рубрику, но и старые адреса. Откройте в браузере:
- новый URL рубрики без
/category/; - старый URL с
/category/; - несколько внутренних ссылок на записи из этой рубрики;
- страницы пагинации, если у рубрики есть несколько страниц архивов.
Нормальный результат такой: новый адрес открывается с кодом ответа 200, старый уходит на новый через 301, а в HTML и меню больше не встречается старый формат ссылок. Если старый URL отдаёт 404, значит редирект не настроен или правило перезаписи не сработало.
Проверить код ответа можно любым инструментом разработчика в браузере, через онлайн-проверку редиректов или из консоли, если вам удобнее. Главное — убедиться именно в статусе 301, а не в 302 или цепочке из нескольких переходов.
Типичные проблемы после удаления /category/
На практике чаще всего ломаются не сами рубрики, а сопутствующие элементы сайта. Вот что стоит проверить в первую очередь:
- Конфликт с страницей или записью. Если у страницы и рубрики одинаковый слаг, WordPress может открывать не тот объект.
- Старые ссылки в меню и контенте. Если ссылки вставлялись вручную, они не обновятся автоматически.
- Кэш. После изменения структуры очистите кэш плагина, сервера и CDN, если он есть.
- Пагинация рубрик. Адреса вида
/category/news/page/2/тоже должны перенаправляться корректно.
Если сайт большой, не меняйте структуру URL в час пик. Лучше сделать это в период низкой нагрузки, когда можно быстро проверить несколько страниц и при необходимости откатить изменения из резервной копии.
Что выбрать в вашем случае
Если сайт новый и поискового трафика почти нет, можно ограничиться настройкой базы рубрик и проверкой, что новые адреса открываются без ошибок. Если сайт уже в индексе, нужен вариант с 301-редиректами. Для большинства владельцев сайтов самый спокойный путь — плагин или готовый инструмент, который меняет URL и сохраняет перенаправление со старых адресов.
Ручной код оправдан только тогда, когда у вас есть опыт работы с WordPress-перезаписью и вы готовы тестировать на копии сайта. В остальных случаях проще и безопаснее использовать админские настройки или специализированный плагин, чем потом разбирать цепочки 404 и потерянные переходы из поиска.