SEO для рубрик WordPress

Пост посвящается всем начинающим специалистам по SEO, у которых возникла задача поисковой оптимизации рубрик WordPress, но при этом нет возможности обратиться к квалифицированным программистам. Хоть я сам и не являюсь продвинутым вебмастером, но за несколько лет работы с ВордПрессом у меня скопился набор рабочих решений-костылей, которыми я и поделюсь в этой статье.

Что необходимо для полноценной поисковой оптимизации рубрик? На мой взгляд это:

  1. Красивый URL, без стандартного префикса /category/
  2. Возможность задать для каждой категории свой title и description, а также возможность генерации данных тегов по шаблону, в случае, если они небыли заданы явно.
  3. Возможность вывести для каждой рубрики текстовое описание, без дублирования на страницах пагинации.

По порядку о том, как это все можно реализовать.

Убираем из URL /category/

Нужно ли убирать из URL префикс /category/, или нет — каждый решает для себя сам. На мой взгляд от него нет никакой пользы, поэтому я убираю. Самое простое решение — плагин «WP No Category Base» — скачали, установили, забыли. Если вы не сторонник лишних плагинов, а любите покопаться в коде, то советую посмотреть альтернативные решения вот тут.

Теги title и description

Если на вашем WP сайте потребовалось оптимизировать рубрики, то я рекомендую установить плагин «Yoast WordPress SEO», если вы использовали «All In One SEO Pack», то легко сможете импортировать из него все настройки.

Плагин Yoast WordPress SEO позволяет:

  1. Задавать для каждой рубрики тег title и description (а при необходимости и keywords);
  2. Создавать шаблоны заголовков и описаний для разных типов документов (записи, страницы, рубрики, метки);

Единственный недостаток, который я обнаружил в данном плагине — это то, что он выводит один и тот же тег title для всех страниц пагинации. Чтобы исправить этот недочет придется немного покопаться в коде вашего шаблона. Обычно тег title формируется в файле темы head.php и имеет вид:

<title><?php wp_title();?></title>

Необходимо, чтобы на страницах пагинации title формировался иначе. Я реализовал это следующим образом — сначала проверяем находимся ли мы на страницы пагинации, если да, то проверяем это пагинация главной страницы, или паганация рубрики:

<title><?php if( is_paged() ){

            if( is_home() ){

                        bloginfo(‘name’);

            }

            else

                        single_cat_title();

            $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;

            echo ‘: страница ‘. $paged;

            }

else

            wp_title();

?></title>

Текстовое описание для рубрик

Для SEO нужд часто бывает необходимо разместить в категориях текст. У каждой рубрики есть поле «Описание», которое и будем использовать, но для начало необходимо модифицировать поле в полноценный текстовый редактор — это можно сделать установив плагин «Rich Text Tags, Categories, and Taxonomies». После этого в файле вашей темы, который отвечает за вывод рубрик (обычно category.php, хотя конечно название может быть и другим) необходимо вставить код вывода описания:

<?php if ( $paged < 2 ) {

            add_filter(‘category_description’, ‘wpautop’);

            add_filter(‘category_description’, ‘wptexturize’);

            echo category_description();

}?>

В каком именно месте вам нужен текст — определяйтесь сами, как правило размещают под записями. На некоторых темах может возникнуть проблема, когда текст из поля «Описание» будет выводиться в атрибуте title у ссылок. Решается довольно просто, если вывод рубрик прописан напрямую в шаблоне, то ищем:

<?php wp_list_categories(‘use_desc_for_title=1’); ?>

И меняем 1 на 0:

<?php wp_list_categories(‘use_desc_for_title=0’); ?>

Если же рубрики выводятся на сайте при помощи виджетов, то можно добавить в файл functions.php следующий код:

function removeTitle($str){

            $str = preg_replace(‘#title=»[^»]+»#’, », $str);

            return $str;

}

add_filter(«wp_list_categories», «removeTitle»);

Ну вот пожалуй и все. Если есть вопросы и/или предложения как можно улучшить тот, или иной код/метод, то пишите в комментариях ;)

BR-66D2406EAA97-24-03-19-10
Понравилась статья? Поделиться с друзьями:
Комментарии: 6
  1. Сергей

    Спасибо Игорь большое. Вот только проблемка одна, вставил данный код в header, для страниц пагинации всё выводится как нужно, а вот для главной страницы выводится постой . Подскажи как исправить?

  2. Сергей

    Выводится пустой title, форма коммента код сьела)))

  3. Bakalov Igor (автор)

    Сергей, у меня нормально работало, я не программист, если что-то не так, то лучше к спецам обратитесь.

  4. Александр

    Описание рубрик дублируется в пагинации

  5. Алексей

    У меня почему-то в категориях не работает для title и description сайта, есть только настройки для Facebook.

  6. Дмитрий

    Здравствуйте, хочу оптимизировать страницы рубрик и написать для них тексты. Вопрос по поводу «Убираем из URL /category/». А если страницы уже в индексе, то что в таком случае лучше сделать?Оставить как есть и писать под эти юрл тексты или ничего страшного, если страницы разделов в индексе перестанут существовать?
    Сообщите на почту, если ответите.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: