Skip to content

Всё для WordPress, веб-разработки — и не только

🛠 Как добавить категорию и подкатегорию в постоянные ссылки WordPress

🛠 Как добавить категорию и подкатегорию в постоянные ссылки WordPress

Стандартные URL WordPress выглядят как site.com/?p=123, набор цифр, который ничего не говорит ни поисковику, ни читателю. Можно, конечно, переключиться на site.com/sample-post/ через настройки постоянных ссылок, это уже шаг вперёд. Но когда в блоге 50, 100, 500 статей, одного названия поста в URL недостаточно.

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

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

💡 Быстрый обзор:

  • Зайдите в Настройки → Постоянные ссылки и выберите «Пользовательская структура»
  • Вставьте /%category%/%postname%/ и сохраните изменения, категории появятся в URL всех постов
  • Подкатегории подхватываются автоматически: если у поста есть родительская и дочерняя категория, в URL отобразятся обе
  • Чтобы убрать категорию из URL, добавьте точку перед структурой, отредактируйте.htaccess или установите плагин Remove Category URL

Зачем категории в URL

Категории, это не просто способ группировки постов в админке. Если вы ведёте блог о WordPress, у вас могут быть разделы «Плагины», «Темы», «Безопасность», «SEO». Когда читатель видит URL site.com/seo/kak-nastroit-permalinky/, он мгновенно понимает: это статья об SEO, а не о дизайне.

С точки зрения поисковых систем, дополнительное ключевое слово в адресе никогда не лишнее. Google использует URL как один из факторов ранжирования, и осмысленная структура site.com/category/post-name/ даёт больше контекста, чем плоский site.com/post-name/.

Ещё один плюс, хлебные крошки. Если у вас настроены хлебные крошки (через Yoast SEO, Rank Math или тему), категория из URL синхронизируется с навигационной цепочкой: читатель всегда видит путь к текущей статье и может вернуться на уровень выше одним кликом.

Как добавить категорию в постоянные ссылки

Настройка делается за минуту через стандартную админку WordPress. Никаких плагинов не требуется.

Зайдите в Консоль WordPress, перейдите в Настройки → Постоянные ссылки. Перед вами откроется список предустановленных форматов: «Просто», «День и название», «Месяц и название», «Числовой», «Название записи» и «Пользовательская структура».

Выберите Пользовательская структура и в поле ввода укажите:

1/%category%/%postname%/

Нажмите Сохранить изменения.

Поле пользовательской структуры постоянных ссылок WordPress

Готово. Теперь URL всех постов на сайте будут содержать категорию, к которой привязан пост. Например, статья из категории «Безопасность» получит адрес site.com/bezopasnost/nazvanie-posta/.

Один важный нюанс: если вы только создали сайт и ещё не добавили свои категории, WordPress подставит категорию по умолчанию, обычно «Без рубрики» (или uncategorized). В результате URL превратится в site.com/bez-rubriki/vash-post/, выглядит неопрятно. Поэтому перед сменой структуры постоянных ссылок создайте нормальные категории и распределите посты по ним. Подробнее о смене категории по умолчанию, в нашем руководстве.

Как отобразить подкатегории в URL

WordPress поддерживает иерархию категорий: у вас могут быть «Плагины» (родительская) и внутри неё «Плагины кэширования» (дочерняя). Если пост привязан к дочерней категории, WordPress автоматически включит обе в URL.

Структура та же самая, /%category%/%postname%/. Когда у поста одна родительская и одна дочерняя категория, адрес примет вид:

1site.com/plaginy/plaginy-keshirovaniya/nazvanie-posta/

Но здесь есть тонкость. Если посту присвоено несколько категорий (скажем, «SEO» и «Плагины»), WordPress должен выбрать одну, главную, для формирования URL. По умолчанию система берёт категорию, которая идёт первой по алфавиту. Это не всегда совпадает с вашим замыслом: вы хотели показать «SEO», а WordPress выбрал «Плагины», потому что буква «П» раньше «С».

Решение, задать основную категорию вручную. Для этого при редактировании поста в боковой панели «Категории» отметьте нужную как основную (в редакторе блоков Гутенберг, кнопка «Сделать основной» в меню категории). После этого именно она попадёт в URL.

Как убрать категорию из постоянных ссылок

Бывают ситуации, когда категории в URL мешают. Например, вы переносите сайт на новую структуру, меняете таксономию или просто решили, что плоские URL лучше подходят вашему проекту. Вот три способа удалить префикс категории.

Способ 1: Через настройки постоянных ссылок

Самый простой метод, добавить точку перед структурой в поле «Пользовательская структура».

Зайдите в Настройки → Постоянные ссылки, выберите «Пользовательская структура» и введите:

