Плагин 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; }