Open Graph-разметка 2026: полный гайд

Теги Open Graph для карточек ссылок: обязательные поля, изображения, Twitter Cards, динамические страницы, кеш и сервисы проверки.

Open Graph-разметка 2026: полный гайд

Open Graph — набор meta-тегов в head, по которым соцсеть или мессенджер собирает карточку ссылки. Разметка задаёт заголовок, описание, канонический URL и изображение, но каждая платформа применяет собственный краулер, кеш и правила отображения.

Как работает Open Graph

После вставки ссылки платформа запрашивает URL своим ботом, читает HTML и выбирает метаданные. Чаще всего JavaScript не выполняется, поэтому теги, добавленные после загрузки React-приложением, могут остаться невидимыми. Затем результат кешируется: исправление на сайте не всегда сразу меняет уже созданную карточку.

Open Graph разработан Meta, но используется далеко за пределами Facebook. Telegram, LinkedIn, Slack, Discord и другие продукты читают часть полей и добавляют собственные ограничения. X поддерживает Twitter Cards и может использовать Open Graph как запасной источник. Нельзя гарантировать одинаковый вид во всех клиентах.

Минимальный набор тегов

Протокол называет обязательными og:title, og:type, og:image и og:url. На практике добавьте og:description и og:site_name. Для русского материала используйте og:locale со значением ru_RU; альтернативы указывают через og:locale:alternate. og:url должен совпадать с каноническим публичным адресом без UTM и служебных параметров.

Заголовок и описание пишут для карточки, но без расхождения с содержанием страницы. Не копируйте длинный SEO-title целиком, если он обрезается. Укажите абсолютные HTTPS-адреса изображений. Сервер должен отдавать их боту без cookie, авторизации, referer и выполнения JavaScript.

<meta property="og:type" content="article">
<meta property="og:title" content="Open Graph-разметка 2026: полный гайд">
<meta property="og:description" content="Теги, изображения и проверка карточек ссылок.">
<meta property="og:url" content="https://example.ru/opengraph-guide">
<meta property="og:site_name" content="Название сайта">
<meta property="og:locale" content="ru_RU">
<meta property="og:image" content="https://example.ru/media/opengraph-guide.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Схема тегов Open Graph">
Как появляется карточка
Платформа читает серверный HTML и сохраняет результат

Изображение карточки

Универсальная отправная точка — 1200 × 630 пикселей с отношением около 1,91:1. Держите важный текст и логотип ближе к центру: платформы могут обрезать края или показывать квадратный вариант. Не превращайте карточку в мелкий плакат; заголовок уже будет рядом с изображением.

Укажите og:image:width, og:image:height, og:image:type и og:image:alt. Размер файла должен позволять быструю загрузку. Используйте распространённый JPEG, PNG или поддерживаемый платформой WebP, но для максимальной совместимости проверяйте именно выбранный формат. URL изображения должен возвращать 200 и правильный Content-Type, не 302 на страницу авторизации.

Проверка изображенияЧто требуется
URLАбсолютный HTTPS и стабильный адрес
HTTP200 без cookie и геоблокировки
ФорматПоддерживаемый тип и верный Content-Type
РазмерыУказаны width/height; макет выдерживает обрезку
СодержаниеКрупный объект и безопасные поля
AltКраткое описание изображения

Статьи, видео и товары

Для статьи добавляют article:published_time, article:modified_time, article:author и article:section. Даты передают в ISO 8601 с часовым поясом. Авторская ссылка должна вести на устойчивый профиль, если платформа её использует. Не меняйте published_time при редактуре — для этого есть modified_time.

Видео требует og:video и дополнительных полей, но автоматическое воспроизведение зависит от платформы и безопасности источника. Для товаров нет одного универсального набора, который одинаково используют все соцсети. Основные название, описание, URL и изображение важнее экспериментальных product-тегов; цену и наличие синхронизируйте с фактической страницей.

Набор Open Graph
Четыре поля протокола дополняются описанием и изображением

Twitter Cards и обычные meta-теги

Добавьте twitter:card со значением summary_large_image, twitter:title, twitter:description и twitter:image, если важен контролируемый вид в X и совместимых клиентах. Часть полей может быть взята из Open Graph, но явные теги упрощают диагностику. Устаревший Card Validator X больше не является универсальным способом предпросмотра, поэтому проверяйте реальную публикацию в тестовом аккаунте.

Обычные title и meta description остаются нужны для поиска и запасного построения карточки. Canonical и og:url должны указывать на одну публичную версию. Если они расходятся, разные системы могут кешировать разные адреса и объединять реакции непредсказуемо.

SSR, CMS и динамические страницы

В CMS заполняйте Open Graph из данных текущей страницы. Для SPA настройте server-side rendering, static generation или edge-rendering, чтобы первый HTML уже содержал правильные теги. Один набор метаданных из index.html для всех маршрутов создаёт одинаковые карточки и считается ошибкой реализации.

Изображение можно генерировать автоматически из шаблона, но контролируйте переносы, длинные слова, шрифты и экранирование пользовательского текста. Создавайте файл при публикации и храните на постоянном URL. Если использовать один URL и менять байты, кеш платформы может долго показывать старую версию; версионированный путь помогает обновлению.

  1. Определить шаблоны страниц.
  2. Сопоставить поля CMS с OG.
  3. Сгенерировать теги в серверном HTML.
  4. Подготовить изображения 1200 × 630.
  5. Проверить доступ без cookie.
  6. Прогнать валидаторы.
  7. Сбросить кеш поддерживаемой платформы.
  8. Проверить реальную карточку.
Диагностика карточки
Проверка идёт от сети к метаданным и кешу

Сервисы проверки Open Graph

Meta Sharing Debugger показывает, что получил краулер Meta, и позволяет запросить повторный scrape. LinkedIn Post Inspector делает то же для LinkedIn. OpenGraph.xyz и opengraph.dev удобны для независимого предпросмотра тегов, но их картинка не доказывает, что Telegram или Threads смогут загрузить сервер.

Для Telegram нет официального полноценного web-валидатора Open Graph. Проверяйте ссылку в отдельном тестовом чате и учитывайте кеш. Командная строка curl с User-Agent нужного бота помогает сравнить HTTP-ответы, редиректы и head. Никогда не разрешайте доступ только по строке User-Agent: её легко подделать; для защищённого контура используйте опубликованные методы проверки бота.

ИнструментЧто проверяет
Meta Sharing DebuggerОтвет для Meta и повторный scrape
LinkedIn Post InspectorКарточку и кеш LinkedIn
OpenGraph.xyzНезависимый разбор основных тегов
opengraph.devПредпросмотр и диагностику метаданных
curl / HTTP-клиентСтатус, редиректы, Content-Type и HTML для заданного UA
Тестовая публикацияФактический вид в конкретном приложении

Почему карточка не обновляется

Сначала проверьте финальный URL после редиректов и исходный HTML. Затем откройте og:image без авторизации. Типичные причины: теги только в JavaScript, относительный URL, robots или WAF блокирует бота, слишком долгий ответ, неверный Content-Type, TLS-ошибка, изображение слишком велико или платформа сохранила старый кеш.

Если проблема возникает только в Threads или Instagram для российского сервера, диагностика отличается; ей посвящена статья о карточках Meta и российских хостингах. Не меняйте разметку наугад: сравните один и тот же URL из обычного браузера, внешнего региона и от имени краулера.

Частые вопросы

Какие Open Graph-теги обязательны?

Протокол требует og:title, og:type, og:image и og:url. На практике добавьте og:description, og:site_name, locale, размеры и alt изображения.

Почему теги есть в браузере, а карточки нет?

Они могут добавляться JavaScript после первого ответа. Краулеру нужен серверный HTML. Также проверьте доступ к изображению, редиректы, WAF и кеш.

Как обновить старую карточку?

Исправьте опубликованный HTML, затем запросите повторный scrape в инструменте платформы. Иногда помогает новый версионированный URL изображения; срок обновления всё равно задаёт платформа.

Что читать дальше