Як в Yoast SEO програмно змінити назву та опис сайту

Як в Yoast SEO програмно змінити назву та опис сайту

Плагін Yoast SEO для WordPress має досить хороший функціонал у плані доступних хуків, що дозволяє гнучко керувати даними для побудови власних мета-тегів.

У цій статті розглянемо приклад, коли нам потрібно для певної сторінки змінити title і meta-description сайту. Приклад простий і лише демонструє роботу самих хуків. Логіку ж ви можете реалізувати будь-яку. Наприклад, в одному зі своїх проєктів я будував динамічні заголовки та описи в залежності від вибраного регіону та доступних послуг. Це був каталог послуг, розбитий за країнами, областями, містами та списком категорій.

Перш ніж почати, переконайтесь, що на вашому сайті встановлено та активовано плагін Yoast SEO. Без нього подальші дії не матимуть сенсу.

Відкриймо файл functions.php нашої теми і додамо наступний код:

/**
 * wpseo_title
 */
add_filter('wpseo_title', function($title){

	if(is_single('chto-takoe-lorem-ipsum'))
	{
		$title = 'Новий заголовок';
	}
	
	return $title;
}, 10, 1);

/**
 * wpseo_metadesc
 */
add_filter('wpseo_metadesc', function($metadesc){
	
	if(is_single('chto-takoe-lorem-ipsum'))
	{
		$metadesc = 'Новий опис';
	}
	
	return $metadesc;
}, 10, 1);

У цьому коді використано два фільтри:

  1. wpseo_title — відповідає за відображення заголовка title сторінки
  2. wpseo_metadesc — відповідає за відображення мета-опису meta-description

У обох фільтрах, використовуючи умовну функцію WordPress is_single, ми перевіряємо, чи переглядається сторінка з slug, що дорівнює chto-takoe-lorem-ipsum. Якщо так, змінюємо значення змінних і повертаємо їх з фільтра.

Порада
Ще раз хочу наголосити, що в цих хуках можна виконувати різні перевірки за допомогою умовних тегів WP, таких як: is_post_type_archive, is_singular, is_tag, is_page та інших.

Ось і все 🙂

Пости на схожі теми

З вашим WordPress сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *