Back End

Выводим title по шаблону для определенных рубрик сайта на WordPress + Yoast SEO

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

к содержанию ↑

1. Задача

Итак, на повестке дня задача – вывести title для товаров магазина на основе Woocommerce определенной категории по шаблону. Погуглив, тривиального решения найти не удалось, поэтому займемся написанием своего плагина под эти цели. Сразу скажу, что интерфейса взаимодействия с этим плагином в этой статье не будет. По необходимости, его написанием займемся позже.

Имеем сайт на WordPress, плагин интернет магазина Woocommerce и плагин Yoast SEO.

к содержанию ↑

2. Код плагина

Первым делом создаем файл с расширением php и таким содержанием:

<?

/*
* Plugin Name: Переопределение мета-тегов
* Description: Тайтлы по шаблону для категории.
* Version: 1.0
* Author: Александр Моргунов
* Author URI: upperseo.ru
* License: GPLv2 or later
*/
// добавляем title для луковичных
function custom_title( $title ) { //определяем функцию
global $post; //берем глобальную переменную post
$categories = get_the_terms( $post->ID, ‘product_cat’ ); // Получаем элементы таксономии product_cat(категории) которые относятся к текущему посту
$max_cat = count($categories); // считаем число элементов массива, их может быть больше одного т.к. каждый товар можно отнести к различным категориям.
for ($i = 0; $i < $max_cat; $i++)
{
$cats_id[$i] = $categories[$i]->term_id; // получаем id каждой категории
}
if (in_array(79, $cats_id) and is_single( $post )) // если текущий пост принадлежит категории с id = 79, Id категории смотрим в адресной строке через админку выбрав эту категорию для редактирования. И мы находимся на странице поста(товара).
{
$title = get_the_title().’ — луковицы | Самара’; // присваиваем переменной $title заголовок поста + произвольный текст, так же можно использовать другие различные поля товара или поста.
return $title; //возвращаем наш новый тайтл
}
else return $title; // иначе оставляем тайтл таким каким его сделал Yoast SEO.
}
add_filter( ‘wpseo_title’, ‘custom_title’);  // прикрепляем нашу функцию к фильтру ‘wpseo_title’
?>

 

Если управление title происходит самим движком то вместо add_filter( ‘wpseo_title’, ‘custom_title’);  напишем add_filter( ‘wp_title’, ‘custom_title’);  , плагин будет работать и без Yoast SEO.

к содержанию ↑

3. Установка плагина

Теперь придумаем название для плагина — я назвал его metа-rewrite. Файл php сохраняем под именем meta-rewrite.php и кладем в папку с названием meta-rewrite. Архивируем папку zip-архиватором, из админки устанавливаем новый плагин и подсовываем ей нами созданный архив, активируем и поверяем результат.

Как видим, нет ничего сложного в создании плагина и переопределении мета-тегов. Таким же образом можно назначить description и прочие мета-теги.

Этот код так же будет работать, если поместить его в файл functions.php темы вашего сайта.

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

В компании Upper SEO вы всегда можете заказать доработку и настройку вашего сайта.

 

Александр Моргунов

View Comments

  • Хорошая статья ,все просто и доступно

  • Не подскажете, а как сделать для нескольких рубрик, а не только для id=79 рубрики ? Я так понимаю править надо эту строку
    if (in_array(79, $cats_id) and is_single( $post ))

Share
Published by
Александр Моргунов

Recent Posts

10 главных SEO-трендов в 2023 году

Это полный гайд про SEO тренды в 2023 году. Когда мы составляли это руководство, то…

1 год ago

SEO-новости 2020 года

В конце октября прошла 18-я конференция по поисковому маркетингу Optimization 2019. Хедлайнером первого дня стал…

4 года ago

SEO. Поисковая оптимизация

Чтобы извлечь из веб-сайта выгоду, следует сделать его полезным и удобным. Вопросы привлечения пользователей решаются…

6 лет ago

Улучшаем поведенческие факторы

Говоря о поведенческих факторах (ПФ), необходимо понимать, что это анализ действий пользователя в рамках одного…

6 лет ago

Как ускорить загрузку сайта

Скорость загрузки сайта – расстояние, поделенное на время, за которое браузер обрабатывает веб-документ и делает…

6 лет ago

Логотип компании. 10 трендов 2019 года!

Тренды дизайна сайтов, несомненно, являются более быстротечными по сравнению с нишей разработки логотипов. 2017 год…

6 лет ago