Как удалить category из URL
Удалить category из URL очень просто. Вам не нужно будет программировать на PHP. Для этого вам потребуется плагин Yoast Seo.
Скачать его можно и официального репозитория WordPress.

После скачивания, установки и активации, перейдите в раздел SEO -> Отображение в поисковой выдаче.

Далее перейдите на вкладку таксономии.

И в самом низу страницы, есть раздел URL рубрик с опцией удалить префиксы рубрик.

Включаем эту опцию и проблема решена.
Как лучше удалить слово category из постоянной ссылки (УРЛа) в WordPress
Вообще не рекомендую удалять слово category из УРЛов WordPress, потому что это может вызвать проблемы, а практической пользы от этого нет. Но если по каким-то причинам решите это сделать, то надеюсь эта статья вам поможет.

Я не сторонник «танцев с бубном» над настройками ЧПУ (человеко-понятных УРЛ), поэтому в большинстве случаев отношусь к ним нейтрально — главное чтобы присутствовало название самой статьи (в транслитерации для кириллических названий). Считаю, что названия статьи, в целом, достаточно, чтобы сориентироваться по УРЛу куда он ведет. Кстати, практику переводить слова на английский тоже не поддерживаю, потому что английский знают далеко не все и такой (переведенный) УРЛ для многих будет не понятен. Недавно очень нужно было убрать слово «category» из УРЛов на страницы категорий. УРЛы на страницы категорий обычно выглядят так:
/category/название-родительской-рубрики/название-дочерней-рубрики
Плагины
- No Category Base (WPML) удаляет базу category из постоянной ссылки ЧПУ рубрик.
- No category parents – плагин удаляет именно базу категорий, которая ставится в админке (она может быть отличной от «category»). Для его работы структура ЧПУ может быть любой. Говорят, плагин работает не всегда (наверное зависит от структуры ЧПУ). Плюс этого плагина — это установка 301 редиректа (нужен для поисковиков, когда слово category удаляется из уже рабочего сайта/блога).
- Remove Parents – Плагин работает только если структура ЧПУ начинается с тега %category%. Подход автора плагина мне не понравился — зачем-то там используются проверки через регулярные выражения, когда нужно всего-то удалить слово category. Впрочем, этот плагин удаляет не только слово category, но и родительские рубрики у УРЛ’ов постов (когда и где это действительно может понадобится не понял).
Мой вариант
Работает не корректно с версии 4.0
В общем, плагины мне не понравились, и вообще для такого дела, плагин – дело лишнее, поэтому я написал свой хак, чтобы удалить category из постоянной ссылки на страницы категорий в WordPress (всего одна строчка):
//Удаляем category из УРЛа категорий add_filter( 'category_link', function($a)< return str_replace( 'category/', '', $a ); >, 99 );
Эту строчку (код) нужно вставить в файл темы functions.php. Также нужно, чтобы структура ЧПУ начиналась с /%category%/ и нужно чтобы НЕ был установлен префикс категории в настройках постоянных ссылок в админке (см.картинку). Если префикс категорий уже установлен, то просто удалите его, но запомните этот префикс для установки редиректа (см. хак ниже)
Для любителей ретро: в старых версиях WP вставлял «category» еще и в УРЛы постов, чтобы удалить от туда это слово, воспользуйтесь такой строчкой:
add_filter( 'post_link', function($a)< return str_replace( 'category/', '', $a ); >, 99 );
Удаляем category через .htaccess
Так же, есть еще один вариант с редактированием файла .htaccess. В этом файле нужно прописать перенаправление с 301 статусом, выглядет так ©:
RewriteRule ^(.*?/)category/(.+)$ $1$2 [R=301,L]
Важно понимать, что эту строчку нужно вставлять после включения модуля mod_rewrite и до перенаправления самого WordPress, т.е. ставить нужно так:
RewriteEngine On RewriteBase / RewriteRule ^(.*?/)category/(.+)$ $1$2 [R=301,L] # BEGIN WordPressRewriteEngine On RewriteBase / RewriteCond % !-f RewriteCond % !-d RewriteRule . /index.php [L] # END WordPress
Однако такой способ не лишен недостатков, работает только если ЧПУ начинается с /%category%/ и WordPress будет создавать ссылки на категории по-прежнему со словом category, просто по нажатию на такую ссылку пользователя будет перекидывать на ссылку без category. Но думаю, этот вариант очень даже имеет место быть.
Дурной вариант
Как вариант, в версиях WordPress 3.0+ можно не использовать никакие хаки или плагины, а для удаления слова category в Префикс для рубрик вписать точку. Делается это в админ панели WordPress на странице Параметры->Постоянные ссылки (см. картинку). Правда эта точка будет в УРЛах в HTML коде, что, возможно, не есть хорошо, но работает вроде все правильно.
Хак 301 редиректа
Вот еще, сделал свой хак, чтобы перенаправлять старые страницы (со словом category) на новые. Редирект происходит со статусом 301 – указание на то что страница перемещена навсегда (нужно для поисковиков). По сути это как раз то, что делает вышеописанная строчка для .htaccess
function base_category_redirect() < $link = $_SERVER['REQUEST_URI']; if( strpos($link, 'category/')!==false )< $new_link = get_bloginfo('siteurl').str_replace('category/', '', $link); Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: $new_link" ); exit(); >> add_action('init', 'base_category_redirect', -10);
Если вы устанавливали префикс для категорий в админке, то в коде нужно указать этот префикс.
Кстати для тех, кто не знает, зачем вообще нужен префикс рубрик: нужен он для четкого определения типа страницы. Представим ситуацию, что мы убрали этот префикс и у нас есть постоянная страница с названием «Разное» (слаг которой будет — raznoe) и есть категория с таким же названием, тогда УРЛы категории и страницы будут одинаковыми и будут равны http://example.com/raznoe , что приведет к невозможности попасть на страницу категории, потому что по этому УРЛу будет открываться постоянная страница. С одной стороны это не хорошо, но с другой (о, эврика) этой особенностью можно очень удобно воспользоваться, для того чтобы заменить страницу категории на постоянную страницу. Иногда бывает нужно на странице категории не выводить, как обычно, записи или анонсы записей этой категории, а показать какой-либо текст. Думаю, логика понятна.
Основное из вышесказанного
Лучшим, на мой взгляд, вариантом убрать «слово» category будет размещение в файле темы function.php кода (работает только если ЧПУ начинается с /%category%/ ):
add_filter('category_link', function($a)< return str_replace( 'category/', '', $a ); >, 99 );
Так же, если блог не новый и в индексе поисковика уже есть страницы с category, то, в добавок к коду, в .htaccess нужно добавить строчку редиректа:
RewriteRule ^(.*?/)category/(.+)$ $1$2 [R=301,L]
Если структура ЧПУ не использует тег %category% (не начинается с /%category%/), то используйте плагин WP No Category Base.
Если не понятно что-то спрашивайте, не стесняйтесь, комментарии же открыты
До этого из: SEO
- Сравнение СЕО плагинов platinum SEO Pack и All in One SEO Pack и отказ от них
- Перелинковка статей в WordPress (предыдущие записи из категории)
- Перелинковка статей (предыдущие записи)
Как удалить префикс «category» из URL рубрик
Думаю многие знают, как превратить ссылки в WordPress из /?p=1 в /категория/пост (это делается в админке в Настройки > Постоянные ссылки).
Однако первое, что бросается в глаза, это довольно странные URL у рубрик, вот такие /префикс-рубрики/рубрика (например /category/wordpress ). Я не понимаю, для чего тут нужен префикс для рубрик, ведь:
- для SEO это означает, что мы находимся в категории «префикс-рубрики» и подкатегории «рубрика», но это не так,
- чем длиннее URL страницы сайта, тем хуже,
- невозможно осуществлять навигацию по URL — то есть, если перейти по адресу http://ваш-сайт/category, то получим ошибку 404.
Короче говоря, нам нужно избавиться от префикса.
Возможно у вас возникнет вопрос — если у префикса категорий столько минусов, то зачем его вообще предусмотрели в WordPress? Ответ — чтобы отличать от меток. У меток, как и у категорий тоже есть префикс (по умолчанию — tag). И, если из URL рубрик мы ещё можем удалить category, то из URL меток это делать ни к чему.
В новых версиях WordPress это делается легко и просто — через файл .htaccess . Дело в том, что каждая наша рубрика доступна по двум URL — с префиксом и без. Тогда давайте поставим 301 редирект, этим мы сразу убьем двух зайцев:
- предотвратим возникновение дублей контента,
- избавимся от префикса category.
Прежде всего убедитесь, что настройки постоянных ссылок у вас выглядят примерно вот так:

Если в качестве префикса для рубрик у вас используется какое-либо другое слово, то есть не category, то обязательно верните префиксу значение по умолчанию (category), либо вообще оставьте поле пустым (как на скриншоте).
Затем вставьте этот код (предварительно заменив URL на URL своего сайта) в файл .htaccess , который находится непосредственно в папке с сайтом:
RedirectMatch 301 /category/(.*) https://misha.agency/$1
Относительно mod_rewrite не волнуйтесь, после обновления настроек постоянных ссылок он уже автоматически будет включён.
Избавляемся от «category» в старых версиях WordPress (до 3.4)
Тут стандартными средствами удалить префикс из URL не получится, можно изменить лишь слово, которое используется в качестве префикса, если оставить поле пустым то, заюзается слово category.
Ещё я натыкался на пару предназначенных для этого плагинов в интернете, но все они были косячные, после их установки стали пропадать страницы. Выкладываю решение, которое стояло на моем блоге (когда версия WordPress была ниже 3.4).
Итак, всего два шага и всё будет готово!
Первый шаг — хук для functions.php
Скопируйте этот код и вставьте его в файл functions.php вашей темы:
function true_remove_category_from_category($cat_url) { $cat_url = str_replace('/category', '', $cat_url); return $cat_url; } add_filter('category_link', 'true_remove_category_from_category', 1, 1);
Шаг второй — обновляем настройки постоянных ссылок в админке
Изменяем в настройках структуру постоянных ссылок на произвольную и вписываем туда что-то типа /%category%/%postname%.html или /%category%/%postname%.htm .
В общем после точки можно прописать любое расширение, главное не ошибиться в остальном, например если не дописать расширение вообще, то у вас пропадут страницы из рубрик, а точнее их содержимое.
Список плагинов
Для тех, кто не любит копаться в коде и для решения каждой задачи старается подобрать подходящий плагин, вот список плагинов, позволяющих удалить префикс рубрик из URL:
- WP No Category Base — не требует дополнительной настройки. Прекрасно работает и с подкатегориями, перенаправление осуществляет через 301 редирект.
- No category parents — этот плагин удаляет не только префикс рубрик, но и родительские категории из URL.
- Remove Category URL — ещё один плагин, который по сути является копией WP No Category Base.
Каждый из этих плагинов доступен в официальном репозитории плагинов WordPress, а значит, устанавливается через админку сайта.
Миша
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Пишите, если нужна помощь с сайтом или разработка с нуля.
Комментарии — 60
B.G. 3 Июл 2012
Похоже что версия вордпресса 3.4 сама начала справляться с этой проблемой. Раньше у меня стоял плагин для удаления слово категория их адреса, но в версии 3.4 он наоборот стал вредить.. Выкинул его и все стало хорошо.
Миша 4 Июл 2012
да,да,это ты верно сказал, в 3.4 уже не катит этот способ) я тоже убрал этот хук, правда слово category появилось теперь
Миша 24 Авг 2014
Пост обновлён, информация теперь актуальна для новых версий WordPress.
Alexey 15 Окт 2014
Если поставить это редирект, то из урлов автоматически уберется /category/?
Миша 15 Окт 2014
урлы с category будут редиректиться на урлы без category через 301
Alexey 15 Окт 2014
И еще наверное в robots.txt надо закрывать /category/, да?
Миша 15 Окт 2014
Нет не нужно 🙂
Игорь 19 Ноя 2014
Спасибо за решение. Выручил, дружище 🙂
Миша 19 Ноя 2014
Рад помочь 🙂
Александр Быкадоров 16 Апр 2015
Доброго дня.
Такой вопрос. Сайт только создал, и сразу решил избавиться от этой проблемы. Можно ли сделать так, чтобы не перебрасывало через 301 редирект, а изначально убрать «category» из урла. Что имею ввиду?
При наведении мышкой на категории, внизу в браузере выводится старый адрес по типу: название сайта/category/категория/пост.html при нажатии перекидывает по 301 редиректу сразу в адрес сайта: название сайта/категория/пост.html — что как бы правильно, но хотет бы изначально убрать это слово.
Думаю понятно объяснил )))
Александр Быкадоров 16 Апр 2015
Поставил в Префикс для рубрик символ «.» (точки) и все ушло — как это может влиять на структуру?
Миша 16 Апр 2015
Добрый день! Могу только сказать, что такой метод используется на многих блогах. В новых версиях WP по поводу редиректа можно не беспокоиться, ведь рубрики доступны по обоим URL.
Александр Быкадоров 16 Апр 2015
Спасибо, Михаил. Поставил точку и думаю этого хватит — как считаете?
Миша 16 Апр 2015
Если всё работает, то думаю не о чем беспокоиться 🙂
Александр Быкадоров 17 Апр 2015
Спасибо, друг )))
pogruzovik.ru 23 Апр 2015
Добрый день!
У меня задача немного другая стоит.
Есть большой каталог с двумя уровнями категорий. Были ссылки на конечную подкатегорию такого вида:
site.com/category/podcategory
Сейчас я убрал промежуточную родительскую категорию из ссылки и стало так:
site.com/podcategory
* слово category — это для примера, на самом деле там название транслитом. Как сделать массовый редирект, чтобы из поисковиков попадали на нужную подкатегорию, а не на страницу ошибки 404?
Миша 24 Апр 2015
Добрый день!
Ответ на ваш вопрос в этом посту 🙂
pogruzovik.ru 24 Апр 2015
Это не совсем то.
У меня ссылки такого вида были:
site.com/категория_экскаваторы/подкатегория_гусеничные_экскаваторы
А тепреь так:
site.com/подкатегория_гусеничные_экскаваторы
Без родительской категории в ссылке. и Таких категорий больше сотни, каждая со своим назанием. Это не просто /category/
Так вот нужно чтобы с первых ссылок работал редирект на вторы, т.к. с поисковиков много приходит на 404 ошибку.
Миша 25 Апр 2015
А каким образом вы убрали промежуточную категорию? Если вы хотите сделать всё минимальным количеством кода, то лучше через WP_Rewrite.
Дмитрий 7 Июн 2015
Не совсем работает в 4.2 версии. Когда site.ru/category/главная категория — то работате номрально, удаляет category, а вот если site.ru/category/главная категория/под категория — тот site.ru/главная категория/под категория 404 ошибка
Миша 8 Июн 2015
Да, вижу, согласен. Доработаю код.
BUTAMUHbI4 17 Авг 2015
Миша, есть доработки?
Максим 15 Сен 2015
Здравствуйте Миша.
Столкнулся с выше описанной ситуацией sire.ru/категория/подкатегория выдает 404.
Возможно у вас есть уже решение?
Спасибо.
Светлана 25 Сен 2015
Доброй ночи. Подскажите, не нашлось ли случайно решение этой проблемы
> sire.ru/категория/подкатегория выдает 404.
Копаю уже вторые сутки — не могу найти решение!
Заранее спасибо!
Миша 26 Сен 2015
Здравствуйте!
Вот только что протестировал на версии 4.3.1 вплоть до дочерних категорий третьего уровня — всё работает на ура. И самое интересное, что вы не первая, у кого не получается. Мне будет интересно взглянуть на ваш сайт и со всем разобраться — напишите мне пожалуйста по email.
Светлана 26 Сен 2015
Михаил, отправила на почту инфо.
Заранее спасибо!
Vitalii 1 Ноя 2019
Привет! А решение нашли? У меня такая же проблема
Vitalii 1 Ноя 2019
нашел решение, я лично не посчитал нужным поставить в конец ссылки «.html», как реккомендует Михаил. После прописания /%category%/%postname%.html, всё заработало. Спасибо
Миша 2 Ноя 2019
Привет! Огнище!
Sergey 8 Июн 2015
было бы еще круто посмотреть вариант для nginx
Михаил Чугунов 18 Авг 2015
Спасибо мужик! Помогло, красавец! От души!
Причем на других блогах, на серче писали какую то херню. У тебя все по полочкам. Молодцом, добавил в закладки!
Миша 19 Авг 2015
Отлично, рад, что помог!
Михаил Чугунов 18 Авг 2015
Мишаня, ты мне помог, и я спешу тебе помочь советов. В блоке комментариев, когда я отправляю тебе сообщение, нажав кнопку ответ, то автоматически создается дублю replytocom. Чтобы это избежать, необходимо поменять в funcions.php часть кода, отвечающую за вывод этих комментов. Чтобы комменты стали скриптом, а не ссылокой. Как принял?
Миша 19 Авг 2015
Не совсем понял, какое решение ты предлагаешь)
Николай 30 Авг 2015
На какие то рубрики заходит , а на какие то нет ! С чем это связано?
Миша 31 Авг 2015
Мне нужно больше информации, чтобы дать вам ответ. Обновляли настройки постоянных ссылок?
Игорь 22 Сен 2015
Поставил «.» из ссылок слово category пропало, но теперь ведет на страницу 404. Как исправить?
Миша 23 Сен 2015
Я не давал никаких советов с точкой.
Игорь 23 Сен 2015
Понятно, метод с файлом htaccess тоже не работает
Миша 23 Сен 2015
Вы только код в htaccess вставили или сделали всё описанное в статье?
Юрий 27 Сен 2015
С помощью модификации .htaccess все работает отлично, но есть одна проблема. Карта сайта, создаваемая модулем Yoast SEO по-прежнему содержит в /category/ в URL, хотя и редиректит на целевой. Подскажите, как модифицировать и в карте сайта? Спасибо.
Миша 28 Сен 2015
После ребилда карты ничего не меняется?
В настройках постоянных ссылок category удалено?
Юрий 28 Сен 2015
В настройках постоянных ссылок стоит опция «произвольно» (/%category%/%postname%.html). Внизу заметил появилось уведомление, о том, что нужно изменить .htaccess на тот, который был изначально. Это просто игнорировать?
Что касается карты сайта от Yoast — она формируется по критерию /%category%/%postname%.html. Если из структуры URL в настройках постоянных ссылок убрать /%category%/, то страницы категорий выдают ошибки 404.
Юрий 28 Сен 2015
Проблема отлично решилась установкой модуля Remove Category URL. /category/ исчезло и карта сайта выводится нормально. Хотелось решить без плагина, ну хотя-бы так.
Миша 30 Сен 2015
Можно в принципе полазить по файлам плагина, разобраться, как он это делает и просто вытащить из него несколько функций.
сергей 24 Окт 2015
подскажите как сделать урл без ad-category, получается так /ad-category/kvartiry/kvartiry-na-dlitelnyj-srok/, а нужно вот так /kvartiry/kvartiry-na-dlitelnyj-srok/
Миша 25 Окт 2015
вы оставили комментарий к статье, в которой по сути решение этой задачи и описано 🙂
Дмитрий 18 Дек 2015
Михаил, добрый день. Имеется сайт на wordpress установлена тема DIRECTORY PORTAL V4.3 ,
Особенностью темы является то, что категории справочника и сами карточки организаций, создаются как «свой тип записи» и базовые настройки формирования URL на них не действуют.
В итоге имеем
категория:
Сейчас – site/cat/категория/
Надо – site/категория/ Карточка организации:
Сейчас: site/item/организация/
Надо: site/КАТЕГОРИЯ/организация/ Перепробовал все какие нашел плагины, но так и не решил проблему.
Сможете помочь разобраться? Готов оплатить вашу работу
Миша 19 Дек 2015
Добрый день, Дмитрий, я точно не помню, имеется ли в WP возможность перезаписать таким образом URL произвольных типов постов и таксономий, но могу попробовать, пожалуйста, напишите мне по email.
Дмитрий 19 Дек 2015
Спасибо Михаил за отклик, но этой ночью я нашел решение))
Миша 19 Дек 2015
Отлично 🙂
Будет здорово, если вы поделитесь кодом в комментариях — возможно он кому-нибудь пригодится.
Дитрий 19 Дек 2015
Проблему решил но частично. Облазил кучу сайтов и нашел подсказку на сайте разработчика. Конкретно тут. Но к сожалению (возможно потому что, тему я не покупал, или там решения для более поздней версии) у меня нету указанной там папки с плагином и фаил этот я не нашел (/wp-content/plugins/ait-toolkit/cpts/item/@item.cpt.neon). Но меня это не остановило и прошарил содержимое всех фаилов в своей теме через Notepad++. Итогом поисков стал фаил dir-item.php, который лежит в папке /wp-content/themes/directory/AIT/Framework/CustomTypes/dir-item. Вот те части когда, которые отвечают за категории справочника карточку организации: Категория: ‘show_ui’ => true,
‘rewrite’ => array( ‘slug’ => ‘cat’ ),
‘capabilities’ => array(
‘assign_terms’ => ‘assign_dir_category’ Организация: ‘rewrite’ => array(‘slug’ => ‘item’), ‘capability_type’ => ‘ait-dir-item’,
‘map_meta_cap’ => true Я как бы вообще, не программист и очень плохо рзабираюсь в верстке, но в этом коде я увидел как раз то что я искал. Путем замены ( ‘slug’ => ‘cat’ ) на ( ‘slug’ => ‘/’ ) я избавился изменил URL категорий на сайте с site/cat/категория/ на site/категория/. Но вот с URL организаций я не справился пока, как я понимаю значение item в строке (‘slug’ => ‘item’), надо заменить на какую то функцию, что бы сюда подставлялась родительская категория. Но опять же, я не программист и тут мне тяжело. P.s.: cейчас я пытаюсь понять как формируются хлебные крошки, .т.к в них отображается именно родительская категория карточки организации и как я понимаю это ключ к тому, что бы настроить вложенность URL. (возьму ту же функцию и поставлю вместо item). Ну или как то так.. Если кто решил эту задаяу буду рад помощи.
Дитрий 19 Дек 2015
В поисках решения набрел на плагин, WP Permastructure. После его активации, в разделе «Настройки постоянных» добавляется раздел Custom post type permalink settings, где можно задать параметры url произвольных записей.
Попробовал вот так: /%postname% В этом случае карточка организации открывается по адресу
сайт/название организации Потом, попробовал вот так:
/%ait-dir-item-category%/%postname%
В этом случае карточка организации открывается по адресу
сайт/категория/название организации . Казалось бы все классно, но теперь все страницы-карточки отдают 404-ую ошибку )) Михаил, нужна ваша помощь )
St.eV 6 Янв 2016
Всем привет! Вариант с 301-редиректом неплох, но не решает основную задачу — избавиться от префикса в категориях.
ПС анализируют код страниц, в коде везде числятся /category/slug/ — а далее уже идет 301 редирект через .htaccess
Google, например, не любит когда много редиректов. Поэтому, рекомендую смотреть в сторону плагинов или собственных функций, убирающих префикс сразу из кода страниц.
Как убрать category из URL в WordPress


