Когда вы отправляете ссылку в Telegram, ВКонтакте или WhatsApp, мессенджер показывает карточку с заголовком, описанием и картинкой. Эти данные он берёт из метатегов Open Graph. Если их нет, превью получается случайным: обрезанный текст, логотип вместо обложки или вовсе ничего.
Основные теги
<meta property="og:type" content="article"> <meta property="og:title" content="Заголовок статьи"> <meta property="og:description" content="Короткое описание, до 200 символов"> <meta property="og:image" content="https://example.ru/wp-content/uploads/cover.jpg"> <meta property="og:url" content="https://example.ru/statya/"> <meta property="og:site_name" content="Название сайта"> <meta property="og:locale" content="ru_RU">
Для X (Twitter) добавляют ещё twitter:card со значением summary_large_image.
Картинка
- Размер 1200 на 630 пикселей, соотношение примерно 1,91 к 1.
- Формат JPG или PNG, вес до 1 МБ, чтобы мессенджеры успевали её загрузить.
- Важное держите в центре: разные площадки обрезают края по-разному.
В WordPress проще всего использовать миниатюру записи (обложку) как og:image.
Способ 1. SEO-плагин
Yoast SEO, Rank Math и The SEO Framework выводят Open Graph автоматически: берут заголовок, описание и обложку записи. В карточке записи можно задать отдельный заголовок и картинку для соцсетей. Это самый простой путь, особенно если плагин уже стоит. О The SEO Framework есть отдельная заметка.
Способ 2. Вручную через functions.php
Если SEO-плагина нет, теги можно вывести кодом в дочерней теме:
add_action( 'wp_head', function () {
if ( ! is_singular() ) return;
$post = get_queried_object();
$title = get_the_title( $post );
$desc = wp_strip_all_tags( get_the_excerpt( $post ) );
$img = get_the_post_thumbnail_url( $post, 'full' );
printf( '<meta property="og:type" content="article">' . "\n" );
printf( '<meta property="og:title" content="%s">' . "\n", esc_attr( $title ) );
printf( '<meta property="og:description" content="%s">' . "\n", esc_attr( $desc ) );
printf( '<meta property="og:url" content="%s">' . "\n", esc_url( get_permalink( $post ) ) );
if ( $img ) printf( '<meta property="og:image" content="%s">' . "\n", esc_url( $img ) );
} );
Не используйте оба способа сразу, иначе теги задублируются.
Проверка
- Отладчик Facebook показывает, что видит парсер, и сбрасывает кэш.
- В Telegram кэш превью сбрасывает бот @WebpageBot.
- ВКонтакте сбрасывает кэш через метод
pages.clearCacheили просто через время. - Посмотреть теги можно и в исходном коде страницы: ищите
og:.
Частые проблемы
- Старая картинка в превью: площадка закэшировала её, сбросьте кэш.
- Картинка не показывается: слишком большая, указан относительный адрес или сайт закрыт от ботов.
- Дубли тегов от темы и плагина: отключите вывод в одном из мест.
Open Graph не влияет на позиции в поиске напрямую, но красивая карточка заметно повышает кликабельность ссылок. Остальные шаги продвижения описаны в заметке о SEO в WordPress.