Плагин Yoast SEO добавляет в раздел head свой блок с мета и переопределяет вывод тайтла и мета -описания, с некоторых случаях нужно изменить вывод мета-данных.
Содержание
Список фильтров плагина Yoast SEO
У плагина Yoast SEO есть ряд фильтров, отвечающий за вывод мета данных
| Фильтры Yoast SEO | Вывод HTML Meta |
| wpseo_title | <title> . . . </title> |
| wpseo_robots | <meta name=”robots” . . . /> |
| wpseo_canonical | <link rel=”canonical” . . . /> |
| wpseo_metadesc | <meta name=”description” . . . /> |
| wpseo_metakeywords | <meta name=”keywords” . . . /> |
| wpseo_locale | <meta property=”og:locale” . . . /> |
| wpseo_opengraph_title | <meta property=”og:title” . . . /> |
| wpseo_opengraph_desc | <meta property=”og:description” . . . /> |
| wpseo_opengraph_url | <meta property=”og:url” . . . /> |
| wpseo_opengraph_type | <meta property=”og:type” . . . /> |
| wpseo_opengraph_image | <meta property=”og:image#” . . . /> |
| wpseo_opengraph_site_name | <meta property=”og:site_name” . . . /> |
| wpseo_opengraph_admin | <meta property=”fb:admins” . . . /> |
| wpseo_opengraph_author_facebook | <meta property=”article:author” . . . /> |
| wpseo_opengraph_show_publish_date | <meta property=”article:published_time” . . . /> |
| wpseo_twitter_title | <meta name=”twitter:title” . . . /> |
| wpseo_twitter_description | <meta name=”twitter:description” . . . /> |
| wpseo_twitter_card_type | <meta name=”twitter:card” . . . /> |
| wpseo_twitter_site | <meta name=”twitter:site” . . . /> |
| wpseo_twitter_image | <meta name=”twitter:image” . . . /> |
| wpseo_twitter_creator_account | <meta name=”twitter:creator” . . . /> |
| wpseo_json_ld_output | <script type=’application/ld+json’> . . . </script> |
Удаление мета-описания от Yoast SEO с раздела head
Например, нам надо удалит мета-описание у страницы about, для этого используем такой код
add_filter( 'wpseo_metadesc', 'remove_yoast_meta_description' );
function remove_yoast_meta_description( $myfilter ) {
if ( is_page ( 'about' ) ) {
return false;
}
return $myfilter;
}
Если надо удалить мета у записей, меняем условие на is_singular()
Удаление нескольких мета данных плагина Yoast SEO
add_filter( 'wpseo_canonical', 'remove_yoast_metadata' );
add_filter( 'wpseo_metadesc', 'remove_yoast_metadata' );
function remove_yoast_metadata( $myfilter ) {
if(is_singular('articles')){
return false;
}
return $myfilter;
}
Удаление og:image от Yoast SEO
А вот тут может возникнуть проблема, так как примерами которые написаны выше, этого можете не достичь. То есть, вы подставляете фильтр wpseo_opengraph_image, а удаление не происходит.
В этом случае может помочь другой код
add_filter( 'wpseo_frontend_presenter_classes', 'filter_presenters' );
function filter_presenters( $filter ) {
if(is_singular('articles')){
if (($key = array_search('Yoast\WP\SEO\Presenters\Open_Graph\Image_Presenter', $filter)) !== false) {
unset($filter[$key]);
}
}
return $filter;
}

В файле functions.php вашей темы добавляем:
add_filter( ‘wpseo_debug_markers’, ‘__return_false’ );
# add_filter( ‘wpseo_canonical’, ‘__return_false’ );
# add_filter( ‘wpseo_metadesc’, ‘__return_false’ );