Включаем Open Graph в Yoast SEO
Пару недель назад я рассказывал о том, что такое Open Graph и как его подключить к WordPress. Один из способов — это включить Open Graph в настройках популярного плагина Yoast SEO.

Настроек практически нет, и как-то повлиять, кастомизировать метаданные Open Graph из админки невозможно.
Зачем вообще это нужно
Заголовки (Title) страниц многих сайтов построены по стандартной схеме «Заголовок страницы [sep] Имя сайта», где в качестве разделителя [sep] могут использоваться различные символы: |, —, • и т.д.
В качестве OG:Title чаще всего используется стандартный Title страницы, что по-сути правильно. Но в этом случае при расшаривании публикаций в Фейсбук будет передаваться полный заголовок страницы с разделителем и именем сайта. Что часто бывает лишним.
Решение
С тегами Open Graph, которые генерируются внутри темы WordPress, все просто. Присваиваем тегу OG:Title в качестве значения get_the_title() и всё.
К сожалению, Yoast SEO пока не поддерживает кастомизацию тегов Open Graph. Поэтому, придётся воспользоваться фильтром wpseo_opengraph_title, который традиционно размещаем в functions.php активной темы или в функциональном плагине сайта.
add_filter('wpseo_opengraph_title','danilin_ogtitle', 999); function danilin_ogtitle($title) { $separator = " | "; $sitename = $separator . get_bloginfo( 'name' ); return str_replace( $sitename, '', $title ) ; }
В примере в качестве разделителя задан символ « | », его меняем на свой.
Понятно, что с помощью этого фильтра можно производить и другие манипуляции с заголовками.
Кроме OG:Title, фильтрации поддаются и другие теги Open Graph.
- wpseo_opengraph_author_facebook
- wpseo_opengraph_admin
- wpseo_opengraph_url
- wpseo_opengraph_desc
- wpseo_opengraph_site_name
- wpseo_twitter_card_type
- wpseo_twitter_metatag_key
- wpseo_twitter_description
- wpseo_twitter_title
- wpseo_twitter_image
- wpseo_twitter_image_size
Вывод
Получается, что мы можем на лету фильтровать и корректировать все теги Open Graph, генерируемые плагином Yoast SEO.