Оптимизация рубрик

Как выводить посты рубрики, название и описание?

Рубрики это инструмент навигации по сайту, они улучшают «общение» между вебмастером и посетителем. Так как перечисленные выше свойства входят в «ТОП» главных параметров успешного сайта, то возникает вопрос… А как же оптимизировать эти самые категории?

Категории или рубрики, как вам больше удобно, должны стать вашим оружием в борьбе с упрямыми поисковыми системами, именно о том как оптимизировать выводимые страницы рубрик и пойдет речь в данной статье.


Навигация по странице:

Как вы уже поняли речь пойдет о категориях сайта и их оптимизации. Почему данная тема актуальна? Все дело в том что в WordPress темах, в большинстве из них, страницы рубрик никак не адаптированы под требования поисковиков.

Вы можете ознакомиться с базовыми вопросами в этой статье: Что такое рубрики и как их создавать?

Итак, давайте разберем все по порядку, чем же могут помочь и навредить рубрики сайту?

Рубрики создают дубли страниц.

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

Что же делать и как решить эту проблему? А решение довольно простое… Нужно сделать страницы рубрик уникальными. В таком случае ваши категории не только не навредят, но и значительно повысят ваш сайт в глазах поисковых роботов.

Во избежание дублирования контента многие закрывают индексацию рубрик как в файле robots, так и мета тегами, но это не выход! Есть страница, да еще и участвующая в навигации, которая передает значительное количество веса страниц, она должна быть проиндексирована!




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

Как вывести название категории?

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

Что бы вывести название категории, скажем в теге H1, то-есть в заголовке первого уровня, нам нужно прописать следующий код в нашем файле (вы можете использовать любой html тег допустимый в данном случае):

<h1 class=»category-title»><?php single_cat_title(); ?></h1>

Функция php single_cat_title() выведет на экране название категории, указанное при создании в админке.

CSS класса и сам класс это уже ваша забота, тут вариантов очень много, все зависит от вашей темы и желаний.

ОК, мы выводим название категории, скорее всего, но состоит из одного — двух слов, что же делать если нам нужно добавить определенный текст? Выход так же есть, можем перед выводом функции добавить определенный текст:

<h1 class=»category-title»>Статьи рубрики: <?php single_cat_title(); ?></h1>

Я думаю описывать это действие не нужно, перед непосредственным выводом названия добавляется фраза «Статьи рубрики» с двоеточием, что отлично подойдет под любое слово.

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

Название рубрики выводить научились, отлично, теперь перейдем к описанию.

Как выводить описание рубрик?

Для вывода описания категорий существует так же несколько способов.

Первый способ это банальный вызов функции category_description( $category_id ), который выведет описание рубрики указанное при создании. Минус этого варианта в том, что без использования плагина, адекватно настроить стили описания не выйдет, сухой текст без тегов…

В шаблоне это должно выглядеть примерно так:

<div class=»text-category»><p><?php echo category_description( $category_id ); ?></p></div>

Под эти классы можно немного подправить внешний вид. Этот способ является самым быстрым и простым. Несмотря на это большинство это устроит, ведь этот текст больше предназначен для «машин» чем для пользователей. Посетитель перейдя на страницу категории в первую очередь ищет нужные и понятные ссылки на подробные материалы сайта.

Вторым способом, так же как и в случае с названием является создание и использование функции php внутри темы, которая будет выводить описание для каждой категории отдельно и разные, на данный момент я пример не приведу, но обязательно сделаю это немного позже.

Вывод постов рубрик.

Для вывода постов используется стандартный цикл WordPress, используемый при выводе анонсов на главной:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<div class=»post-category»>
<h2><a title=»<?php the_title(); ?>» href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2>
</div>

Данным фрагментом кода мы вызываем цикл который выведет все посты данной категории в теге H2, со ссылками на статью и текстом ссылки идентичной названию статьи.

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

Если же вы все таки решите вывести анонс, тогда вам нужно добавить перед или после заголовка еще один кусок кода:

<?php the_post_thumbnail(‘full’, ‘class=imgstyle’); ?>
<?php the_excerpt(); ?>

Это выведет миниатюру поста и цитату. Стоит ли так поступать, решать только вам.

После внесения изменений в шаблон вам предстоит поиграться со стилями, для нормализации отображения.

После того как вы все сделаете, основная задача будет выполнена! Вы Сделаете рубрики уникальными, страницы которых с удовольствием «глотнут» поисковые системы!

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

