Дек
9
54

Как убрать category в WordPress категориях — зачем это делать, плагины для реализации

Удаляем category в ВордпрессПравила формирования URL адресов в WordPress определяются в меню админки «Параметры» — «Постоянные ссылки» (Permalink). Там вы можете указать структуру для создания ссылок на ваши посты блога. Дополнительно имеется возможность установить префикс рубрикам, который еще называют category slug или category base (аналогичный параметр есть и у тегов).

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

Зачем убирать category base?

Как по мне, основных причины две: во-первых, новый адрес страницы лучшее соответствует структуре сайта, а во-вторых, просто смотрится красивее. Например, URL этого поста:

http://wordpressinside.ru/plugins/categorybase/

Сама заметка принадлежит к категории плагинов, ссылка для которой:

http://wordpressinside.ru/category/plugins/

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

Во втором примере содержится префикс «category», который, вроде как, определяет принадлежность к одной из категорий блога, а с другой стороны, учитывая предыдущий пример и архитектуру сайта, может запутать пользователя. Мне кажется, логичнее в таком случае выглядела бы конструкция по типу http://ваш_сайт.com/раздел/ (без префикса).

Принципиальной разницы в этом вопросе лично я не вижу. Каждый сам решает какие адреса страниц ему больше нравится: оставлять все, как есть, или убирать category в WordPress. Даже не смотря на рекомендацию Google делать URL покороче, не думаю, что данный префикс так уж сильно удлиняет ссылку. Кстати, недавно рассматривал модуль No Category Parents, который призван убрать родительские категории, оставив лишь дочернюю.

Как поступаю я?

Важно заметить, что в более ранних своих проектах я использую формат по умолчанию, а в новых — тот, о котором сегодня идет речь. Не вижу смысла менять устоявшуюся структуру для старых сайтов, т.к. там полно обратных ссылок, и не хочется рисковать (не смотря на 301 редирект и все такое).

В новых разработках, как правило, сразу убираю category из Вордпресс разделов + меняю базовую структуру на /%category%/%postname%.html, которую рекомендуют в статьях по SEO оптимизации WordPress.

Формат ссылок URL в Вордпресс

Мне кажется, такой подход является более логичным.

Как убрать category из URL WordPress

Теоретически есть несколько методов решения задачи: через htaccess, правку WP исходников (вообще неправильно), установку хаков или плагинов. Проще использовать последний вариант — модули всегда выручали в подобных ситуациях. Ниже найдете парочку из них.

Но перед этим вкратце расскажу о двух методах, которые были популярны раньше, хотя сейчас, наверняка, уже не работают: 1) хитрость с точкой в поле префикса; 2) специальное правило RewriteRule в .htaccess (находится в корневом каталоге сайта).

Старые методы как category из WordPress

Внимание! На новых версиях WP я эти приемы не тестировал, а мнения из сети разделились: у кого-то варианты работают, у кого-то частично или совсем нет. Как минимум, если ставить символ «.» в category base, то могут возникнуть проблемы с картой сайта. Имхо, лучше с этим не рисковать, а установить проверенные плагины.

Реализация через SEO Yoast

Есть такой мега крутой и универсальный модуль для оптимизации сайтов — SEO Yoast. Неоднократно его советовал многим людям при решении тех или иных задач. Кроме все прочего он также помогает убрать category в WordPress.

Заходим в раздел настроек «Дополнительно» — там будет закладка «Постоянные ссылки». В первом же пункте перемещаем ползунок в соответствующую позицию.

Плагин SEO Yoast

Основное преимущество метода заключается в том, что вам не нужны никакие дополнительные модули, т.к. SEO Yoast — один из базовых обязательных плагинов в Вордпресс.

No Category Base (WPML)

Самое популярное из доступных решений — No Category Base имеет более 100 тысяч загрузок. Оценка максимальная, поддерживаются версии от WP 4.0 до последних.

Плагин No Category Base

Его главная задача — убрать category в WordPress ссылках разделов. Не требует никакой дополнительной настройки или модификаций исходных файлов системы, а также не создает битых линков. Также он самостоятельно разбирается с 301 редиректом старых категорий на новые (важно для seo).

Основные преимущества:

  • вы получите более логичные и красивые URL’ы.
  • простота использования — не нужно ничего настраивать, редактировать файлы ядра или дополнительно ставить какие-то другие модули;
  • корректно работает с мультисайтовыми установками;
  • поддерживает обработку вложенной структуры подкатегорий;
  • совместим с плагинами карты сайта и WPML;
  • имеет 301 редирект старых адресов (важно в SEO).

Remove Category URL

Я уже рассматривал решение через Remove Category URL, оно аналогично предыдущему, но с чуть меньшим числом скачиванием — 50тыс. Кроме того, здесь минимальная требуемая версия Вордпресс — 3.1, что подойдет для более ранних установок.

Модуль Remove Category URL

Перечислять список функций, в принципе, нет смысла, т.к. он полностью повторяет первый модуль: отсутствие доп.настроек, работа «из коробки», совместимость с другими разработками, поддержка подкатегорий и WordPress Multisite + 301 редирект. Обновлялся относительно недавно, ошибок нет.

Выводы и дополнительные нюансы

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

Если вы как-то самостоятельно разобрались с вопросом изменения адресов ссылок, обязательно удостоверьтесь в том, что у вас настроен 301 редирект из старых URL’ов в новые. Это крайне важно в SEO. Разумеется, данную фишку нужно делать только для работающих уже какое-то время проектов. Если создаете сайт с нуля, то там пока что нечего редиректить. Удобно, что все популярные модули, указанные выше, этот момент учитывают.

А вы убираете category из ссылок категорий блога? Каким образом?

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 10, средний балл: 5,60 из 7)
Загрузка...

категория Категории: Оптимизация; Плагины; Хаки и секреты;
теги Теги: , , , , , .

