[{"data":1,"prerenderedAt":579},["ShallowReactive",2],{"content-/x-player-card-slide-embed-test":3,"all-pages-for-dir":557,"related-/x-player-card-slide-embed-test":558,"og-image-/x-player-card-slide-embed-test":578},{"id":4,"title":5,"body":6,"category":540,"concepts":540,"description":541,"extension":542,"meta":543,"navigation":544,"ogImage":540,"path":545,"project_name":540,"published":546,"publishedAt":547,"seo":548,"source":540,"stem":549,"tags":550,"todo":540,"unpublished":546,"updatedAt":540,"__hash__":556},"pages/2026-09/2026-09-23/x-player-card-slide-embed-test.md","X のツイート内でスライドをめくる Player Card を自サイトで試したら、普通のリンクカードになった",{"type":7,"value":8,"toc":533},"minimark",[9,13,22,30,35,42,224,236,239,242,245,286,289,294,297,446,459,463,466,470,494,497,500,503,516,519,522,529],[10,11,5],"h1",{"id":12},"x-のツイート内でスライドをめくる-player-card-を自サイトで試したら普通のリンクカードになった",[14,15,16,17,21],"p",{},"X（旧 Twitter）のタイムラインで、SlideShare のリンクを含む投稿を見かけた。ツイートの中にスライドが埋め込まれていて、",[18,19,20],"code",{},"‹ 2 / 133 ›"," の矢印でその場でページを送れる。外のサイトに飛ばずにスライドを読めるので、同じことを自分のサイト（log.eurekapu.com）でもやりたくなった。",[14,23,24,25,29],{},"結論から書くと、",[26,27,28],"strong",{},"メタタグを同じ形で出しても、X は埋め込みにせず普通のリンクカードで表示した","。以下、仕組みの確認、作ったもの、結果の順に残す。",[31,32,34],"h2",{"id":33},"仕組みは-player-card-という-iframe-の埋め込み","仕組みは Player Card という iframe の埋め込み",[14,36,37,38,41],{},"SlideShare のスライドページを、X のクローラーと同じ名乗り（User-Agent ",[18,39,40],{},"Twitterbot/1.0","）で取得すると、次のメタタグが返ってくる（2026-09-23 に実測）。",[43,44,49],"pre",{"className":45,"code":46,"language":47,"meta":48,"style":48},"language-html shiki shiki-themes vitesse-light vitesse-light","\u003Cmeta name=\"twitter:card\"          content=\"player\">\n\u003Cmeta name=\"twitter:player\"        content=\"https://www.slideshare.net/slideshow/embed_code/key/y2wg0bRAnNephJ\">\n\u003Cmeta name=\"twitter:player:width\"  content=\"597\">\n\u003Cmeta name=\"twitter:player:height\" content=\"486\">\n\u003Cmeta name=\"twitter:image\"         content=\"https://cdn.slidesharecdn.com/...thumbnail.jpg\">\n","html","",[18,50,51,96,128,160,192],{"__ignoreMap":48},[52,53,56,60,64,68,71,75,79,81,84,86,88,91,93],"span",{"class":54,"line":55},"line",1,[52,57,59],{"class":58},"shFtX","\u003C",[52,61,63],{"class":62},"sHkkW","meta",[52,65,67],{"class":66},"s4oTP"," name",[52,69,70],{"class":58},"=",[52,72,74],{"class":73},"sMJiu","\"",[52,76,78],{"class":77},"sdGka","twitter:card",[52,80,74],{"class":73},[52,82,83],{"class":66},"          content",[52,85,70],{"class":58},[52,87,74],{"class":73},[52,89,90],{"class":77},"player",[52,92,74],{"class":73},[52,94,95],{"class":58},">\n",[52,97,99,101,103,105,107,109,112,114,117,119,121,124,126],{"class":54,"line":98},2,[52,100,59],{"class":58},[52,102,63],{"class":62},[52,104,67],{"class":66},[52,106,70],{"class":58},[52,108,74],{"class":73},[52,110,111],{"class":77},"twitter:player",[52,113,74],{"class":73},[52,115,116],{"class":66},"        content",[52,118,70],{"class":58},[52,120,74],{"class":73},[52,122,123],{"class":77},"https://www.slideshare.net/slideshow/embed_code/key/y2wg0bRAnNephJ",[52,125,74],{"class":73},[52,127,95],{"class":58},[52,129,131,133,135,137,139,141,144,146,149,151,153,156,158],{"class":54,"line":130},3,[52,132,59],{"class":58},[52,134,63],{"class":62},[52,136,67],{"class":66},[52,138,70],{"class":58},[52,140,74],{"class":73},[52,142,143],{"class":77},"twitter:player:width",[52,145,74],{"class":73},[52,147,148],{"class":66},"  content",[52,150,70],{"class":58},[52,152,74],{"class":73},[52,154,155],{"class":77},"597",[52,157,74],{"class":73},[52,159,95],{"class":58},[52,161,163,165,167,169,171,173,176,178,181,183,185,188,190],{"class":54,"line":162},4,[52,164,59],{"class":58},[52,166,63],{"class":62},[52,168,67],{"class":66},[52,170,70],{"class":58},[52,172,74],{"class":73},[52,174,175],{"class":77},"twitter:player:height",[52,177,74],{"class":73},[52,179,180],{"class":66}," content",[52,182,70],{"class":58},[52,184,74],{"class":73},[52,186,187],{"class":77},"486",[52,189,74],{"class":73},[52,191,95],{"class":58},[52,193,195,197,199,201,203,205,208,210,213,215,217,220,222],{"class":54,"line":194},5,[52,196,59],{"class":58},[52,198,63],{"class":62},[52,200,67],{"class":66},[52,202,70],{"class":58},[52,204,74],{"class":73},[52,206,207],{"class":77},"twitter:image",[52,209,74],{"class":73},[52,211,212],{"class":66},"         content",[52,214,70],{"class":58},[52,216,74],{"class":73},[52,218,219],{"class":77},"https://cdn.slidesharecdn.com/...thumbnail.jpg",[52,221,74],{"class":73},[52,223,95],{"class":58},[14,225,226,227,229,230,232,233,235],{},"X はツイートに含まれる URL を読みに行き、",[18,228,78],{}," が ",[18,231,90],{}," なら、普通のリンクカードの代わりに埋め込み枠を作る。枠の中には ",[18,234,111],{}," の URL が、指定されたサイズの iframe で読み込まれる。ページ送りの矢印も、全画面ボタンも、X の部品ではなく SlideShare の埋め込み用ビューアだ。X は枠を用意しているだけである。",[14,237,238],{},"YouTube の動画や Spotify の曲がタイムライン上で再生できるのも、同じ Player Card の仕組みである。",[31,240,241],{"id":241},"作ったもの",[14,243,244],{},"Nuxt のページを2枚作った。",[246,247,248,261],"table",{},[249,250,251],"thead",{},[252,253,254,258],"tr",{},[255,256,257],"th",{},"ページ",[255,259,260],{},"役割",[262,263,264,276],"tbody",{},[252,265,266,273],{},[267,268,269],"td",{},[270,271,272],"a",{"href":272},"/blog/player-card-test",[267,274,275],{},"X に貼る URL。Player Card のメタタグを出す",[252,277,278,283],{},[267,279,280],{},[18,281,282],{},"/embed/player-card-test",[267,284,285],{},"X が iframe で読み込む埋め込み専用ページ。5枚のスライドとページ送りのバー",[14,287,288],{},"埋め込み専用ページは、サイトのヘッダーやフローティングボタンを出さず、画面いっぱいにスライドと操作バーだけを置いた。X が枠を作ったときに見えるはずの画面はこうなる（640×400 で表示）。",[290,291],"img",{"src":292,"alt":293},"/images/x-player-card-slide-embed-test/embed-player-page.png","埋め込み専用ページを640×400で表示した画面。「仕組みは iframe」という見出しのスライドと、下に「log.eurekapu.com で見る」リンク、前後の矢印、2 / 5 のページ番号、全画面ボタンが並ぶ",[14,295,296],{},"X に貼るページには、SlideShare と同じ形のメタタグを出した。本番で配信されている実物は次のとおり。",[43,298,300],{"className":45,"code":299,"language":47,"meta":48,"style":48},"\u003Cmeta name=\"twitter:card\"          content=\"player\">\n\u003Cmeta name=\"twitter:player\"        content=\"https://log.eurekapu.com/embed/player-card-test\">\n\u003Cmeta name=\"twitter:player:width\"  content=\"640\">\n\u003Cmeta name=\"twitter:player:height\" content=\"400\">\n\u003Cmeta name=\"twitter:image\"         content=\"https://log.eurekapu.com/og/pages/general/player-card-test.png?...\">\n",[18,301,302,330,359,388,417],{"__ignoreMap":48},[52,303,304,306,308,310,312,314,316,318,320,322,324,326,328],{"class":54,"line":55},[52,305,59],{"class":58},[52,307,63],{"class":62},[52,309,67],{"class":66},[52,311,70],{"class":58},[52,313,74],{"class":73},[52,315,78],{"class":77},[52,317,74],{"class":73},[52,319,83],{"class":66},[52,321,70],{"class":58},[52,323,74],{"class":73},[52,325,90],{"class":77},[52,327,74],{"class":73},[52,329,95],{"class":58},[52,331,332,334,336,338,340,342,344,346,348,350,352,355,357],{"class":54,"line":98},[52,333,59],{"class":58},[52,335,63],{"class":62},[52,337,67],{"class":66},[52,339,70],{"class":58},[52,341,74],{"class":73},[52,343,111],{"class":77},[52,345,74],{"class":73},[52,347,116],{"class":66},[52,349,70],{"class":58},[52,351,74],{"class":73},[52,353,354],{"class":77},"https://log.eurekapu.com/embed/player-card-test",[52,356,74],{"class":73},[52,358,95],{"class":58},[52,360,361,363,365,367,369,371,373,375,377,379,381,384,386],{"class":54,"line":130},[52,362,59],{"class":58},[52,364,63],{"class":62},[52,366,67],{"class":66},[52,368,70],{"class":58},[52,370,74],{"class":73},[52,372,143],{"class":77},[52,374,74],{"class":73},[52,376,148],{"class":66},[52,378,70],{"class":58},[52,380,74],{"class":73},[52,382,383],{"class":77},"640",[52,385,74],{"class":73},[52,387,95],{"class":58},[52,389,390,392,394,396,398,400,402,404,406,408,410,413,415],{"class":54,"line":162},[52,391,59],{"class":58},[52,393,63],{"class":62},[52,395,67],{"class":66},[52,397,70],{"class":58},[52,399,74],{"class":73},[52,401,175],{"class":77},[52,403,74],{"class":73},[52,405,180],{"class":66},[52,407,70],{"class":58},[52,409,74],{"class":73},[52,411,412],{"class":77},"400",[52,414,74],{"class":73},[52,416,95],{"class":58},[52,418,419,421,423,425,427,429,431,433,435,437,439,442,444],{"class":54,"line":194},[52,420,59],{"class":58},[52,422,63],{"class":62},[52,424,67],{"class":66},[52,426,70],{"class":58},[52,428,74],{"class":73},[52,430,207],{"class":77},[52,432,74],{"class":73},[52,434,212],{"class":66},[52,436,70],{"class":58},[52,438,74],{"class":73},[52,440,441],{"class":77},"https://log.eurekapu.com/og/pages/general/player-card-test.png?...",[52,443,74],{"class":73},[52,445,95],{"class":58},[14,447,448,449,452,453,455,456,458],{},"Nuxt では ",[18,450,451],{},"useHead"," でこの5つを出している。配信された HTML に ",[18,454,78],{}," が1つだけ（",[18,457,90],{},"）であることも確かめた。",[31,460,462],{"id":461},"結果-埋め込みにはならず小さなリンクカードになった","結果: 埋め込みにはならず、小さなリンクカードになった",[14,464,465],{},"本番に出したあと、URL を X に投稿した。表示はこうなった。",[290,467],{"src":468,"alt":469},"/images/x-player-card-slide-embed-test/x-result-summary-card.png","X に投稿した結果。ツイートの下に、左側が汎用のアイコン、右側に log.eurekapu.com とタイトルと説明文が並ぶ小さなリンクカードが表示され、スライドの埋め込みは出ていない",[471,472,473,477,488],"ul",{},[474,475,476],"li",{},"スライドの埋め込み枠は出ず、左に四角いサムネイル、右にタイトルと説明文が並ぶ小さなリンクカードになった",[474,478,479,480,483,484,487],{},"タイトル（",[18,481,482],{},"twitter:title","）と説明文（",[18,485,486],{},"twitter:description","）は読まれている。つまり X のクローラーはページに来ていて、メタタグも読んでいる",[474,489,490,491,493],{},"サムネイルは ",[18,492,207],{}," の画像ではなく、汎用のアイコンだった。この画像の URL は本番で HTTP 200・PNG を返すことを確認している。X がなぜ画像を使わなかったのかは分かっていない",[31,495,496],{"id":496},"なぜ埋め込みにならなかったのか",[14,498,499],{},"X は、Player Card をどのドメインにも開放しているわけではない。私の理解では、以前は Card Validator からドメインごとに申請し、承認されたドメインだけが Player Card として表示されていた。その Card Validator は2022年ごろに廃止されている。いまは新しいドメインが承認を受ける道筋が、ほぼ無いと思われる。SlideShare や YouTube は、その許可を持っている側だ。",[14,501,502],{},"今回の結果は、「メタタグは読まれたが、許可が無いので Player Card として扱われなかった」と考えると筋が通る。ただし、X の公式な説明で確かめたわけではなく、推測である。",[14,504,505,506,508,509,511,512,515],{},"もう1つ、切り分けていない要因がある。",[18,507,111],{}," に書いた ",[18,510,282],{}," は、本番では末尾にスラッシュを付けた ",[18,513,514],{},"/embed/player-card-test/"," へ 308 でリダイレクトされる。X がリダイレクトを嫌う可能性はゼロではない。とはいえ、ドメインの許可が無いなら、URL を直しても結果は変わらないはずだ。",[31,517,518],{"id":518},"自分のスライドをツイート内でめくらせたいなら",[14,520,521],{},"自サイトのメタタグだけでは実現できなかった。ツイート内でページ送りさせたいなら、スライドを SlideShare のような許可済みのサービスに上げて、そのリンクを投稿するのが現実的な方法である。",[14,523,524,525,528],{},"自サイトに置いたスライドは、X ではリンクカードとして表示される。読者にはクリックして ",[270,526,527],{"href":272},"テストページ"," に来てもらうことになる。テストページには同じ埋め込み画面を iframe で置いてあるので、そこでページ送りを試せる。",[530,531,532],"style",{},"html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sHkkW, html code.shiki .sHkkW{--shiki-default:#1E754F;--shiki-dark:#1E754F}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":48,"searchDepth":98,"depth":98,"links":534},[535,536,537,538,539],{"id":33,"depth":98,"text":34},{"id":241,"depth":98,"text":241},{"id":461,"depth":98,"text":462},{"id":496,"depth":98,"text":496},{"id":518,"depth":98,"text":518},null,"SlideShare のリンクは X のツイート内でスライドをページ送りできる。仕組みは twitter:card=player のメタタグと iframe だった。同じメタタグを自サイトに出して X に投稿したところ、埋め込みにはならず、小さなリンクカードで表示された。","md",{},true,"/x-player-card-slide-embed-test",false,"2026-09-23T00:00:00.000Z",{"title":5,"description":541},"2026-09/2026-09-23/x-player-card-slide-embed-test",[551,552,553,554,555],"X","Twitter","Twitter Card","OGP","Nuxt","bCv9kAz1oDuEl483epUkTKf6jQalCKCuDwaOJDzHPvo",[],[559,563,567,571,575],{"title":560,"path":561,"publishedAt":562},"eurekapu.comのOG画像が表示されない問題の修理とDependabot警告25件の棚卸し","/eurekapu-ogp-image-repair","2026-08-16T00:00:00.000Z",{"title":564,"path":565,"publishedAt":566},"移行サイトのSEO・AI-SEO改善を1日で回した — 画像altを480件、記事の要点を203本、OG画像を署名付きに","/wordpress-nuxt-ai-seo-phase-c","2026-07-27T00:00:00.000Z",{"title":568,"path":569,"publishedAt":570},"PlaywrightでVueコンポーネントをOGP画像に変換する","/playwright-ogp-screenshot","2026-01-10T00:00:00.000Z",{"title":572,"path":573,"publishedAt":574},"Cloudflare Workers Routes でOGPシェアURLのSEO問題を解決","/cloudflare-workers-routes-ogp-solution","2025-12-25T00:00:00.000Z",{"title":576,"path":577,"publishedAt":574},"OGPシェアURL改善計画 - SEO効果を最大化する設計","/ogp-share-url-seo-improvement","https://log.eurekapu.com/og/blog/x-player-card-slide-embed-test.png?v=2026-09-23T00%3A00%3A00.000Z&title=X%20%E3%81%AE%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88%E5%86%85%E3%81%A7%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E3%82%92%E3%82%81%E3%81%8F%E3%82%8B%20Player%20Card%20%E3%82%92%E8%87%AA%E3%82%B5%E3%82%A4%E3%83%88%E3%81%A7%E8%A9%A6%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E6%99%AE%E9%80%9A%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F&author=Kei%20Komatsu&sig=06e7a6292a764f0f",1790216069315]