Пост посвящается всем начинающим специалистам по SEO, у которых возникла задача поисковой оптимизации рубрик WordPress, но при этом нет возможности обратиться к квалифицированным программистам. Хоть я сам и не являюсь продвинутым вебмастером, но за несколько лет работы с ВордПрессом у меня скопился набор рабочих решений-костылей, которыми я и поделюсь в этой статье.
Что необходимо для полноценной поисковой оптимизации рубрик? На мой взгляд это:
- Красивый URL, без стандартного префикса /category/
- Возможность задать для каждой категории свой title и description, а также возможность генерации данных тегов по шаблону, в случае, если они небыли заданы явно.
- Возможность вывести для каждой рубрики текстовое описание, без дублирования на страницах пагинации.
По порядку о том, как это все можно реализовать.
Убираем из URL /category/
Нужно ли убирать из URL префикс /category/, или нет — каждый решает для себя сам. На мой взгляд от него нет никакой пользы, поэтому я убираю. Самое простое решение — плагин «WP No Category Base» — скачали, установили, забыли. Если вы не сторонник лишних плагинов, а любите покопаться в коде, то советую посмотреть альтернативные решения вот тут.
Теги title и description
Если на вашем WP сайте потребовалось оптимизировать рубрики, то я рекомендую установить плагин «Yoast WordPress SEO», если вы использовали «All In One SEO Pack», то легко сможете импортировать из него все настройки.
Плагин Yoast WordPress SEO позволяет:
- Задавать для каждой рубрики тег title и description (а при необходимости и keywords);
- Создавать шаблоны заголовков и описаний для разных типов документов (записи, страницы, рубрики, метки);
Единственный недостаток, который я обнаружил в данном плагине — это то, что он выводит один и тот же тег 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»);
Ну вот пожалуй и все. Если есть вопросы и/или предложения как можно улучшить тот, или иной код/метод, то пишите в комментариях
Спасибо Игорь большое. Вот только проблемка одна, вставил данный код в header, для страниц пагинации всё выводится как нужно, а вот для главной страницы выводится постой . Подскажи как исправить?
Выводится пустой title, форма коммента код сьела)))
Сергей, у меня нормально работало, я не программист, если что-то не так, то лучше к спецам обратитесь.
Описание рубрик дублируется в пагинации
У меня почему-то в категориях не работает для title и description сайта, есть только настройки для Facebook.
Здравствуйте, хочу оптимизировать страницы рубрик и написать для них тексты. Вопрос по поводу «Убираем из URL /category/». А если страницы уже в индексе, то что в таком случае лучше сделать?Оставить как есть и писать под эти юрл тексты или ничего страшного, если страницы разделов в индексе перестанут существовать?
Сообщите на почту, если ответите.