Как удалить категории из URL записей в WordPress

Если в адресах записей у вас появляется /category/, обычно хочется убрать этот фрагмент и сделать URL короче: site.ru/category/news/post превращается в более аккуратный вариант без лишнего уровня вложенности. В WordPress это можно сделать, но важно понимать, что речь идёт не только о внешнем виде ссылок. После изменения структуры нужно сохранить работоспособность старых адресов, иначе часть страниц начнёт отдавать 404, а уже проиндексированные URL потеряют трафик.

Ниже — рабочие способы убрать категорию из URL, когда это допустимо, и что обязательно проверить после изменения.

Когда удаление /category/ действительно уместно

Чаще всего это делают на новых или небольших сайтах, где структура рубрик простая и не нужна жёсткая привязка к категории в адресе. Короткий URL удобнее для пользователя, проще выглядит в выдаче и меньше зависит от перестановок рубрик внутри сайта.

Но есть важное ограничение: если у вас уже есть опубликованные записи, которые индексируются поисковиками, менять структуру нужно только вместе с редиректами. Иначе старые адреса перестанут открываться, а поисковые системы будут какое-то время видеть разрыв между старой и новой версией страницы.

Ещё один практический момент: WordPress использует базу рубрик в URL не случайно. Если у вас есть рубрики с одинаковыми слагами, вложенные категории или сложная структура таксономий, удаление базы может создать конфликты адресов. На таких сайтах лучше сначала проверить, не пересекутся ли пути записей и рубрик после изменения.

Что именно нужно убрать в WordPress

В стандартной установке WordPress фрагмент /category/ появляется из-за настройки базы рубрик. Она задаётся в разделе постоянных ссылок. Если изменить только эту настройку, новые адреса станут короче, но старые ссылки сами по себе не перенаправятся.

Есть два разных сценария:

  • убрать только префикс /category/, оставив рубрики в URL;
  • полностью отказаться от рубрик в адресе записей и строить URL только по слагу записи.

Второй вариант выглядит ещё короче, но он опаснее: если слаг записи совпадёт со страницей, рубрикой или другим типом записи, WordPress может начать путаться в маршрутизации. Поэтому в большинстве случаев разумнее именно убрать базу рубрик, а не вырезать категорию из структуры целиком.

Как убрать /category/ через настройки WordPress

Самый безопасный способ — изменить базу рубрик в админке. Для этого откройте Настройки → Постоянные ссылки и найдите поле, связанное с базой рубрик. В стандартном WordPress оно называется База рубрик или Category base, если интерфейс на английском.

Если в этом поле указано category, WordPress будет добавлять этот префикс ко всем рубрикам. Чтобы убрать его, можно:

  • оставить поле пустым, если хостинг и текущая версия WordPress это корректно принимают;
  • указать другой короткий префикс, если вам нужно не убрать базу совсем, а просто заменить её на более нейтральную.

После сохранения настроек WordPress автоматически обновит правила ЧПУ. Обычно вручную ничего больше делать не нужно, но если сайт работает на нестандартном сервере или через кэширующий слой, может потребоваться сброс кэша.

Проверка простая: откройте страницу рубрики и посмотрите адрес в браузере. Если вместо /category/ остался только слаг рубрики, настройка сработала. Затем откройте старый адрес с /category/ и убедитесь, что он не даёт 404, а перенаправляет на новый URL.

Что делать со старыми адресами и почему редирект обязателен

Если сайт уже жил какое-то время, у старых URL есть история: ссылки из поиска, закладки, внешние упоминания, внутренние переходы. После изменения структуры эти адреса нельзя просто бросить. Нужен постоянный редирект 301 со старого варианта на новый.

Для SEO это критично: так поисковые системы понимают, что страница переехала, а не исчезла. Для пользователей это тоже важно — они не должны попадать на ошибку 404, если открывают старую ссылку из сохранённой статьи или из выдачи.

Редирект можно настроить несколькими способами:

  • через плагин редиректов, если вы не хотите править серверную конфигурацию;
  • через правила веб-сервера, если у вас есть доступ к .htaccess на Apache или к конфигурации Nginx;
  • через специализированный SEO-плагин, если он уже используется на сайте и умеет управлять перенаправлениями.

Если вы не уверены, какой вариант у вас доступен, начните с плагина. Для большинства владельцев сайтов это проще и безопаснее, чем вручную править серверные правила.

Пример редиректа для Apache

Если сайт работает на Apache и у вас есть доступ к .htaccess, можно добавить правило, которое будет отправлять старые адреса рубрик без сохранения лишнего пути. Перед изменением файла сделайте резервную копию: ошибка в .htaccess может уронить сайт или сделать его недоступным.

RewriteEngine On
RewriteRule ^category/(.+)$ /$1 [R=301,L]

Это базовый пример, и применять его нужно осторожно. Он подходит не для всех структур сайта, потому что может конфликтовать с другими правилами ЧПУ. Если у вас на сайте есть сложные маршруты, вложенные рубрики или нестандартные типы записей, лучше сначала проверить поведение на тестовой копии.

Для Nginx правило будет другим, и его нужно добавлять в конфигурацию сервера, а не в .htaccess. Если у вас обычный shared-хостинг, доступ к Nginx-конфигу, скорее всего, отсутствует, поэтому проще использовать плагин или возможности SEO-модуля.

Как не сломать уже проиндексированные страницы

Самая частая ошибка — поменять структуру URL и забыть про старые адреса. В результате новые страницы открываются, а старые начинают отдавать 404. Если поисковик уже успел проиндексировать старые ссылки, это почти всегда приводит к просадке трафика на время переобхода.

Чтобы этого не произошло, действуйте в таком порядке:

  1. Сделайте резервную копию сайта и базы данных.
  2. Проверьте, нет ли на сайте рубрик и записей с одинаковыми слагами.
  3. Измените базу рубрик в настройках WordPress.
  4. Настройте 301-редирект со старых URL на новые.
  5. Проверьте несколько старых адресов вручную и через инструмент проверки ответов сервера.
  6. Обновите внутренние ссылки, если они где-то были прописаны вручную.

Если у вас большой сайт, не полагайтесь только на автоматический редирект. Иногда в старых материалах остаются абсолютные ссылки на рубрики с /category/, и их тоже лучше заменить. Это снижает нагрузку на редиректы и убирает лишние переходы.

Когда лучше не убирать /category/

Есть ситуации, в которых лучше оставить всё как есть. Например, если сайт уже давно работает, хорошо ранжируется и структура URL не мешает пользователям. В таком случае изменение адресов ради косметики может принести больше риска, чем пользы.

Также не стоит спешить, если:

  • на сайте много вложенных рубрик и сложная иерархия;
  • есть риск конфликта с URL страниц или записей;
  • нет возможности нормально настроить 301-редиректы;
  • сайт работает на нестандартной конфигурации, где любое изменение ЧПУ требует отдельной проверки.

Если задача только в том, чтобы убрать визуально лишний префикс, а не перестраивать всю структуру сайта, иногда разумнее заменить базу рубрик на короткое слово, а не удалять её полностью. Это сохраняет предсказуемость маршрутизации и уменьшает риск конфликтов.

Как проверить результат после изменения

После настройки нужно проверить не только главную рубрику, но и несколько реальных страниц. Откройте:

  • новый URL рубрики без /category/;
  • старый URL с /category/;
  • несколько записей, которые находятся в этих рубриках;
  • внутренние ссылки из меню и блоков на сайте.

Если старый адрес отдаёт 301 и ведёт на новый, а новый открывается без ошибок, базовая настройка сделана правильно. Если вместо редиректа вы видите 404, значит правило не сработало или конфликтует с другой частью конфигурации.

Дополнительно стоит открыть исходный код страницы и посмотреть, не остались ли старые ссылки в меню, хлебных крошках или в контенте. Это уже не влияет на саму структуру URL, но помогает убрать лишние переходы и избежать дублирования адресов.

Если вам нужен именно короткий и аккуратный URL без ручной возни с редиректами, в WordPress это решается штатной настройкой базы рубрик. Но на работающем сайте ключевой вопрос не в том, как убрать /category/, а в том, как сделать это без потери старых адресов. Именно редирект и проверка результата отличают безопасное изменение структуры от поломки уже проиндексированных страниц.

⭐⭐⭐⭐⭐