{"id":15578,"date":"2026-09-05T15:06:45","date_gmt":"2026-09-05T13:06:45","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/"},"modified":"2026-09-05T15:06:45","modified_gmt":"2026-09-05T13:06:45","slug":"open-graph-social-card-checker-og-image-twitter-card","status":"publish","type":"page","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/","title":{"rendered":"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku"},"content":{"rendered":"<div class=\"gtm-analyser-container\" style=\"background: var(--bg-panel, #1e1e24); padding: 25px; border-radius: 8px; border: 1px solid var(--border, #2a2a35);\">\n<p style=\"color: var(--text-secondary, #a0a0b0); margin-bottom: 20px;\">Gdy link trafia do czatu lub sieci spo\u0142eczno\u015bciowej, odbieraj\u0105ca aplikacja pobiera stron\u0119 raz i buduje kart\u0119 z gar\u015bci metatag\u00f3w: og:title, og:description, og:image, a dla X typu twitter:card. Ka\u017cdy b\u0142\u0105d wida\u0107 jako zepsuty podgl\u0105d: brak obrazu, malutkie logo rozci\u0105gni\u0119te na ca\u0142\u0105 kart\u0119, tytu\u0142 b\u0119d\u0105cy nazw\u0105 witryny, opis b\u0119d\u0105cy komunikatem o cookies. To sprawdzenie pobiera stron\u0119 z tego serwera, odczytuje tagi, \u015bci\u0105ga obraz i mierzy go, po czym rysuje kart\u0119 tak, jak zobaczy\u0142oby j\u0105 pierwsze udost\u0119pnienie, bez uruchamiania tu \u017cadnego skryptu strony docelowej.<\/p>\n<div style=\"margin-bottom: 14px;\">\n        <label for=\"og-url\" style=\"color: var(--text-secondary, #a0a0b0); display: block; font-size: 0.85rem; margin-bottom: 5px;\">Adres strony<\/label><br \/>\n        <input id=\"og-url\" type=\"text\" value=\"https:\/\/www.lukaswojcik.com\/blog\/en\/toolbox\/\" class=\"form-control\" style=\"width: 100%; padding: 10px; background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); color: var(--text-primary, #e8e8ee); border-radius: 6px; box-sizing: border-box; font-family: monospace;\">\n    <\/div>\n<p style=\"color: var(--text-secondary, #a0a0b0); font-size: 0.82rem; margin-bottom: 16px;\">Z tego serwera: jedno \u017c\u0105danie o stron\u0119 (do 1 MB) i jedno o og:image (do 6 MB). Podgl\u0105d pokazuje zmniejszon\u0105 kopi\u0119 tego obrazu osadzon\u0105 w odpowiedzi, wi\u0119c przegl\u0105darka odwiedzaj\u0105cego nie \u0142aduje niczego z witryny docelowej. Hosty w sieciach prywatnych, loopback i link-local s\u0105 odrzucane. Zapytanie chroni reCAPTCHA v3; adres IP wywo\u0142uj\u0105cego i cel s\u0105 przechowywane przez godzin\u0119 w celu ograniczenia cz\u0119stotliwo\u015bci.<\/p>\n<p>    <button id=\"og-btn\" class=\"button\" style=\"background: var(--accent, #7ee787); color: var(--on-accent, #0b1114); border: none; padding: 12px 24px; border-radius: 6px; font-weight: 700; cursor: pointer;\">Sprawdzenie podgl\u0105du udost\u0119pniania<\/button><\/p>\n<div id=\"og-ausgabe\" style=\"margin-top: 22px;\"><\/div>\n<p style=\"color: var(--text-secondary, #a0a0b0); font-size: 0.8rem; margin: 24px 0 0;\">Granice, o kt\u00f3rych warto wiedzie\u0107: licz\u0105 si\u0119 tylko tagi w podanym HTML, tagi wstawiane przez JavaScript s\u0105 niewidoczne dla ka\u017cdego crawlera i dla tego sprawdzenia; narysowana tu karta trzyma si\u0119 typowego uk\u0142adu, ka\u017cda sie\u0107 przycina i skraca po swojemu; pami\u0119ci podr\u0119czne Facebooka, LinkedIna i komunikator\u00f3w trzymaj\u0105 starsz\u0105 wersj\u0119 strony przez dni, wi\u0119c poprawiony tag pojawi si\u0119 tam dopiero po ponownym pobraniu; a mierzony jest tylko pierwszy og:image.<\/p>\n<\/div>\n<p><script>\n(function () {\n    'use strict';<\/p>\n<p>    const T = {\"einleitung\":\"Gdy link trafia do czatu lub sieci spo\u0142eczno\u015bciowej, odbieraj\u0105ca aplikacja pobiera stron\u0119 raz i buduje kart\u0119 z gar\u015bci metatag\u00f3w: og:title, og:description, og:image, a dla X typu twitter:card. Ka\u017cdy b\u0142\u0105d wida\u0107 jako zepsuty podgl\u0105d: brak obrazu, malutkie logo rozci\u0105gni\u0119te na ca\u0142\u0105 kart\u0119, tytu\u0142 b\u0119d\u0105cy nazw\u0105 witryny, opis b\u0119d\u0105cy komunikatem o cookies. To sprawdzenie pobiera stron\u0119 z tego serwera, odczytuje tagi, \u015bci\u0105ga obraz i mierzy go, po czym rysuje kart\u0119 tak, jak zobaczy\u0142oby j\u0105 pierwsze udost\u0119pnienie, bez uruchamiania tu \u017cadnego skryptu strony docelowej.\",\"label_url\":\"Adres strony\",\"datenschutz\":\"Z tego serwera: jedno \u017c\u0105danie o stron\u0119 (do 1 MB) i jedno o og:image (do 6 MB). Podgl\u0105d pokazuje zmniejszon\u0105 kopi\u0119 tego obrazu osadzon\u0105 w odpowiedzi, wi\u0119c przegl\u0105darka odwiedzaj\u0105cego nie \u0142aduje niczego z witryny docelowej. Hosty w sieciach prywatnych, loopback i link-local s\u0105 odrzucane. Zapytanie chroni reCAPTCHA v3; adres IP wywo\u0142uj\u0105cego i cel s\u0105 przechowywane przez godzin\u0119 w celu ograniczenia cz\u0119stotliwo\u015bci.\",\"knopf\":\"Sprawdzenie podgl\u0105du udost\u0119pniania\",\"laeuft\":\"Pobieranie strony i obrazu...\",\"grenze\":\"Granice, o kt\u00f3rych warto wiedzie\u0107: licz\u0105 si\u0119 tylko tagi w podanym HTML, tagi wstawiane przez JavaScript s\u0105 niewidoczne dla ka\u017cdego crawlera i dla tego sprawdzenia; narysowana tu karta trzyma si\u0119 typowego uk\u0142adu, ka\u017cda sie\u0107 przycina i skraca po swojemu; pami\u0119ci podr\u0119czne Facebooka, LinkedIna i komunikator\u00f3w trzymaj\u0105 starsz\u0105 wersj\u0119 strony przez dni, wi\u0119c poprawiony tag pojawi si\u0119 tam dopiero po ponownym pobraniu; a mierzony jest tylko pierwszy og:image.\",\"h_vorschau\":\"Podgl\u0105d\",\"vorschau_hinweis\":\"Narysowany ze znalezionych tag\u00f3w, obraz zmniejszony na tym serwerze. Prawdziwa karta r\u00f3\u017cni si\u0119 w zale\u017cno\u015bci od sieci przyci\u0119ciem i skr\u00f3ceniem.\",\"karte_ohne_bild\":\"brak obrazu\",\"karte_ohne_titel\":\"(brak tytu\u0142u)\",\"karte_ohne_beschreibung\":\"(brak opisu)\",\"h_bild\":\"Obraz\",\"zeile_bild_url\":\"og:image rozwi\u0105zany do\",\"zeile_bild_masse\":\"Wymiary\",\"zeile_bild_typ\":\"Typ i rozmiar\",\"zeile_bild_status\":\"Status pobrania\",\"zeile_dauer\":\"Czas\",\"zeile_limit\":\"Pozosta\u0142e sprawdzenia w tej godzinie\",\"wert_keines\":\"brak\",\"wert_fehlt\":\"brak\",\"wert_leer\":\"(puste)\",\"h_tags\":\"Tagi, jak podane\",\"h_befunde\":\"Ustalenia\",\"stufe_hoch\":\"Wysoka\",\"stufe_mittel\":\"\u015arednia\",\"stufe_niedrig\":\"Niska\",\"stufe_info\":\"Informacja\",\"stufe_gut\":\"W porz\u0105dku\",\"keine_befunde\":\"Brak uwag.\",\"urteil_gut\":\"Strona udost\u0119pnia si\u0119 z kompletn\u0105 kart\u0105.\",\"urteil_warnung\":\"Karta si\u0119 renderuje, ale jej cz\u0119\u015b\u0107 brakuje albo gdzie\u015b b\u0119dzie wygl\u0105da\u0107 \u017ale.\",\"urteil_kritisch\":\"Obrazu nie da si\u0119 pokaza\u0107 albo strona nie jest HTML.\",\"fehler_kein_token\":\"Sprawdzenie nie mog\u0142o si\u0119 rozpocz\u0105\u0107, poniewa\u017c reCAPTCHA si\u0119 nie za\u0142adowa\u0142a.\",\"fehler_captcha\":\"reCAPTCHA uzna\u0142a \u017c\u0105danie za zautomatyzowane. Zwykle pomaga ponowne za\u0142adowanie strony.\",\"fehler_zu_viele\":\"Osi\u0105gni\u0119to limit {limit} sprawdze\u0144 na godzin\u0119 dla tego adresu.\",\"fehler_adresse\":\"Tego adresu nie da si\u0119 u\u017cy\u0107.\",\"fehler_abruf\":\"Strony nie da\u0142o si\u0119 pobra\u0107.\",\"fehler_zaehler\":\"Licznik jest niedost\u0119pny, dlatego nic nie zosta\u0142o sprawdzone.\",\"fehler_pruefdienst\":\"Us\u0142uga reCAPTCHA by\u0142a nieosi\u0105galna.\",\"fehler_aufbau\":\"Us\u0142uga nie jest poprawnie skonfigurowana. B\u0142\u0105d le\u017cy po tej stronie.\",\"fehler_eingabe\":\"\u017b\u0105danie by\u0142o nieczytelne.\",\"fehler_methode\":\"Niew\u0142a\u015bciwa metoda \u017c\u0105dania.\",\"fehler_netz\":\"Us\u0142uga by\u0142a nieosi\u0105galna.\",\"fehler_antwort\":\"Odpowied\u017a by\u0142a nieczytelna.\",\"fehler_unbekannt\":\"Co\u015b posz\u0142o nie tak, a nie ma na to osobnego komunikatu.\",\"grund_leer\":\"Nic nie zosta\u0142o wpisane.\",\"grund_zu_lang\":\"Wpis jest za d\u0142ugi.\",\"grund_unlesbar\":\"To nie jest czytelny adres.\",\"grund_schema\":\"Sprawdzane s\u0105 tylko adresy http i https.\",\"grund_benutzerinfo\":\"Wpisy z danymi logowania s\u0105 odrzucane.\",\"grund_kein_punkt\":\"Nazwa hosta potrzebuje co najmniej jednej kropki.\",\"grund_hostform\":\"Wymagana jest nazwa hosta, nie adres IP.\",\"grund_port\":\"Sprawdzane s\u0105 tylko porty 80, 443, 8080 i 8443.\",\"grund_gesperrter_bereich\":\"Ten host rozwi\u0105zuje si\u0119 do sieci prywatnej lub zarezerwowanej. Takie nigdy nie s\u0105 kontaktowane.\",\"grund_kein_dns\":\"Nazwy hosta nie da si\u0119 rozwi\u0105za\u0107.\",\"grund_abruf\":\"Adres nie odpowiedzia\u0142.\",\"grund_zu_viele_spruenge\":\"Adres przekierowuje zbyt cz\u0119sto.\",\"befund_status\":\"Serwer odpowiedzia\u0142 statusem {status} || Crawlery buduj\u0105ce podgl\u0105d widz\u0105 t\u0119 sam\u0105 stron\u0119 b\u0142\u0119du; wi\u0119kszo\u015b\u0107 nie pokazuje wtedy \u017cadnej karty.\",\"befund_weiterleitung\":\"Przekierowano {n} raz(y) na {ziel} || Crawlery pod\u0105\u017caj\u0105 za przekierowaniami, ale niekt\u00f3re zapisuj\u0105 kart\u0119 pod pierwotnym adresem. Licz\u0105 si\u0119 tagi strony ko\u0144cowej.\",\"befund_kein_html\":\"Adres dostarcza {typ}, nie HTML || Brak tag\u00f3w do odczytania; PDF lub obraz udost\u0119pnia si\u0119 bez karty.\",\"befund_og_title_fehlt\":\"Brak og:title, powr\u00f3t do elementu title ({title}) || Wi\u0119kszo\u015b\u0107 sieci bierze element title, gdy brakuje og:title. Przyrostki z nazw\u0105 witryny l\u0105duj\u0105 wtedy na karcie.\",\"befund_og_title_fehlt_ganz\":\"Brak og:title i brak elementu title || Karta nie ma nic do pokazania jako nag\u0142\u00f3wek; niekt\u00f3re sieci pokazuj\u0105 zamiast tego adres.\",\"befund_og_title_lang\":\"og:title ma {n} znak\u00f3w || Karty skracaj\u0105 tytu\u0142y przy oko\u0142o 60 do 70 znakach, cz\u0119sto po jednej linii. Znaczenie powinno by\u0107 na pocz\u0105tku.\",\"befund_og_title_ok\":\"og:title ma {n} znak\u00f3w || D\u0142ugo\u015b\u0107 pasuj\u0105ca do karty.\",\"befund_og_title_gleich_title\":\"og:title jest r\u00f3wny elementowi title i d\u0142ugi || Tytu\u0142 karty mo\u017ce nie\u015b\u0107 przyrostek z nazw\u0105 witryny, kt\u00f3ry nale\u017cy do wynik\u00f3w wyszukiwania, a nie na kart\u0119.\",\"befund_og_description_fehlt\":\"Brak og:description, powr\u00f3t do meta opisu || Dzia\u0142a w wi\u0119kszo\u015bci sieci. Osobny og:description mo\u017cna napisa\u0107 pod kart\u0119 zamiast pod wyniki wyszukiwania.\",\"befund_og_description_fehlt_ganz\":\"Brak og:description i brak meta opisu || Karta pokazuje tylko tytu\u0142 albo sie\u0107 bierze przypadkowe zdanie ze strony.\",\"befund_og_description_lang\":\"og:description ma {n} znak\u00f3w || Karty pokazuj\u0105 najwy\u017cej dwie linie, oko\u0142o 120 do 200 znak\u00f3w. Reszta jest ucinana.\",\"befund_og_description_kurz\":\"og:description ma tylko {n} znak\u00f3w || Za kr\u00f3tki, by powiedzie\u0107, co strona oferuje.\",\"befund_og_description_ok\":\"og:description ma {n} znak\u00f3w || Mie\u015bci si\u0119 w dw\u00f3ch liniach karty.\",\"befund_og_image_fehlt\":\"Brak og:image || Karta renderuje si\u0119 bez obrazu albo sie\u0107 bierze pierwszy du\u017cy obraz ze strony, kt\u00f3ry rzadko jest w\u0142a\u015bciwy. Jeden tag z bezwzgl\u0119dnym adresem https to naprawia.\",\"befund_og_image_http\":\"og:image przez http: {url} || Kilka sieci odrzuca mieszan\u0105 tre\u015b\u0107 i nie pokazuje obrazu. U\u017cy\u0107 adresu https albo doda\u0107 og:image:secure_url.\",\"befund_og_image_relativ\":\"og:image to \u015bcie\u017cka wzgl\u0119dna: {wert} || Specyfikacja wymaga bezwzgl\u0119dnego URL. Niekt\u00f3re crawlery j\u0105 rozwi\u0105zuj\u0105, inne nie pokazuj\u0105 obrazu. To sprawdzenie rozwi\u0105za\u0142o j\u0105 wzgl\u0119dem adresu strony.\",\"befund_og_image_unerreichbar\":\"og:image nie da si\u0119 pobra\u0107 ({status} {fehler}): {url} || Tag wskazuje adres, kt\u00f3ry nie odpowiada. Karta nie pokazuje obrazu, a sieci zapami\u0119tuj\u0105 t\u0119 pora\u017ck\u0119.\",\"befund_og_image_unlesbar\":\"og:image nie jest czytelnym obrazem ({typ}, {kb} KB) || Adres odpowiada, ale nie danymi obrazu. Cz\u0119sto strona HTML, przekierowanie do logowania albo SVG, kt\u00f3rego wi\u0119kszo\u015b\u0107 sieci nie renderuje.\",\"befund_og_image\":\"Obraz {breite} \u00d7 {hoehe} px, {typ}, {kb} KB, proporcje {verhaeltnis}:1 || Zmierzone po pobraniu pliku.\",\"befund_og_image_zu_klein\":\"Obraz za ma\u0142y: {breite} \u00d7 {hoehe} px || Facebook i LinkedIn wymagaj\u0105 co najmniej 200 \u00d7 200 px i poni\u017cej nie pokazuj\u0105 nic.\",\"befund_og_image_klein\":\"Obraz w\u0119\u017cszy ni\u017c 600 px: {breite} \u00d7 {hoehe} px || Poni\u017cej 600 px szeroko\u015bci Facebook pokazuje ma\u0142\u0105 kwadratow\u0105 miniatur\u0119 zamiast du\u017cej karty. 1200 \u00d7 630 px to bezpieczny rozmiar dla ka\u017cdej sieci.\",\"befund_og_image_mittel\":\"Obraz poni\u017cej zalecanych 1200 \u00d7 630 px: {breite} \u00d7 {hoehe} px || Du\u017ca karta si\u0119 renderuje, ale powi\u0119kszona i mi\u0119kka na ekranach o wysokiej rozdzielczo\u015bci.\",\"befund_og_image_gross_genug\":\"Obraz {breite} \u00d7 {hoehe} px, wystarczaj\u0105co du\u017cy dla ka\u017cdej sieci || Spe\u0142nia zalecenie 1200 \u00d7 630 px.\",\"befund_og_image_verhaeltnis\":\"Proporcje {verhaeltnis}:1 || Karty s\u0105 przycinane do oko\u0142o 1,91:1. Obraz kwadratowy lub pionowy traci g\u00f3r\u0119 i d\u00f3\u0142; bardzo szeroki traci boki. Komponowanie pod 1,91:1 unika przyci\u0119cia.\",\"befund_og_image_zu_gross\":\"Obraz wa\u017cy {mb} MB || Facebook odrzuca obrazy powy\u017cej 8 MB i nie pokazuje obrazu karty. Ponowna kompresja do wyra\u017anie poni\u017cej 1 MB nic na karcie nie traci.\",\"befund_og_image_gross\":\"Obraz wa\u017cy {mb} MB || X ogranicza obrazy kart do 5 MB; inne go przyjmuj\u0105, ale pobieraj\u0105 wolno. Ponowna kompresja pomaga wsz\u0119dzie.\",\"befund_og_image_schwer\":\"Obraz wa\u017cy {kb} KB || W porz\u0105dku dla ka\u017cdej sieci, ale karta nie potrzebuje wi\u0119cej ni\u017c kilkuset KB.\",\"befund_og_image_format\":\"Format obrazu {typ} || Sieci renderuj\u0105 JPEG, PNG, GIF i przewa\u017cnie WebP. SVG i AVIF ignoruje kilka z nich.\",\"befund_og_image_webp\":\"Obraz to WebP || Facebook, X i LinkedIn renderuj\u0105 WebP; niekt\u00f3re komunikatory i starsze integracje nie. JPEG to bezpieczny wyb\u00f3r dla obrazu udost\u0119pniania.\",\"befund_og_image_weiterleitung\":\"og:image przekierowuje ({n} skok(i)) || Crawlery pod\u0105\u017caj\u0105, ale przekierowanie przed obrazem spowalnia ka\u017cdy podgl\u0105d, a niekt\u00f3re zapami\u0119tuj\u0105 cel przekierowania. Skierowa\u0107 tag na adres ko\u0144cowy.\",\"befund_og_image_masse_fehlen\":\"Brak og:image:width i og:image:height (zmierzono: {breite} \u00d7 {hoehe}) || Bez nich Facebook renderuje pierwsze udost\u0119pnienie bez obrazu, bo jeszcze nie pobra\u0142 pliku. Te dwa tagi pozwalaj\u0105 karcie renderowa\u0107 si\u0119 poprawnie ju\u017c przy pierwszym udost\u0119pnieniu.\",\"befund_og_image_masse_falsch\":\"og:image:width\\\/height ({angegeben}) nie zgadzaj\u0105 si\u0119 z plikiem ({gemessen}) || Z\u0142e wymiary zniekszta\u0142caj\u0105 pierwsze renderowanie. Tagi powinny nie\u015b\u0107 rzeczywisty rozmiar w pikselach.\",\"befund_og_image_alt_fehlt\":\"Brak og:image:alt || Czytniki ekranu w sieciach spo\u0142eczno\u015bciowych czytaj\u0105 tekst alternatywny obrazu karty. Opcjonalne, ale tanie.\",\"befund_og_image_mehrere\":\"{n} tag\u00f3w og:image || Sieci bior\u0105 pierwszy, niekt\u00f3re pozwalaj\u0105 wybra\u0107. Zmierzono tylko pierwszy.\",\"befund_og_url_fehlt\":\"Brak og:url || og:url nazywa kanoniczny adres, pod kt\u00f3rym udost\u0119pnienie ma by\u0107 liczone. Bez niego udost\u0119pnienia tej samej strony pod r\u00f3\u017cnymi adresami si\u0119 rozdzielaj\u0105.\",\"befund_og_url_abweichend\":\"og:url ({og}) r\u00f3\u017cni si\u0119 od adresu kanonicznego ({canonical}) || Udost\u0119pnienia, polubienia i zapami\u0119tane karty wi\u0105\u017c\u0105 si\u0119 z og:url. Rozbie\u017cno\u015b\u0107 rozdziela je mi\u0119dzy dwa adresy albo kieruje kart\u0119 na z\u0142\u0105 stron\u0119.\",\"befund_og_url_ok\":\"og:url zgadza si\u0119 z adresem kanonicznym || Udost\u0119pnienia wi\u0105\u017c\u0105 si\u0119 z w\u0142a\u015bciwym adresem.\",\"befund_og_type_fehlt\":\"Brak og:type || Domy\u015blnie website. Artyku\u0142y powinny m\u00f3wi\u0107 article, by sieci pokazywa\u0142y dane publikacji.\",\"befund_og_type\":\"og:type {typ} || Typ obiektu, wed\u0142ug kt\u00f3rego sieci dobieraj\u0105 uk\u0142ad karty.\",\"befund_og_site_name_fehlt\":\"Brak og:site_name || Karty pokazuj\u0105 domen\u0119 zamiast nazwy witryny. Kosmetyka.\",\"befund_og_locale_form\":\"og:locale {wert} nie ma postaci j\u0119zyk_TERYTORIUM || Warto\u015b\u0107 powinna wygl\u0105da\u0107 jak pl_PL lub en_US.\",\"befund_article_ohne_datum\":\"og:type to article bez article:published_time || Sieci pokazuj\u0105 dat\u0119 publikacji na kartach artyku\u0142\u00f3w, gdy tag istnieje.\",\"befund_twitter_card_fehlt\":\"Brak twitter:card || X wraca do ma\u0142ej karty summary albo \u017cadnej. summary_large_image pokazuje og:image na pe\u0142n\u0105 szeroko\u015b\u0107; pozosta\u0142e tagi s\u0105 brane z Open Graph.\",\"befund_twitter_card_ungueltig\":\"twitter:card ma nieznan\u0105 warto\u015b\u0107: {wert} || Poprawne warto\u015bci to summary, summary_large_image, app i player.\",\"befund_twitter_card\":\"twitter:card {karte} || X u\u017cywa tego uk\u0142adu i czyta tytu\u0142, opis i obraz z tag\u00f3w Open Graph, gdy brakuje wariant\u00f3w twitter:.\",\"befund_twitter_summary_mit_grossem_bild\":\"twitter:card to summary, cho\u0107 obraz ma 1200 px szeroko\u015bci || Du\u017cy obraz jest zmniejszany do miniatury. summary_large_image pokazuje go na pe\u0142n\u0105 szeroko\u015b\u0107.\",\"befund_twitter_site_fehlt\":\"Brak twitter:site ani twitter:creator || Opcjonalne; X przypisuje kart\u0119 do konta, gdy jakie\u015b jest wskazane.\"};<\/p>\n<p>    var ENDPUNKT = '\/lw-ogcheck.php';\n    var SITEKEY = '6LcrPkEtAAAAAPo1QCOf-IIM2fCL0UfdJz4y2iSY';\n    var STUFEN = ['hoch', 'mittel', 'niedrig', 'info', 'gut'];\n    var OG_REIHE = ['title', 'description', 'image', 'image:secure_url', 'image:width', 'image:height', 'image:alt', 'image:type', 'url', 'type', 'site_name', 'locale'];\n    var TW_REIHE = ['card', 'title', 'description', 'image', 'image:alt', 'site', 'creator'];<\/p>\n<p>    function liste(w) { return Array.isArray(w) ? w : []; }\n    function zahl(w) { return (typeof w === 'number' && isFinite(w)) ? w : null; }\n    function text(schluessel, daten) {\n        var t = T[schluessel];\n        if (typeof t !== 'string') { return null; }\n        return t.replace(\/\\{([a-z_0-9]+)\\}\/g, function (m, k) {\n            return (daten && daten[k] !== undefined && daten[k] !== null) ? String(daten[k]) : m;\n        });\n    }\n    function strMap(o) { var r = {}; if (o && typeof o === 'object') { Object.keys(o).forEach(function (k) { if (typeof o[k] === 'string') { r[k] = o[k]; } }); } return r; }<\/p>\n<p>    function bewerten(antwort) {\n        var a = antwort || {};\n        if (a.fehler) { return { fehler: String(a.fehler), grund: a.grund || null, limit: zahl(a.limit) }; }\n        var befunde = liste(a.befunde).map(function (f) {\n            return { key: String(f.key || ''), stufe: STUFEN.indexOf(f.stufe) === -1 ? 'info' : f.stufe, daten: (f.daten && typeof f.daten === 'object') ? f.daten : {} };\n        });\n        var gruppen = {};\n        STUFEN.forEach(function (s) { gruppen[s] = befunde.filter(function (f) { return f.stufe === s; }); });\n        var k = (a.karte && typeof a.karte === 'object') ? a.karte : {};\n        var bi = (a.bild && typeof a.bild === 'object') ? a.bild : null;\n        var vorschau = bi && typeof bi.vorschau === 'string' && \/^data:image\\\/(jpeg|png|webp);base64,[A-Za-z0-9+\/=]+$\/.test(bi.vorschau) ? bi.vorschau : null;\n        return {\n            fehler: null, url: a.url ? String(a.url) : '', endurl: a.endurl ? String(a.endurl) : '',\n            urteil: (a.urteil === 'gut' || a.urteil === 'warnung' || a.urteil === 'kritisch') ? a.urteil : 'kritisch',\n            karte: { titel: k.titel ? String(k.titel) : null, beschreibung: k.beschreibung ? String(k.beschreibung) : null, site: k.site ? String(k.site) : null, host: k.host ? String(k.host) : '' },\n            og: strMap(a.og), twitter: strMap(a.twitter), title: a.title ? String(a.title) : null, description: a.description ? String(a.description) : null, canonical: a.canonical ? String(a.canonical) : null,\n            bild: bi ? { url: bi.url ? String(bi.url) : null, status: zahl(bi.status), breite: zahl(bi.breite), hoehe: zahl(bi.hoehe), typ: bi.typ ? String(bi.typ) : null, kb: zahl(bi.kb), vorschau: vorschau, fehler: bi.fehler ? String(bi.fehler) : null } : null,\n            befunde: befunde, gruppen: gruppen, dauer: zahl(a.dauer_ms), limitRest: zahl(a.limit_rest)\n        };\n    }<\/p>\n<p>    function skriptLaden() {\n        return new Promise(function (auf) {\n            if (window.grecaptcha) { auf(true); return; }\n            var s = document.createElement('script');\n            s.src = 'https:\/\/www.google.com\/recaptcha\/api.js?render=' + SITEKEY;\n            s.onload = function () { auf(true); }; s.onerror = function () { auf(false); };\n            document.head.appendChild(s);\n            setTimeout(function () { auf(!!window.grecaptcha); }, 8000);\n        });\n    }\n    function tokenHolen() {\n        return skriptLaden().then(function (da) {\n            if (!da || !window.grecaptcha || !window.grecaptcha.ready) { return null; }\n            return new Promise(function (auf) {\n                var fertig = false;\n                function einmal(w) { if (!fertig) { fertig = true; auf(w); } }\n                setTimeout(function () { einmal(null); }, 12000);\n                try {\n                    window.grecaptcha.ready(function () {\n                        if (fertig) { return; }\n                        if (!window.grecaptcha.execute) { einmal(null); return; }\n                        window.grecaptcha.execute(SITEKEY, { action: 'ogcheck' }).then(function (t) { einmal(t || null); }, function () { einmal(null); });\n                    });\n                } catch (e) { einmal(null); }\n            });\n        }, function () { return null; });\n    }\n    function abfragen(url) {\n        return tokenHolen().then(function (token) {\n            return fetch(ENDPUNKT, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ url: url, token: token || '' }) })\n                .then(function (r) { return r.json().then(function (j) { return j; }, function () { return { fehler: 'antwort' }; }); }, function () { return { fehler: 'netz' }; });\n        });\n    }<\/p>\n<p>    window.LW_TEST = window.LW_TEST || {};\n    window.LW_TEST.OG = { bewerten: bewerten, darstellen: null, text: text, ENDPUNKT: ENDPUNKT, STUFEN: STUFEN, T: T };<\/p>\n<p>    var btn = document.getElementById('og-btn');\n    var out = document.getElementById('og-ausgabe');\n    if (!btn || !out) { return; }<\/p>\n<p>    function el(tag, stil, txt) { var e = document.createElement(tag); if (stil) { e.setAttribute('style', stil); } if (txt !== undefined && txt !== null) { e.textContent = txt; } return e; }\n    function wert(id) { var e = document.getElementById(id); return e ? e.value : ''; }\n    var UEBERSCHRIFT = 'font-family: \"Nunito Sans\", sans-serif; font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.95rem; margin: 22px 0 8px;';\n    var ZELLE = 'padding: 5px 12px 5px 0; color: var(--text-secondary, #a0a0b0); font-size: 0.87rem;';\n    var ZELLE_WERT = 'padding: 5px 12px 5px 0; color: var(--text-primary, #e8e8ee); font-size: 0.87rem; font-family: monospace; word-break: break-all;';\n    var KASTEN = 'background: var(--bg-body, #14141a); border: 1px solid var(--border, #2a2a35); border-radius: 8px; padding: 14px 16px; margin: 0 0 10px;';\n    var GUT = ' color: #7ee787;', WARN = ' color: #ffa94d;', ROT = ' color: #ff7b72;', GRAU = ' color: #8a8a99;';\n    var FARBEN = { hoch: '#ff7b72', mittel: '#ffa94d', niedrig: '#e3b341', info: '#8a8a99', gut: '#7ee787' };\n    var URTEIL = { gut: GUT, warnung: WARN, kritisch: ROT };\n    function gitter(sp) { return el('div', 'display: grid; grid-template-columns: ' + sp + '; gap: 0 18px; align-items: baseline;'); }\n    function paar(g, n, w, stil) { g.appendChild(el('div', ZELLE, n)); g.appendChild(el('div', ZELLE_WERT + (stil || ''), w)); }<\/p>\n<p>    function karte(b) {\n        var k = el('div', 'max-width: 520px; border: 1px solid var(--border, #2a2a35); border-radius: 12px; overflow: hidden; background: var(--bg-body, #14141a); margin: 0 0 8px;');\n        if (b.bild && b.bild.vorschau) {\n            var img = document.createElement('img'); img.src = b.bild.vorschau; img.alt = ''; img.setAttribute('style', 'display: block; width: 100%; aspect-ratio: 1.91 \/ 1; object-fit: cover; background: #000;');\n            k.appendChild(img);\n        } else {\n            k.appendChild(el('div', 'width: 100%; aspect-ratio: 1.91 \/ 1; display: flex; align-items: center; justify-content: center; color: #8a8a99; font-size: 0.85rem; background: #0b0b10;', T.karte_ohne_bild));\n        }\n        var unten = el('div', 'padding: 10px 14px;');\n        unten.appendChild(el('div', 'font-size: 0.75rem; text-transform: uppercase; color: #8a8a99; letter-spacing: 0.4px;', b.karte.host || ''));\n        unten.appendChild(el('div', 'font-weight: 700; color: var(--text-primary, #e8e8ee); font-size: 0.95rem; margin: 3px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;', b.karte.titel || T.karte_ohne_titel));\n        unten.appendChild(el('div', 'color: var(--text-secondary, #a0a0b0); font-size: 0.82rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;', b.karte.beschreibung || T.karte_ohne_beschreibung));\n        k.appendChild(unten);\n        return k;\n    }<\/p>\n<p>    function darstellen(b, ziel) {\n        ziel.innerHTML = '';\n        if (b.fehler) {\n            var txt = T['fehler_' + b.fehler] || T.fehler_unbekannt;\n            if (b.grund && T['grund_' + b.grund]) { txt = txt + ' ' + T['grund_' + b.grund]; }\n            if (b.limit !== null) { txt = txt.replace('{limit}', String(b.limit)); }\n            ziel.appendChild(el('p', ZELLE + WARN + ' margin: 0;', txt));\n            return;\n        }\n        ziel.appendChild(el('div', 'font-size: 1.05rem; font-weight: 700; margin: 0 0 12px;' + URTEIL[b.urteil], T['urteil_' + b.urteil]));<\/p>\n<p>        ziel.appendChild(el('div', UEBERSCHRIFT, T.h_vorschau));\n        ziel.appendChild(karte(b));\n        ziel.appendChild(el('p', ZELLE + ' margin: 0 0 6px; font-size: 0.8rem;', T.vorschau_hinweis));<\/p>\n<p>        ziel.appendChild(el('div', UEBERSCHRIFT, T.h_bild));\n        var gb = gitter('auto auto');\n        if (b.bild) {\n            paar(gb, T.zeile_bild_url, b.bild.url || '-');\n            if (b.bild.breite !== null) { paar(gb, T.zeile_bild_masse, b.bild.breite + ' \u00d7 ' + b.bild.hoehe + ' px' + (b.bild.hoehe ? ' (' + (Math.round(b.bild.breite \/ b.bild.hoehe * 100) \/ 100) + ':1)' : ''), b.bild.breite >= 1200 ? GUT : WARN); }\n            paar(gb, T.zeile_bild_typ, (b.bild.typ || '-') + (b.bild.kb !== null ? ', ' + b.bild.kb + ' KB' : ''), GRAU);\n            paar(gb, T.zeile_bild_status, b.bild.status !== null ? String(b.bild.status) : (b.bild.fehler || '-'), b.bild.status === 200 ? GUT : ROT);\n        } else { paar(gb, T.zeile_bild_url, T.wert_keines, ROT); }\n        if (b.dauer !== null) { paar(gb, T.zeile_dauer, b.dauer + ' ms', GRAU); }\n        if (b.limitRest !== null) { paar(gb, T.zeile_limit, String(b.limitRest), GRAU); }\n        ziel.appendChild(gb);<\/p>\n<p>        ziel.appendChild(el('div', UEBERSCHRIFT, T.h_tags));\n        var gt = gitter('auto auto');\n        paar(gt, 'title', b.title || T.wert_fehlt, b.title ? GRAU : WARN);\n        paar(gt, 'description', b.description || T.wert_fehlt, b.description ? GRAU : WARN);\n        paar(gt, 'canonical', b.canonical || T.wert_fehlt, GRAU);\n        OG_REIHE.forEach(function (k) { if (b.og[k] !== undefined) { paar(gt, 'og:' + k, b.og[k] === '' ? T.wert_leer : b.og[k], k === 'title' || k === 'image' ? '' : GRAU); } });\n        Object.keys(b.og).forEach(function (k) { if (OG_REIHE.indexOf(k) === -1) { paar(gt, 'og:' + k, b.og[k] === '' ? T.wert_leer : b.og[k], GRAU); } });\n        TW_REIHE.forEach(function (k) { if (b.twitter[k] !== undefined) { paar(gt, 'twitter:' + k, b.twitter[k] === '' ? T.wert_leer : b.twitter[k], GRAU); } });\n        ziel.appendChild(gt);<\/p>\n<p>        ziel.appendChild(el('div', UEBERSCHRIFT, T.h_befunde));\n        var irgendwas = false;\n        STUFEN.forEach(function (s) {\n            var gr = b.gruppen[s];\n            if (!gr.length) { return; }\n            irgendwas = true;\n            ziel.appendChild(el('div', 'font-weight: 700; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.5px; margin: 14px 0 6px; color: ' + FARBEN[s] + ';', T['stufe_' + s] + ' (' + gr.length + ')'));\n            gr.forEach(function (f) {\n                var k = el('div', KASTEN + ' border-left: 3px solid ' + FARBEN[s] + ';');\n                var t = text('befund_' + f.key, f.daten) || f.key;\n                var teile = t.split(' || ');\n                k.appendChild(el('div', 'color: var(--text-primary, #e8e8ee); font-size: 0.9rem; font-weight: 700;', teile[0]));\n                if (teile[1]) { k.appendChild(el('div', ZELLE + ' padding: 6px 0 0; line-height: 1.55;', teile[1])); }\n                ziel.appendChild(k);\n            });\n        });\n        if (!irgendwas) { ziel.appendChild(el('p', ZELLE + ' margin: 0;', T.keine_befunde)); }\n    }\n    window.LW_TEST.OG.darstellen = darstellen;<\/p>\n<p>    var laeuft = false;\n    btn.addEventListener('click', function () {\n        if (laeuft) { return; }\n        laeuft = true; btn.disabled = true;\n        out.innerHTML = '';\n        out.appendChild(el('p', ZELLE + GRAU + ' margin: 0;', T.laeuft));\n        abfragen(wert('og-url')).then(function (a) { darstellen(bewerten(a), out); laeuft = false; btn.disabled = false; },\n            function () { darstellen(bewerten({ fehler: 'netz' }), out); laeuft = false; btn.disabled = false; });\n    });\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pobiera stron\u0119, odczytuje jej tagi Open Graph i Twitter Card, \u015bci\u0105ga og:image i mierzy je, a nast\u0119pnie rysuje podgl\u0105d linku tak, jak pokaza\u0142yby go komunikatory i sieci spo\u0142eczno\u015bciowe: tytu\u0142, opis, obraz i host, z ustaleniami o rozmiarze, proporcjach, wadze, adresach bezwzgl\u0119dnych i brakuj\u0105cych tagach.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":9284,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-tool-base.php","meta":{"footnotes":""},"tags":[92740,92295,92283],"class_list":["post-15578","page","type-page","status-publish","hentry","tag-content-pl","tag-seo-pl","tag-web-performance-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Pobiera stron\u0119, odczytuje jej tagi Open Graph i Twitter Card, \u015bci\u0105ga og:image i mierzy je, a nast\u0119pnie rysuje podgl\u0105d linku tak, jak pokaza\u0142yby go komunikatory i sieci spo\u0142eczno\u015bciowe: tytu\u0142, opis, obraz i host, z ustaleniami o rozmiarze, proporcjach, wadze, adresach bezwzgl\u0119dnych i brakuj\u0105cych tagach.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/open-graph-social-card-checker-og-image-twitter-card\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/open-graph-social-card-checker-og-image-twitter-card\\\/\",\"name\":\"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-05T13:06:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/open-graph-social-card-checker-og-image-twitter-card\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/open-graph-social-card-checker-og-image-twitter-card\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/narzedzia\\\/open-graph-social-card-checker-og-image-twitter-card\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Toolbox\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/toolbox-3\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/","og_locale":"en_US","og_type":"article","og_title":"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog","og_description":"Pobiera stron\u0119, odczytuje jej tagi Open Graph i Twitter Card, \u015bci\u0105ga og:image i mierzy je, a nast\u0119pnie rysuje podgl\u0105d linku tak, jak pokaza\u0142yby go komunikatory i sieci spo\u0142eczno\u015bciowe: tytu\u0142, opis, obraz i host, z ustaleniami o rozmiarze, proporcjach, wadze, adresach bezwzgl\u0119dnych i brakuj\u0105cych tagach.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/","og_site_name":"Lukas Wojcik - Blog","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/og-default.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/","name":"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-09-05T13:06:45+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/narzedzia\/open-graph-social-card-checker-og-image-twitter-card\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Toolbox","item":"https:\/\/www.lukaswojcik.com\/blog\/toolbox-3\/"},{"@type":"ListItem","position":3,"name":"Sprawdzanie Open Graph i kart spo\u0142eczno\u015bciowych: og:image, Twitter Card, podgl\u0105d linku"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/15578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=15578"}],"version-history":[{"count":0,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/15578\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/pages\/9284"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=15578"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=15578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}