Как в Yoast SEO программно изменить название и описание сайта

Как в Yoast SEO программно изменить название и описание сайта

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

В данной статье рассмотрим пример, когда нам нужно для определенной страницы изменить 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 сайтом проблемы? нужен дополнительный функционал? нестандартный плагин или сверстать новую страницу?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Комментарии
  1. Сергей

    '.. К примеру в одной из своих работ, мне пришлось прибегнуть к динамическому построению названия и описания в зависимости от выбранного региона и предоставляемых услуг. ..' И как вы это сделали? У меня сейчас сожая задача. При переключении табов на странице с помощью ajax получаю парамет. Как изменить в зависимости от этого параметра загаловок страницы успользуя хук "wpseo_title".

    ответить
    1. Pavel
      30.09.2020 в 07:56 автор блога

      Если я правильно все понял - то никак. Вы можете на фронте поменять title через JS, получив его данные по ajax.

      ответить
      1. Сергей

        Через JS проще простого, но вот СЕО-шники простят чтобы именно title (заголовк) страницы поменялся по кликам табов. Вы считаете это не разрешимая задач?

        ответить
        1. Pavel
          30.09.2020 в 08:19 автор блога

          Я же правильно понял, содержимое табов подгружается аяксом?

          ответить
          1. Сергей

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

          2. Pavel
            30.09.2020 в 10:49 автор блога

            Если аяксом, то не возможно.

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

Ваш адрес email не будет опубликован.