WordPress: meta description без плагинов

Яндекс.Вебмастер постоянно ругается, что у страниц блога нет тега description. Решил я исправить это досадное упущение, но очень уж не хотелось ставить тяжеленные SEO-плагины ради одного тега.

Мне пришла в голову довольно простая идея. У wordpress есть два формата вывода записи — краткая выдержка и целый пост. А почему-бы краткую выдержку поста не запихать в description?

Запихиваем в header.php:

<?php if (is_home()): ?>
    <meta name="description" content="Блог о веб-разработке, it, заработке денег, бизнесе и моей жизни.">
<?php else: ?>
    <meta name="description" content="<?= wp_strip_all_tags( get_the_excerpt(), true); ?>">
<?php endif; ?>

Сначала функцией is_home() проверяем, главная ли страница. Для главной страницы пишем description вручную.

Далее, с помощью функции wp_strip_all_tags() удаляем все html-теги, иначе в description добавятся <p></p>.

Ну а за вывод цитаты отвечает функция get_the_excerpt().

Чем крут данный способ?

Кроме того, что description автоматически добавляется для всех страниц, мы можем для каждого поста указывать свой description.

Для этого, при редактировании поста переходим на вкладку «Документ» (справа) и в поле «Отрывок» пишем нужный нам description.

Главное, чтобы вывод списка записей на главной странице был через функцию the_content(), иначе не получится вручную писать description (он будет выводится как анонс поста на главную страницу).

При желании конечно можно ещё обрезать длину description до 200 символов с помощью функции substr(), но я не стал этого делать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *