При формировании ссылки для категорий в wordpress используется такая настройка как category slug (или category base). Вы можете ее найти в меню админки «Параметры» — «Постоянные ссылки» (Permalink). Здесь, кстати, также задаются значения для формирования ссылок отдельных статей, ну и есть аналогичный категориям параметр slug для тегов.
Для постов в своих блогах я выбираю конструкцию /%category%/%postname%/, которая выводит название категории, а после нее url конкретной статьи. Например ссылка для страницы плагин TinyMCE Advanced имеет вид: wordpressinside.ru/plugins/tinymce-advanced/. Здесь можно проследить структуру проекта, и узнать какому разделу принадлежит статья. Когда в блоге есть подкатегории, то сначала выводится родительская, потом текущая, что вполне логично. При этом ссылки для самих категорий выглядят по типу: wordpressinside.ru/category/plugins/. С одной стороны, текст category указывает на то, что эта страница есть одним из разделов блога, но с другой, учитывая, предыдущий пример и архитектуру сайта можно было просто выводить название сайта и категории без промежуточного текста.
В принципе, в этом вопросе нет однозначного мнения – каждый для себя должен решить нужен ли ему такой подход или можно оставить все по умолчанию. Лично я не вижу принципиально отличия в данном случае. Да, Google рекомендует делать ссылки как можно короче и убирать из них ненужные элементы, но слово «category» не так уже сильно удлиняет url. Возможно, убрать один уровень для линка понадобиться людям, которые продают ссылки в той же Sape.
Учитывая тот факт, что мои блоги существуют достаточно давно, менять структуру ссылок я там не хочу. А тут как раз занялся созданием блога о typo3 и решил попробовать метод исключения слова category из ссылки. Хак для данного перевоплощения находил давно, но на практике все оказалось немного сложнее. На одном из англоязычных блогов нашел специальную настройку для файла .htaccess, в который нужно добавить строку
1
|
RewriteRule ^category/(.+)$ http://www.house-computer.ru/$1 [R=301,L]
|
Не забудьте поменять ссылку house-computer.ru на свою. В комментариях к этому посту многие пользователи написали, что данная правка ни на что не повлияла. Собственно, я столкнулся с такой же проблемой – category все еще выводилась для ссылок разделов.
Нашел еще 2-3 различных вариации с функциями, правками файлов исходника, но все они не особо внушали доверия – во-первых, в комментариях часто говорили, что ничего не получается, во-вторых, правка исходиков системы wordpress, да и еще нескольких файлов – мягко говоря, не лучшее решение. Поэтому единственным «нормальным» вариантом оказался плагин WP No Category Base.
Главная функция плагина – удаление Category Base из URL`а разделов. Причем плагин не требует никакой дополнительной настройки или модификаций ихсодных файлов системы вордпресс, а также не создает битых ссылок. Также он самостоятельно разбирается с редиректом старых ссылок категорий на новые (301 редирект, хорош для seo). Вообще нужно заметить, что это не единственный плагин, но некоторые решения требовали установки нескольких (!) модулей – что, конечно, полностью неприемлемо. Короче говоря у WP No Category Base одни плюсы:
- Делает урлы красивее.
- Плагин предельно прост – выполняет всю работу самостоятельно.
- Работает «из коробки» без всяких настроек.
- Нет необходимости править исходные файлы wordpress.
- Не требует других плагино для работы.
- Совместим с модулями карты сайтов.
- Работает с подкатегориями.
- Ну и занимается редиректом старых урлов на новые.
Про установку писать нечего – скачали, разархивировали, залили на ФТП блога и активировали. Единственный вопрос, который может возникнуть, нужно ли вам ставить дополнительный плагин чтобы убрать category из ссылок категорий блога. Честно говоря, я пока для себя не решил – если бы все делалось простой правкой .htaccess я бы, скорее всего, этим занимался, но тут ставить еще один плагин, который грузит блог еще больше. Хотя с другой стороны плагин вроде как не сложный, а ссылки для сателлитов и блогов получаются красивее:) Потеструю пока что WP No Category Base на TYPO3 блога, а там буду решать с ним делать дальше.
Update: По поводу символа точки «.» в качестве «префикса для рубрик» — многие говорят, что если указать его в соответствующем поле, то слово category не будет отображаться. И это действительно так. Но когда вы посмотрите XML карту сайта sitemap.xml, то обнаружите, что точка там остается и ссылки получаются не очень хорошие.
А вы убираете category из ссылок категорий блога? Каким образом?
Статья взята из открытых источников: http://wordpressinside.ru/plugins/categorybase/