Большинство поисковых серверов отображают содержимое поля description при выводе результатов поиска. Если этого тега нет на странице, то поисковый движок просто перечислит первые встречающиеся слова на странице, которые, как правило, не совсем правильно отображают материал статьи.
Как видно на примере, без тега description Yandex выводит короткое описание текст которого не соответствует тексту статьи.
Для решения этой проблемы в страницу header.php добавьте следующий код:
<?php if (is_single() || (is_page())) { if (have_posts()) : while (have_posts()) : the_post(); $strDescr = wp_trim_words(get_the_content(), 30, ''); $strDescr = preg_split("/[?!] /", $strDescr); echo '<meta name="description" content="'.$strDescr[0].$strDescr[1].$strDescr[2].$strDescr[3].'" >'; endwhile; endif; } else { echo '<meta name="description" content="Описание по умолчанию." >'; } ?>
Теперь после добавления кода, проверьте как выводиться описание при помощи мега тега description:
Если немного изменить код, то в описании по умолчанию помимо Вашего текста, будет выводится название рубрики:
<?php if (is_single() || (is_page())) { if (have_posts()) : while (have_posts()) : the_post(); $strDescr = wp_trim_words(get_the_content(), 50, ''); $strDescr = preg_split("/[?!] /", $strDescr); echo '<meta name="description" content="'.$strDescr[0].$strDescr[1].$strDescr[2].$strDescr[3].'" >'; endwhile; endif; } else { echo '<meta name="description" content="Описание по умолчанию. '; single_cat_title(); echo '">'; } ?>
Функция php single_cat_title() выведет на экране название рубрики (на главной выводится не будет).