Как убрать category в WordPress категориях — зачем это делать, плагины для реализации
Правила формирования URL адресов в WordPress определяются в меню админки «Параметры» — «Постоянные ссылки» (Permalink). Там вы можете указать структуру для создания ссылок на ваши посты блога. Дополнительно имеется возможность установить префикс рубрикам, который еще называют category slug или category base (аналогичный параметр есть и у тегов).
Казалось бы, данных опций вполне достаточно, но при этом пользователи часто ищут информацию о том как убрать category из URL WordPress. Сегодня обсудим нужно ли так делать и какие актуальные решения существуют.
Зачем убирать category base?
Как по мне, основных причины две: во-первых, новый адрес страницы лучшее соответствует структуре сайта, а во-вторых, просто смотрится красивее. Например, URL этого поста:
https://wpinsideblog.com/plugins/categorybase/ |
Сама заметка принадлежит к категории плагинов, ссылка для которой:
https://wpinsideblog.com/category/plugins/ |
В первом случае структура проекта легко прослеживается, сразу видно из какого раздела статья. При этом, когда в блоге есть подкатегории, то сначала выводятся родительские, а потом текущая, что тоже вполне логично.
Во втором примере содержится префикс «category», который, вроде как, определяет принадлежность к одной из категорий блога, а с другой стороны, учитывая предыдущий пример и архитектуру сайта, может запутать пользователя. Мне кажется, логичнее в таком случае выглядела бы конструкция по типу http://ваш_сайт.com/раздел/ (без префикса).
Принципиальной разницы в этом вопросе лично я не вижу. Каждый сам решает какие адреса страниц ему больше нравится: оставлять все, как есть, или убирать category в WordPress. Даже не смотря на рекомендацию Google делать URL покороче, не думаю, что данный префикс так уж сильно удлиняет ссылку. Кстати, недавно рассматривал модуль No Category Parents, который призван убрать родительские категории, оставив лишь дочернюю.
Как поступаю я?
Важно заметить, что в более ранних своих проектах я использую формат по умолчанию, а в новых — тот, о котором сегодня идет речь. Не вижу смысла менять устоявшуюся структуру для старых сайтов, т.к. там полно обратных ссылок, и не хочется рисковать (не смотря на 301 редирект и все такое).
В новых разработках, как правило, сразу убираю category из Вордпресс разделов + меняю базовую структуру на /%category%/%postname%.html, которую рекомендуют в статьях по SEO оптимизации WordPress.
Мне кажется, такой подход является более логичным.
Как убрать category из URL WordPress
Теоретически есть несколько методов решения задачи: через htaccess, правку WP исходников (вообще неправильно), установку хаков или плагинов. Проще использовать последний вариант — модули всегда выручали в подобных ситуациях. Ниже найдете парочку из них.
Но перед этим вкратце расскажу о двух методах, которые были популярны раньше, хотя сейчас, наверняка, уже не работают: 1) хитрость с точкой в поле префикса; 2) специальное правило RewriteRule в .htaccess (находится в корневом каталоге сайта).
Внимание! На новых версиях WP я эти приемы не тестировал, а мнения из сети разделились: у кого-то варианты работают, у кого-то частично или совсем нет. Как минимум, если ставить символ «.» в category base, то могут возникнуть проблемы с картой сайта. Имхо, лучше с этим не рисковать, а установить проверенные плагины.
Реализация через SEO Yoast
Есть такой мега крутой и универсальный модуль для оптимизации сайтов — SEO Yoast. Неоднократно его советовал многим людям при решении тех или иных задач. Кроме все прочего он также помогает убрать category в WordPress.
Заходим в раздел настроек «Дополнительно» — там будет закладка «Постоянные ссылки». В первом же пункте перемещаем ползунок в соответствующую позицию.
Основное преимущество метода заключается в том, что вам не нужны никакие дополнительные модули, т.к. SEO Yoast — один из базовых обязательных плагинов в Вордпресс.
No Category Base (WPML)
Самое популярное из доступных решений — No Category Base имеет более 100 тысяч загрузок. Оценка максимальная, поддерживаются версии от WP 4.0 до последних.
Его главная задача — убрать category в WordPress ссылках разделов. Не требует никакой дополнительной настройки или модификаций исходных файлов системы, а также не создает битых линков. Также он самостоятельно разбирается с 301 редиректом старых категорий на новые (важно для seo).
Основные преимущества:
- вы получите более логичные и красивые URL’ы.
- простота использования — не нужно ничего настраивать, редактировать файлы ядра или дополнительно ставить какие-то другие модули;
- корректно работает с мультисайтовыми установками;
- поддерживает обработку вложенной структуры подкатегорий;
- совместим с плагинами карты сайта и WPML;
- имеет 301 редирект старых адресов (важно в SEO).
Remove Category URL
Я уже рассматривал решение через Remove Category URL, оно аналогично предыдущему, но с чуть меньшим числом скачиванием — 50тыс. Кроме того, здесь минимальная требуемая версия Вордпресс — 3.1, что подойдет для более ранних установок.
Перечислять список функций, в принципе, нет смысла, т.к. он полностью повторяет первый модуль: отсутствие доп.настроек, работа «из коробки», совместимость с другими разработками, поддержка подкатегорий и WordPress Multisite + 301 редирект. Обновлялся относительно недавно, ошибок нет.
Выводы и дополнительные нюансы
Конечно, это не единственные варианты, которые позволяют убрать category из URL WordPress однако некоторые из них требуют установки дополнительных плагинов, другие — морально устарели, не включают в себя редирект и т.п. В репозитории по тегу category base можно найти парочку подобных решений, но внимательно смотрите описание их функций.
Если вы как-то самостоятельно разобрались с вопросом изменения адресов ссылок, обязательно удостоверьтесь в том, что у вас настроен 301 редирект из старых URL’ов в новые. Это крайне важно в SEO. Разумеется, данную фишку нужно делать только для работающих уже какое-то время проектов. Если создаете сайт с нуля, то там пока что нечего редиректить. Удобно, что все популярные модули, указанные выше, этот момент учитывают.
А вы убираете category из ссылок категорий блога? Каким образом?
комментариев 57 к статье “Как убрать category в WordPress категориях — зачем это делать, плагины для реализации”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Плагин WP-PostRatings рейтинга постов в WordPress (5,79 из 7, голосов - 934)
- Оптимизируем WordPress header и удаляем лишний код (5,19 из 7, голосов - 43)
- Кэширование в wordpress — выбираем лучший плагин для кэширования (5,63 из 7, голосов - 35)
- Плагин WP01 расскажет как ускорить и оптимизировать сайт на WordPress (4,48 из 7, голосов - 33)
- Оптимизация и ускорение Elementor – как убрать лишние стили и шрифты (3,72 из 7, голосов - 39)
- WP-Optimize — плагин для оптимизации базы данных в WordPress (4,60 из 7, голосов - 25)
- Плагины кэширования Hyper Cache + DB Cache Reloaded Fix для wordpress (5,41 из 7, голосов - 17)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
Не знаю, у меня как-то без-плагинов все получилось :)
Просто убрал слово categories, и ссылки все равно работают:
inspired.com.ua/logotypes
inspired.com.ua/category/logotypes
blogoreader, тут немного не то — ты убрал вручную — в таком случае все будет работать без проблем, но вот, например, под заголовком у тебя выводится ссылка категории уже системой и она создает дублированный контент. Суть плагина — изменить механизм генерации ссылок для wordpress.
Могу ошибаться, но раньше с этим плагином была проблема, в случаи если у рубрик есть подрубрики.
использую плаг Top Level Categories… в ЧПУ проставляю /%postname%.html
в итоге имею ссыль для категории: toribloger.com/wordpress
ссыль для всех записей: toribloger.com/go-php-links-redirect.html
Тут вы написали, что ссылка будет выглядеть так:
wpinsideblog.com/plugins/tinymce-advanced/
А если например, я для статьи использую две категории, то как тогда будет выглядеть ссылка?.
А я вообще никак не убираю «category». Все эти разговоры о дублированном контенте, на мой взгляд — не стоят ровным счетом ничего. В конце-концов я 100% уверен, что Google давным-давно разобрал WordPress по кускам и определил что и как работает.
И, соответственно, прекрасно знает — какая ссылка является основной, а какая — из категорий.
d0s, если вложенные категории, то ссылка будет по типу:
wpinsideblog.com/category1/category2/tinymce-advanced/
Tod, это понятно, но речь идет как раз о том, что для одной записи я использую несколько категорий, так например в статье про плагины, в Категориях я Использую Подкатегорию с Именем Автора (категория авторы), и тут же использую Подкатегорию Важные (категория Плагины).
или еще пример, когда публиковал статью Опции текущей темы там тоже 2 категори: 1) My Work 2)Темы, Шаблоны
Тогда как будет происходить отображение ссылки? вот что интересно =)
d0s, в таком случае система генерирует ссылку для первой категории. Если написать в адресной строке вторую категорию, то пост будет отображаться, но нигде больше эта ссылка «не всплывет» — ни тебе дублированного контента, не проблем с ориентацией на сайте. Кстати, я проверял и, вроде бы, даже в архиве категории номер2 будет показана ссылка на пост с URL`ом от категории1 — то есть технически все очень грамотно.
А просто в категориях разве нельзя сделать str_replace(«/category»,»»,$catlink1)? По-моему без заморочки две строчки и функцию назвать, как-нибудь, вот и всё.
Tod, Спасибо за информацию!.
Change life, это к чему здесь str_replace? Выводить ссылку для функции? Зачем, если этим должна заниматься система… Можно и вручную текст написать, только вот гибкости это не добавит.
А чем плох category в ссылке?
Спасибо, очень полезный плагин, придает большую человечность адресу. Надо будет сегодня же попробовать.
Паша, ничем, внимательно читаем статью для чего теоретически можно убирать category.
WP No Category Base кажется в определенных моментах не работает и я отказался от него в пользу другого плагина: «No category parents»
А если не хочешь очередного плагина, то просто весь код, что есть в этом плагине скопируй и перенеси в файл functions.php твоей темы
Я бы попробовал, но в связи с заменой урлов не будет ли проблем с индексированием поисковиками, страницы ведь как бы выпадают из индекса выходит??
ОченьЗлой, вот и я в этом не уверен, поэтому для старых сайтов оставил все, как есть — разница то не особо велика + я их в сапу не закидываю. А для новых можно сразу эту настройку делать.
Я нашел способ очень простой!!!
префикс для рубрик
пишите там точку и все будет как хотелось!
Если я вам помог, то поставьте ссылку на мой блог, пожалуйста.
Driud, оно то ссылки сделает без category но они будут нерабочими и никак не попадешь на страницы рубрик
lilumi, у меня рабочие
Плагин то что надо) порадовал
а я прописываю ф-цию в functions.php темы:
add_action(‘get_header’, ‘my_header’);
function my_header() {
global $wp_rewrite;
$wp_rewrite->category_structure = ‘/%category%’;
}
Попробовала разные способы на разных своих сайтах:
запись в .htaccess не заработала
точка в префиксе для рубрик тоже привела к 404
плагин не везде работал
Способ из крайнего комментария, на локалке работает, позже проверю на хостинге.
Проверила… можно только если сразу прописывать на новом сайте, на сайте, где уже созданы записи, приводит к 404.
lilumi, точка в префиксе для рубрик и вправду работает оО. проверил на WordPress 3.0.1 на локальном сервере. Надо почитать документацию WordPress, может это новая фича)
Hyperc0der, только что проверил на вп3.0 — там действительно эта фича уже работает, но сам комментарий то был написал еще до появления вордпреса 3.0, а в старых версиях ссылки становятся нерабочими при таком финте :)
До 3.0 работало, если написать в префиксе /../
Причем если смотреть html код, то эти точки там есть, в версии >3.0 точка тоже есть в коде. Но браузеры их обрабатывают нормально, поисковики вроде бы тоже, по крайней мере особого негатива не замечено.
Когда-то спрашивала себя — почему многим так мешает префикс category, пока сама не сделала из этих категорий меню. Самый оптимальный, наверное, вариант — указать префикс для рубрики, а вот при изменении .htaccess у меня почему -то не работает … Да и судя по результатам поиска вносить изменения в рубрики еще можно, а вот менять префикс tag приведет к многочисленным «не найденным» страницам.
а я вот не совсем понимаю зачем удалять category? это как то влияет на индексацию сайта?