Мета-описание (meta description) – короткий текст, который поисковик часто показывает под заголовком в выдаче. В SEO Framework его можно задать вручную в карточке записи, а если нужна своя логика для типов страниц – через фильтр the_seo_framework_description.
Зачем трогать фильтр
Плагин и сам умеет собирать description из excerpt или контента. Фильтр нужен, когда вы хотите единые правила: например, для архивов – фиксированный текст, для записей – excerpt, для остального – свой fallback. Так проще держать сниппеты предсказуемыми и без «мусорных» первых предложений из HTML.
Базовое подключение
Код кладите в functions.php дочерней темы или в небольшой must-use плагин. Скелет такой:
function custom_seo_framework_meta_description( $description ) {
// Своя логика определения meta description
return $description;
}
add_filter( 'the_seo_framework_description', 'custom_seo_framework_meta_description' );
Пример: запись, архив, остальное
Ниже – рабочий шаблон. Для одиночной записи берём excerpt, если он заполнен; иначе – первые ~160 символов контента без HTML. Для архивов и «всего остального» – свои строки (замените на реальные тексты сайта).
function custom_seo_framework_meta_description( $description ) {
if ( is_singular() ) {
global $post;
if ( ! empty( $post->post_excerpt ) ) {
$description = $post->post_excerpt;
} else {
$description = wp_strip_all_tags( mb_substr( $post->post_content, 0, 160 ) );
}
} elseif ( is_archive() ) {
$description = 'Описание для архивных страниц';
} else {
$description = 'Общее мета-описание для остальных страниц';
}
return $description;
}
add_filter( 'the_seo_framework_description', 'custom_seo_framework_meta_description' );
На что смотреть после внедрения
- Проверьте view-source или SEO-карточку плагина: description должен совпадать с вашей логикой.
- Не гонитесь за «ключевыми словами» ради плотности – пишите, что реально есть на странице.
- Держите длину около 150-160 символов: длиннее часто обрежется в выдаче.
- Если description уже задан вручную в редакторе, учитывайте, что ваш фильтр может его перезаписать – тогда добавьте проверку «если пришло непустое, не трогаем».
Краткий итог
Фильтр the_seo_framework_description – удобный рычаг, когда стандартной логики SEO Framework мало. Один раз описали правила для singular/archive/прочего – и мета-описания перестают быть случайным куском первого абзаца.