WordPress
Автор Алексей На чтение 4 мин Просмотров 1.4к. Опубликовано 12.01.2023 Обновлено 17.01.2023
В прошлом уроке мы настроили ЧПУ (сделали человека понятные URL). В данном уроке продолжим настройку URL и уберем из него category/. Если вы сейчас создадите категорию (пусть будет SEO), то получите следующий урл: site.ru/category/seo — вместо 2гог уровня вложенности, получаем 3й, что как по мне не есть хорошо:
- чем длиннее URL страницы сайта, тем хуже.
- невозможно осуществлять навигацию по URL — то есть, если перейти по адресу http://ваш-сайт/category, то получим ошибку 404.
Ниже рассмотрим самые популярные и распространённые способы избавления от «category».
Как убрать category из постоянных ссылок WordPress?
Важно! Если вы начинающий пользователь, лучше всего воспользоваться плагином (SEO или специальным). Если вы еще не знаете как устанавливать плагины, посетите этот урок: WordPress плагины, что это такое и как установить.
Удалите категорию из URL при помощи любого популярного SEO плагина
Во всех популярных SEO плагинах есть функция удаления категорий из URL адресов, рассмотрим как это сделать в 2х самых популярных из них.
Убираем category при помощи Yoast SEO
Yoast SEO — один из самых скачиваемых WP плагинов (пока что, т.к. выпущен одним из первых). При помощи него вы можете удалить категорию из URL-адресов в пару кликов. Для этого, перейдите в дополнительные настройки Yoast и во вкладке Постоянные ссылки, на против пункта «Удалить префикс рубрик» переведите чекбокс на убрать.

Убираем category при помощи Rank Math SEO
Rank Math SEO — еще один из самых популярных SEO плагинов (намного моложе Yoast, но ничем ему не уступающий)
Для того чтобы убрать category при помощи Rank Math SEO, перейдите в его общие настройки, на вкладке Ссылки, включите переключатель на против пункта: «Рубрики без базы».

Удалите категорию из URL при помощи прочих плагинов.
Для удаления Category из ссылок, в репозитории WP, есть как минимум десяток специальных плагинов, которые даже не требуют настройки, установили из админки, активировали и все сразу работает. Вот самые популярные из них:
- No Category Base (WPML) — не требует дополнительной настройки. Прекрасно работает и с подкатегориями, перенаправление осуществляет через 301 редирект + совместим с популярным плагином WPML.
- No category parents — этот плагин удаляет не только префикс рубрик, но и родительские категории из URL.
- Remove Category URL — по сути является копией WP No Category Base.
- Ultimate Category Excluder — позволяет быстро и легко исключать категории с главной страницы, архивов, каналов и результатов поиска.
Удалите категорию из URL-адресов WordPress при помощи правила для файла .htaccess
В корне вашего сайта должен лежать файл .htaccess (если хостинг с apach), вам его нужно открыть сделать это проще всего через файловый менеджер хостинга или ftp) и внести в него следующую строку:
Если к сайту подключен SSL и он переведен на https: RewriteRule ^category/(.+)$ https://%1/$1 [R=301,L] .
В противном случае: RewriteRule ^category/(.+)$ http://%1/$1 [R=301,L]
RewriteCond % ^/category/.* RewriteRule ^category/(.*)$ http://%/$1/? [R=301,L]
Удалите категорию из URL-адресов WordPress, используя код (хук) в functions.php
В админке WordPress перейдите во «Внешний вид» — «Редактор». Найдите файл functions.php и добавьте приведенный ниже код перед последним тегом PHP.
function remove_category( $string, $type) < if ($type != 'single' && $type == 'category' && (strpos( $string, 'category') !== false) ) < $url_without_category = str_replace( "/category/", "/", $string ); return trailingslashit( $url_without_category ); >return $string; > add_filter( 'user_trailingslashit', 'remove_category', 100, 2);
После всех изменений не забывайте сохранить их.
Рекомендация
Лично я рекомендую воспользоваться SEO плагином — т.к. если вы делаете сайт для себя, вы его по любому будите ставить и настраивать. В следующем уроке разберем как устанавливать плагины.