1./%category%/%postname%/
Добавление точки перед структурой для скрытия категории

Точка перед слешем заставляет WordPress игнорировать /category/ при формировании URL. Сохраните изменения и проверьте адрес любого поста, категория исчезла.

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

Способ 2: Правка.htaccess

Если вы работаете на Apache-сервере, можно добавить правило перенаправления в файл .htaccess. Он лежит в корне сайта WordPress.

Добавьте следующий код перед стандартным блоком # BEGIN WordPress:

1RewriteRule ^category/(.+)$ http://www.yourwebsite.com/$1 [R=301,L]
Код RewriteRule в файле .htaccess WordPress

Не забудьте заменить yourwebsite.com на ваш реальный домен. Правило делает 301-редирект: все URL, начинающиеся с /category/, перенаправляются на те же адреса без префикса категории.

Важно: перед редактированием .htaccess сделайте резервную копию файла. Ошибка в синтаксисе может положить весь сайт (ошибка 500), и без бэкапа восстановить доступ будет непросто. Если вы не уверены в своих действиях, лучше воспользуйтесь плагином из третьего способа.

Способ 3: С помощью плагинов

Самый надёжный и безопасный путь.

Remove Category URL, бесплатный плагин, который делает ровно то, что написано в названии. Активировали, и префикс /category/ исчез со всех URL. Никаких настроек, работает автоматически. Совместим с WordPress Multisite, WPML и популярными плагинами карт сайта. После активации карта сайта обновляется с новыми URL.

Плагин регулярно обновляется и проверен на совместимость с актуальными версиями WordPress. Если вы обновили Yoast SEO и обнаружили, что функция удаления категорий из URL пропала (в поздних версиях её убрали), Remove Category URL решит проблему за минуту.

Видео: настройка категорий в постоянных ссылках

Посмотрите короткое видео-руководство по настройке категорий и подкатегорий в URL WordPress. Все шаги из статьи, наглядно, за 5 минут.

⁉️🤔 Частые вопросы

Что будет со старыми URL после смены структуры постоянных ссылок?

WordPress автоматически создаёт 301-редирект со старых адресов на новые при смене структуры постоянных ссылок через стандартные настройки. Проверьте пару старых URL после изменений, если редирект не сработал, установите плагин Redirection и добавьте правило вручную. Старые закладки и ссылки с других сайтов не должны сломаться.

Можно ли добавить категорию в URL только для некоторых постов?

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

Как быть, если у поста несколько категорий и в URL попадает не та?

WordPress выбирает категорию для URL по алфавиту, если основная не назначена явно. При редактировании поста зайдите в блок «Категории», найдите нужную, нажмите на три точки рядом с ней и выберите «Сделать основной». После сохранения поста именно она появится в постоянной ссылке.

Повлияет ли смена постоянных ссылок на SEO?

Да, и в обе стороны. Переход с ?p=123 на /%category%/%postname%/ даёт прирост за счёт ключевых слов в URL. Но частая смена структуры туда-сюда вредит: поисковики не успевают переиндексировать адреса, накапливаются 404-ошибки. Выберите схему один раз, и придерживайтесь её. Если всё же пришлось менять, обязательно проверьте, что старые URL отдают 301-редирект.

Плагин Remove Category URL безопасен для крупного сайта?

Да, плагин работает на уровне WordPress Rewrite API и не затрагивает файлы сервера напрямую, в отличие от ручной правки.htaccess, где ошибка в синтаксисе кладёт сайт. На сайтах с 500+ постами и активной картой сайта плагин отрабатывает корректно: новые URL подхватываются картой сайта автоматически.

Что ставить: категории в URL или плоскую структуру

Короткий ответ: для контентного блога с тематическими разделами, однозначно категории в URL. Это даёт прирост SEO за счёт дополнительных ключевых слов в адресе, улучшает навигацию через хлебные крошки и помогает читателю ориентироваться. Для сайта-визитки из пяти страниц или лендинга разница незаметна, делайте как проще.

Если вы только запускаете сайт, настройте /%category%/%postname%/ с первого дня и забудьте. Категории, которые попадают в URL, создайте заранее и осмысленно (не «Разное 1», «Разное 2»). Основную категорию для каждого поста проставляйте вручную.

Если сайт уже работает и вы меняете структуру, действуйте аккуратно: проверьте редиректы со старых URL, обновите карту сайта в Google Search Console и мониторьте панель Coverage на предмет 404-ошибок в течение первых двух недель. Плагин Redirection, ваш лучший друг на этот период.

А если категории в URL по какой-то причине мешают, Remove Category URL убирает их за минуту, без правки кода и риска уронить сайт.