Как убрать category в wordpress?

Добрый день, друзья. Если вы используете в вордпрессе рубрики и человекоподобные url (ЧПУ), то, вероятно, знаете, что wordpress автоматически добавляет слово category к ссылки на категорию (рубрику). В некоторых случаях это слово можно убрать. О том, как это сделает, читайте дальше.

Как убрать category в wordpress

Сначала немного мыслей на этот счет. Как мы все знаем, яндекс (да и гугл тоже) ужасно не любит дубли контента. Он за это наказывает — банит сайты или накладывает на них агс. Чтобы убрать дубли на сайте, работающем на cms wordress, нужно составить правильный robots.txt и создать грамотную структуру сайта.

Если вы убираете слово category из url, не заменяя его каким-либо другим словом в настройках сайта, то вы при стандартной структуре сайта (все посты выводятся на главной странице с постраничной навигацией) получаете огромное количество дублей контента. Поэтому, если вы решили убрать category, то должны создать такую структуру сайта, которая не допустит появления дублей контента.

Также стоит понимать, что если сайт старый, то на некоторые страницы категорий поставлены ссылки, содержащие слово category. При удаление этого слова нужно сделать 301ый редирект с старых ссылок на новые.

Перейдем к практике. Чтобы убрать слово сategory, можно использовать как плагины, так и функции. Я не устану повторять, что, плагины нужно использовать в последнем случаи, когда нет других решений. Поэтому, предлагаю сейчас использовать для этой задачи функцию. Я использую эту функцию:

function seocategorydel($catlink1) {
 $catlink1 = str_replace('/category', '', $catlink1);
 return $catlink1;
}
add_filter('category_link', 'seocategorydel', 1, 1);

Для того чтобы функция заработала, её нужно скопировать в файл functions.php вашей темы.

Если у вас не получилось удалить слово category из URL wordpress, то пишите в комментарии, я обязательно вам помогу.

Категории: wordpress

Метки:


  • не помогло.
    как было так и осталось

    http://usalife.ru/obshhaya/pochemu-mne-nravitsya-amerika.html

    как убрать «obshhaya»?

    вот часть функции
    »,
    ‘after_widget’ => »,
    ‘before_title’ => »,
    ‘after_title’ => »,
    ));

    function seocategorydel($catlink1) {
    $catlink1 = str_replace(‘/category’, », $catlink1);
    return $catlink1;
    }
    add_filter(‘category_link’, ‘seocategorydel’, 1, 1);

    • Денис

      Василий, чтобы убрать obshhaya, не нужно использовать эту функцию. Она создана, чтобы, когда вы зайдете по ссылки в категорию obshhaya, у вас была ссылка http://usalife.ru/obshhaya, а не http://usalife.ru/category/obshhaya.

      Ваша проблема решается так:
      1) Заходите http://usalife.ru/wp-admin/options-permalink.php
      2) Общие настройки->Произвольно-> там пишите только /%postname%.html
      3) Все, ваша задача решена.

  • Артём

    Привет,
    только начал делать сайт, столкнулся с такой проблемой — больше напрягает не присутствие слова category в ЧПУ, а присутствие его в рубриках. То есть, захожу с главной страницы сайта в любую рубрику, например в «ВИДЕО» и что я вижу: прямо вверху над всеми постами уродливо маячит непойми-нахер-кому-нужная надпись Category Видео. Поможет ли этот способ избавиться от этой надписи? Если нет, то что можно сделать? Сайт у меня пока переведен в maintenance mode, но если нужно — я открою его на время для демонстрации своей проблемы. Спасибо.

    • Привет. Нет, данный способ не поможет. Нужно открыть шаблон темы и смотреть, что там написано.