Избавляемся от вредоносной пагинации в рубриках навсегда!

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

Так как же решить эту проблему разом для всех рубрик и навсегда забыть об этом?

Некоторые советуют прописывать в мета тегах инструкции для роботов, другие ставят редиректы, я же предлагаю вам выводить все посты на категории на одной странице, не зависимо от настроек вашего WordPress.

Что мы получим в итоге?

  • Большую станицу, насыщенную нужными ключевыми словами.
  • Нормальное распределение веса по всем записям категории.
  • Отличное дополнение к навигации сайта.

Подумайте сами, если посетитель перешел в определенную категорию и пытается найти нужную информацию, но не находит ее на первой странице, захочет ли он продолжать поиск на следующих? Наверное, процентов 90 уйдет или покинет данную страницу без перехода на следующие страницы рубрики. Но если вы выведете все посты тогда существует гораздо большая вероятность что пользователь найдет нужную ему информацию и перейдет по ссылке дальше.

Рассуждать по этому поводу можно очень долго, давайте я покажу как отменить пагинацию, а вы уж сами делайте выводы нужно вам это или нет.

На самом деле все очень просто:

  1. Открываем файл functions.php в папке с темой, если такового нету тогда создаем его.
  2. Вписываем небольшой код, сохраняем изменения и проверяем результат.

function my_post_queries( $query ) {
if (!is_admin() && $query->is_main_query()){

if(is_home()){
$query->set(‘posts_per_page’, 5);
}

if(is_category()){
$query->set(‘posts_per_page’, 999);
}
}
}
add_action( ‘pre_get_posts’, ‘my_post_queries’ );

Этот код нужно добавить между <?php ?>, это понятно но напомнить стоит.

Что мы делаем? Первое условие не обязательное, оно касается главной страницы сайта, мы установили вывод 5 постов на одной странице, далее идет пагинация.

Второе условие ( if(is_category()){ $query->set(‘posts_per_page’, 999); ) говорит следующее:

Если страница с рубриками, тогда выводим последние 999 постов данной категории. Это число вы можете поставить какое угодно, в зависимости от количества записей в категориях.

Как мы заметили вывод названий, описаний и непосредственно постов простое дело, главное знать куда и что писать))). Надеюсь данная статья была вам полезна. Есть возражения или дополнения? Оставляйте их в комментариях. Так же вы можете изучить другие полезные уроки для начинающих пользователей WordPress, желаю удачи в ваших начинаниях.

8 Комментария

  1. Вставил этот скрипт от дублей категорий перед закрывающем теге ?> В самом низу. Через недели две будет видно, как это работает!

  2. Здравствуйте. Недавно мне делали seo аудит моего блога и одной из указанных ошибок было : наличие тега H2 в заголовках рубрик. Сказали что заголовки рубрик должны быть обязательно с тегом H1.
    Лично я с этим категорически не согласен, но ребята уверены в своей правоте.
    Интересно как вы считаете по этому поводу. С какими тегами должны выводиться заголовки рубрик (категория) на сайте?
    Заранее вам благодарен за ответ

    • Я так же делаю аудит сайтов, и скажу, что h1 должен быть только один на странице, делаю я так: в шаблоне пишу условие если главная h1 название сайта, если нет тогда либо h2 либо p, название статьи (категори) h1, но только в том случае когда категории участвуют в поиске, в противном случае оставляю h1 название сайта на страницах рубрик. Заголовки это H, их иерархия должна быть правильной 1 тег h1 2-4 h2 больше h3 и т.д. дальше по ситуации и целях…

      • То есть, если заголовок сайта (название сайта) и заголовки статей выводятся тегом H1, то обязательно должно быть прописано условие в шаблоне, чтобы не выводилось два тега H1? А как это возможно сделать? Вероятно нужно прописать специальный код php в файле function.php, который будет менять теги заголовков сайта и статей, в зависимости от ситуации? Я правильно понял? То есть, если открыта главная страница, значит h1 будет фигурировать в названии сайта, а все анонсы статей h2. Если открыть статью, то название сайта переименнуется на h2, а заголовок статей останется h1?
        Надеюсь, что не запутал вас )))

        • Не запутали) Совершенно верно, только не в function.php (хотя можно и так? но больше кода) а в самом коде. Ставиться простое условие, если главная страница тогда h1, ели нет тогда h2

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

          • ну примерно так: if (is_home())
            echo ‘прописывается html код’;
            else echo ‘если не главная тогда другой html’;

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

Your email address will not be published.


*