комментария 54 к статье “Как убрать category в WordPress категориях — зачем это делать, плагины для реализации”

  • blogoreader   17.04.2010

    Не знаю, у меня как-то без-плагинов все получилось :)
    Просто убрал слово categories, и ссылки все равно работают:
    inspired.com.ua/logotypes
    inspired.com.ua/category/logotypes

  • Tod   17.04.2010

    blogoreader, тут немного не то — ты убрал вручную — в таком случае все будет работать без проблем, но вот, например, под заголовком у тебя выводится ссылка категории уже системой и она создает дублированный контент. Суть плагина — изменить механизм генерации ссылок для wordpress.

  • Sharpei   17.04.2010

    Могу ошибаться, но раньше с этим плагином была проблема, в случаи если у рубрик есть подрубрики.

  • Виталий   17.04.2010

    использую плаг Top Level Categories… в ЧПУ проставляю /%postname%.html
    в итоге имею ссыль для категории: toribloger.com/wordpress
    ссыль для всех записей: toribloger.com/go-php-links-redirect.html

  • d0s   18.04.2010

    Тут вы написали, что ссылка будет выглядеть так:

    wordpressinside.ru/plugins/tinymce-advanced/

    А если например, я для статьи использую две категории, то как тогда будет выглядеть ссылка?.

  • Yaroslav.CH   18.04.2010

    А я вообще никак не убираю «category». Все эти разговоры о дублированном контенте, на мой взгляд — не стоят ровным счетом ничего. В конце-концов я 100% уверен, что Google давным-давно разобрал WordPress по кускам и определил что и как работает.
    И, соответственно, прекрасно знает — какая ссылка является основной, а какая — из категорий.

  • Tod   18.04.2010

    d0s, если вложенные категории, то ссылка будет по типу:
    wordpressinside.ru/category1/category2/tinymce-advanced/

  • d0s   19.04.2010

    Tod, это понятно, но речь идет как раз о том, что для одной записи я использую несколько категорий, так например в статье про плагины, в Категориях я Использую Подкатегорию с Именем Автора (категория авторы), и тут же использую Подкатегорию Важные (категория Плагины).
    или еще пример, когда публиковал статью Опции текущей темы там тоже 2 категори: 1) My Work 2)Темы, Шаблоны

    Тогда как будет происходить отображение ссылки? вот что интересно =)

  • Tod   20.04.2010

    d0s, в таком случае система генерирует ссылку для первой категории. Если написать в адресной строке вторую категорию, то пост будет отображаться, но нигде больше эта ссылка «не всплывет» — ни тебе дублированного контента, не проблем с ориентацией на сайте. Кстати, я проверял и, вроде бы, даже в архиве категории номер2 будет показана ссылка на пост с URL`ом от категории1 — то есть технически все очень грамотно.

  • Change life   20.04.2010

    А просто в категориях разве нельзя сделать str_replace(«/category»,»»,$catlink1)? По-моему без заморочки две строчки и функцию назвать, как-нибудь, вот и всё.

  • d0s   20.04.2010

    Tod, Спасибо за информацию!.

  • Tod   20.04.2010

    Change life, это к чему здесь str_replace? Выводить ссылку для функции? Зачем, если этим должна заниматься система… Можно и вручную текст написать, только вот гибкости это не добавит.

  • Паша   22.04.2010

    А чем плох category в ссылке?

  • Семен   22.04.2010

    Спасибо, очень полезный плагин, придает большую человечность адресу. Надо будет сегодня же попробовать.

  • Tod   23.04.2010

    Паша, ничем, внимательно читаем статью для чего теоретически можно убирать category.

  • lilumi   24.04.2010

    WP No Category Base кажется в определенных моментах не работает и я отказался от него в пользу другого плагина: «No category parents»
    А если не хочешь очередного плагина, то просто весь код, что есть в этом плагине скопируй и перенеси в файл functions.php твоей темы

  • ОченьЗлой   25.04.2010

    Я бы попробовал, но в связи с заменой урлов не будет ли проблем с индексированием поисковиками, страницы ведь как бы выпадают из индекса выходит??

  • Tod   26.04.2010

    ОченьЗлой, вот и я в этом не уверен, поэтому для старых сайтов оставил все, как есть — разница то не особо велика + я их в сапу не закидываю. А для новых можно сразу эту настройку делать.

  • druid   26.04.2010

    Я нашел способ очень простой!!!

    префикс для рубрик
    пишите там точку и все будет как хотелось!

    Если я вам помог, то поставьте ссылку на мой блог, пожалуйста.

  • lilumi   26.04.2010

    Driud, оно то ссылки сделает без category но они будут нерабочими и никак не попадешь на страницы рубрик

  • druid   29.04.2010

    lilumi, у меня рабочие

  • JAH   18.05.2010

    Плагин то что надо) порадовал

  • ct   04.07.2010

    а я прописываю ф-цию в functions.php темы:
    add_action(‘get_header’, ‘my_header’);
    function my_header() {
    global $wp_rewrite;
    $wp_rewrite->category_structure = ‘/%category%’;
    }

  • VRS   18.08.2010

    Попробовала разные способы на разных своих сайтах:
    запись в .htaccess не заработала
    точка в префиксе для рубрик тоже привела к 404
    плагин не везде работал

    Способ из крайнего комментария, на локалке работает, позже проверю на хостинге.
    Проверила… можно только если сразу прописывать на новом сайте, на сайте, где уже созданы записи, приводит к 404.

  • Hyperc0der   07.10.2010

    lilumi, точка в префиксе для рубрик и вправду работает оО. проверил на WordPress 3.0.1 на локальном сервере. Надо почитать документацию WordPress, может это новая фича)

  • lilumi   11.10.2010

    Hyperc0der, только что проверил на вп3.0 — там действительно эта фича уже работает, но сам комментарий то был написал еще до появления вордпреса 3.0, а в старых версиях ссылки становятся нерабочими при таком финте :)

  • Borman   30.10.2010

    До 3.0 работало, если написать в префиксе /../

  • Borman   30.10.2010

    Причем если смотреть html код, то эти точки там есть, в версии >3.0 точка тоже есть в коде. Но браузеры их обрабатывают нормально, поисковики вроде бы тоже, по крайней мере особого негатива не замечено.

  • ekaterina   06.01.2011

    Когда-то спрашивала себя — почему многим так мешает префикс category, пока сама не сделала из этих категорий меню. Самый оптимальный, наверное, вариант — указать префикс для рубрики, а вот при изменении .htaccess у меня почему -то не работает … Да и судя по результатам поиска вносить изменения в рубрики еще можно, а вот менять префикс tag приведет к многочисленным «не найденным» страницам.

  • Евгений   18.04.2011

    а я вот не совсем понимаю зачем удалять category? это как то влияет на индексацию сайта?

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Заработай в GoGetLinks
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости