Menu
Załóż konto

Open Graph — wszystkie tagi og: z przykładami

Open Graph — co to jest: każdy tag og: i twitter: z przykładem, typy obiektów, tablice i właściwości strukturalne oraz jak sprawdzić, co widzi robot.

Opublikowano 4 listopada 2026 · 7 min czytania

Open Graph to zestaw tagów meta og: w sekcji <head> strony, który mówi serwisom społecznościowym i komunikatorom, czym ta strona jest: jaki ma tytuł, typ, kanoniczny adres i obrazek. Facebook opublikował go w 2010 roku na ogp.me; dziś czyta go prawie każdy robot budujący podgląd linku — LinkedIn, Slack, Discord, WhatsApp, iMessage, Telegram, Mastodon — żeby narysować kartę, którą widzisz po udostępnieniu linku. Wymagane są cztery tagi: og:title, og:type, og:image i og:url. Ta strona zbiera wszystkie tagi zdefiniowane w protokole, każdy z przykładem, oraz tagi twitter:, które X czyta dodatkowo.

Kompletny przykład

Zestaw, który działa na każdej dużej platformie, dla wpisu na blogu:

<head prefix="og: https://ogp.me/ns# article: https://ogp.me/ns/article#">
  <meta property="og:title" content="How we cut our image pipeline to 900 ms">
  <meta property="og:type" content="article">
  <meta property="og:url" content="https://example.com/blog/image-pipeline">
  <meta property="og:image" content="https://example.com/og/image-pipeline.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="630">
  <meta property="og:image:alt" content="Title card: How we cut our image pipeline to 900 ms">
  <meta property="og:description" content="Moving rendering off the request path and caching by content hash.">
  <meta property="og:site_name" content="Example Engineering">
  <meta property="og:locale" content="en_US">
  <meta property="article:published_time" content="2026-11-04T09:00:00Z">
  <meta property="article:author" content="https://example.com/team/anna">
  <meta name="twitter:card" content="summary_large_image">
</head>

Atrybut prefix deklaruje przestrzenie nazw (RDFa). Roboty odczytają tagi i bez niego, ale tak pokazuje to specyfikacja i niczemu to nie szkodzi.

Cztery wymagane właściwości

Tag Co zawiera Przykład
og:title Tytuł „tak, jak ma się pojawić w grafie” — zwykle tytuł strony bez nazwy serwisu How we cut our image pipeline to 900 ms
og:type Typ obiektu; website dla większości stron, article dla wpisów (typy niżej) article
og:image Bezwzględny adres obrazka, który reprezentuje stronę https://example.com/og/post.png
og:url Kanoniczny adres, używany jako stały identyfikator obiektu https://example.com/blog/image-pipeline

og:url znaczy więcej, niż się wydaje: platformy zapisują pod nim w pamięci podręcznej podgląd i liczniki polubień i udostępnień. Wskaż adres kanoniczny, nie ten z parametrami śledzącymi — inaczej ta sama strona dorobi się kilku podglądów.

Dla og:image rozmiar, który zadowala naraz Facebooka, LinkedIna, X i WhatsAppa, to 1200×630 pikseli, JPEG lub PNG poniżej 600 KB — tabela rozmiarów dla każdej platformy podaje udokumentowane minimum, maksimum i przycięcie na każdej z nich. Używaj bezwzględnego adresu https://: ścieżki względne to najczęstszy powód, dla którego obrazek się nie pokazuje.

Właściwości opcjonalne

Tag Co zawiera Przykład
og:description Podsumowanie w jednym–dwóch zdaniach Moving rendering off the request path…
og:site_name Nazwa całego serwisu Example Engineering
og:locale Język strony w formacie język_TERYTORIUM; domyślnie en_US pl_PL
og:locale:alternate Inne języki, w których strona istnieje (tablica) de_DE
og:determiner Słowo przed tytułem w zdaniu: a, an, the, "" albo auto the
og:video Adres pliku wideo, który uzupełnia stronę https://example.com/clip.mp4
og:audio Adres pliku audio https://example.com/episode.mp3

og:description jest w protokole opcjonalny, ale LinkedIn i WhatsApp wymieniają go wśród tagów potrzebnych do pełnego podglądu. Traktuj go jak wymagany.

og:determiner prawie nikt nie używa. Służył do zdań w rodzaju „Anna read the Hobbit” w strumieniach aktywności, których już nie ma; nic, co dziś udostępniasz, go nie pokazuje.

Właściwości strukturalne og:image, og:video i og:audio

Właściwość strukturalna dodaje szczegóły do tagu stojącego nad nią:

Tag Znaczenie
og:image:url To samo co og:image
og:image:secure_url Adres HTTPS, dla stron, które serwują obrazek także przez HTTP
og:image:type Typ MIME, np. image/png
og:image:width, og:image:height Rozmiar w pikselach
og:image:alt „Opis tego, co jest na obrazku (nie podpis)”
og:video:url, :secure_url, :type, :width, :height To samo dla wideo
og:audio:url, :secure_url, :type To samo dla audio (bez rozmiaru)

Szerokość i wysokość warto ustawić. Meta pisze, że pozwalają Facebookowi „wyrenderować obrazek od razu, bez asynchronicznego pobierania i przetwarzania go” (poradnik Meta o obrazkach); bez nich pierwsze udostępnienie nowego linku może wyjść bez obrazka. og:image:alt odczytują czytniki ekranu na platformach, które go obsługują, a ogp.me mówi, że strona z og:image powinna go ustawić.

Tablice: więcej niż jedna wartość

Żeby podać kilka wartości, powtórz tag. Zasada protokołu: „Pierwszy tag (od góry do dołu) ma pierwszeństwo przy konfliktach”, a właściwości strukturalne należą do tagu głównego nad nimi, dopóki nie zacznie się następny tag główny:

<meta property="og:image" content="https://example.com/og/wide.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image" content="https://example.com/og/square.png">
<meta property="og:image:width" content="1080">
<meta property="og:image:height" content="1080">

Tutaj platforma, która bierze jeden obrazek, weźmie wide.png. Głównym czytnikiem, który używa więcej, jest Discord: do czterech tagów og:image zamienia w galerię (podglądy linków w Discordzie). Obrazek, który ma się pokazać wszędzie, daj jako pierwszy.

Typy obiektów (og:type)

Każda strona ma typ. Typy globalne, każdy z własną przestrzenią nazw i dodatkowymi właściwościami:

og:type Dodatkowe właściwości
website Brak. Każda strona bez znaczników jest traktowana jak website.
article article:published_time, article:modified_time, article:expiration_time (ISO 8601), article:author (adresy profili, tablica), article:section, article:tag (tablica)
profile profile:first_name, profile:last_name, profile:username, profile:gender
book book:author, book:isbn, book:release_date, book:tag
music.song music:duration (sekundy), music:album, music:album:disc, music:album:track, music:musician
music.album music:song, music:song:disc, music:song:track, music:musician, music:release_date
music.playlist, music.radio_station music:song…, music:creator
video.movie video:actor, video:actor:role, video:director, video:writer, video:duration, video:release_date, video:tag
video.episode jak video.movie, plus video:series
video.tv_show, video.other jak video.movie

ogp.me wymienia też payment.link, oznaczony jako beta. W praktyce: website dla strony głównej i stron produktów, article dla wszystkiego, co ma datę publikacji. Podgląd wygląda tak samo w obu przypadkach; typ ma znaczenie dla parserów, które czytają dodatkowe właściwości.

Wartości też mają typy: Boolean (true, false, 1, 0), DateTime (ISO 8601), Enum, Float, Integer (32-bitowy), String i URL (tylko http lub https).

Tagi twitter:, które czyta X

X ma własne tagi, Twitter Cards, a dla większości z nich sięga po Open Graph, gdy ich brakuje (znaczniki kart X, archiwum):

Tag Zastępuje go Uwagi
twitter:card — summary, summary_large_image, app albo player. Bez niego „może zostać wyświetlona karta summary” — ta mała
twitter:title og:title Maks. 70 znaków
twitter:description og:description Maks. 200 znaków
twitter:image og:image Poniżej 5 MB; JPG, PNG, WEBP, GIF (pierwsza klatka); bez SVG
twitter:image:alt og:image:alt Maks. 420 znaków
twitter:site, twitter:creator — @nazwa konta serwisu i autora

Minimalny dodatek do strony z Open Graph to więc jedna linia: <meta name="twitter:card" content="summary_large_image">. Rozmiary, typy kart i powody, dla których karta się nie pokazuje, opisuje strona o Twitter card.

Inne tagi, które czytają roboty

  • fb:app_id — wiąże stronę z aplikacją Facebooka na potrzeby statystyk. Opcjonalny; Sharing Debugger ostrzega, gdy go brak, ale to nie jest błąd.
  • theme-color — Discord używa go do kolorowego paska obok osadzenia.
  • <link rel="canonical">, <title>, <meta name="description"> — wartości zastępcze, gdy brakuje tagów og:.
  • Linki oEmbed — Slack i Discord wolą punkt końcowy oEmbed, jeśli strona go ogłasza.

Trzy zasady, których pilnują roboty

  1. Tagi muszą być w HTML-u, który wysyła serwer. Roboty takie jak facebookexternalhit, LinkedInBot, Twitterbot i Slackbot nie czekają na JavaScript. Tagi wstawione przez aplikację SPA po załadowaniu są dla nich niewidoczne; renderuj je na serwerze albo przy budowaniu strony.
  2. Adresy są bezwzględne i da się je pobrać. Obrazek musi odpowiedzieć robotowi kodem 200 bez ciasteczek, logowania i ochrony przed botami, z obrazkowym Content-Type.
  3. Pamięć podręczna jest kluczowana adresem. Zmieniony obrazek pod tym samym adresem zostawia stary podgląd, dopóki platforma nie pobierze strony od nowa. Nowemu obrazkowi daj nowy adres (/og/post.png?v=2). Poradnik o niedziałającym podglądzie podaje narzędzie do odświeżania każdej platformy.

Sprawdź, co odczytuje robot

Odczytaj tagi tak jak robot, bez uruchamiania JavaScriptu:

curl -sL -A "facebookexternalhit/1.1" https://example.com/blog/post \
  | grep -Eio '<meta[^>]+(og:|twitter:)[^>]+>'

Albo wklej adres do OG Checkera, który pokazuje kartę na X, LinkedInie, Facebooku, w Slacku i na Discordzie i wskazuje brakujące tagi; generator meta tagów napisze cały zestaw za ciebie.

Jak zrobić sam obrazek og:image

Tagi to łatwiejsza część; każda strona potrzebuje własnego obrazka. Możesz go zaprojektować ręcznie dla każdej strony, renderować obrazki przy budowaniu albo na żądanie. Z Shareglint jedno zapytanie HTTP zamienia szablon HTML i tytuł strony w PNG 1200×630 — 153 wbudowanych szablonów albo własny HTML i CSS — a plan Free obejmuje 100 obrazków miesięcznie. Czym jest obrazek OG i jak pokazuje go każda platforma — tam szczegółowo o samym obrazku.

FAQ

Open Graph — co to jest?

Open Graph to zestaw tagów meta, opublikowany na ogp.me, który opisuje stronę internetową jako obiekt: jej tytuł, typ, kanoniczny adres i obrazek. Stworzył go Facebook w 2010 roku; dziś czytają go LinkedIn, Slack, Discord, WhatsApp, iMessage, Telegram i większość innych robotów budujących podgląd linku, gdy ktoś go udostępnia.

Które tagi Open Graph są wymagane?

Protokół wymaga czterech: og:title, og:type, og:image i og:url. og:description jest w protokole opcjonalny, ale LinkedIn i WhatsApp wymieniają go jako potrzebny do pełnego podglądu, więc w praktyce ustaw pięć.

Tagi Open Graph: atrybut property czy name?

Przykłady w protokole używają atrybutu property (RDFa), np. <meta property="og:title" content="…">. Tagi Twitter Cards używają name. Większość parserów przyjmie jedno i drugie, ale trzymanie się każdej specyfikacji oszczędza niespodzianek przy bardziej rygorystycznych parserach.

Co się dzieje, gdy strona nie ma tagów Open Graph?

Protokół mówi, że strona bez znaczników ma być traktowana jak og:type website. Każda platforma zgaduje wtedy sama: z <title>, z meta description i z obrazka znalezionego na stronie. Wynik zależy od platformy i często jest to karta bez obrazka.

Czy strona może mieć więcej niż jeden og:image?

Tak. Powtórz tag; właściwości strukturalne, takie jak og:image:width, należą do og:image stojącego nad nimi. Gdy platforma chce jednej wartości, wygrywa pierwszy tag. Discord pokazuje do czterech obrazków jako galerię; większość pozostałych bierze pierwszy.

Jak przetestować tagi Open Graph?

Pobierz stronę tak jak robot (bez JavaScriptu) i odczytaj tagi meta albo użyj sprawdzarki, która pokazuje podgląd na każdej platformie. Sharing Debugger Facebooka i Post Inspector LinkedIna pokazują, co odczytują te dwie platformy, i odświeżają ich pamięć podręczną; w przypadku X wklej link do okna tworzenia posta.