◉CLAUDE LABEN
●2.1.312 — 巨大な CLAUDE.md の上書きや、cd のあとにスキルが見つからない問題を修正しました●2.1.307 — スリープやキーチェーンロックのあとに MCP が再接続されない問題を修正しました(10/21)。2.1.306 では claude -p の誤表示も解消●SONNET 4.5 — Claude API での提供終了は 11/30、残り32日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●API — 新しい API バージョン 2026-10-21 では temperature・top_p・top_k を渡すと 400 になります●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました●2.1.312 — 巨大な CLAUDE.md の上書きや、cd のあとにスキルが見つからない問題を修正しました●2.1.307 — スリープやキーチェーンロックのあとに MCP が再接続されない問題を修正しました(10/21)。2.1.306 では claude -p の誤表示も解消●SONNET 4.5 — Claude API での提供終了は 11/30、残り32日。移行先は Sonnet 5.5●WINDOWS — 日本語の環境でだけフックが黙って壊れる報告があり、文字コードの確認が呼びかけられています●API — 新しい API バージョン 2026-10-21 では temperature・top_p・top_k を渡すと 400 になります●NEW — Cowork に渡したフォルダの先頭に、十行の約束ファイルを置いてみました
記事一覧/Cowork
◈ Cowork/2026-10-29上級

共有カードの下端が切れていた OGP 画像を、宣言ではなくピクセルで検査して止めるまで

直したはずの OGP 画像が 1200×1200 に戻り、SNS の横長カードで下のサイト名とキャッチが切れていました。メタタグの宣言と実ファイルの寸法を突き合わせる検査、切り取りで失う帯の走査、クローラーを模した疎通確認を、ビルド前に並べた記録です。

OGP3og:imagesummary_large_imagePillowprebuildClaude Code280Python28

✦ プレミアム記事

個人開発で運営している自分のサイトの記事を SNS に共有したとき、私はカードの下端が切れていることに気づきました。サイト名とキャッチコピーを置いたはずの帯が、ごっそり無いのです。

画像そのものは正常でした。ブラウザで開けば、下まで全部あります。メタタグも 1200×630 と書いてあります。それなのにカードは切れていました。この食い違いの正体は、メタタグの数字が「宣言」でしかなく、実ファイルの寸法とは別物だった、ということです。

結論を先にお伝えします。og:image の寸法は、HTML に書いてある数字ではなく、画像ファイルを開いて読んだ数字で確かめます。 そして、確かめる場所はビルドの前です。共有してからでは遅いからです。

何が起きていたのか

このサイトの OGP 画像は、一度 1200×630 の横長に直していました。Twitter/X、Facebook、Slack、note.com の埋め込みが横長を前提にしているためです。twitter:card も summary_large_image にして、いったん片づいたつもりでいました。

ところが、実寸が 1200×1200 に戻っていました。戻った経緯を示す記録は、手元に残っていません。分かっているのは結果だけです。横長のカードで中央が切り取られ、下部のサイト名とキャッチが見えなくなっていました。10 月 23 日までに、日英別の 1200×630 に作り直しています。

こうなった原因を、私はいまとなっては特定できません。ただ、正方形の画像が必要な場面は別にあります。Stripe の商品画像や、LINE のサムネイルです。正方形を求める場所があるかぎり、同じ素材を正方形で書き出す機会は、これからもあるはずです。その一枚が og の置き場所に紛れ込めば、同じことがまた起きます。

だとすれば、直し方より先に、戻ったときに気づける仕組みが要ります。

切り取りで、どれだけ失われるのか

横長のカードは、おおよそ幅 1.91 : 高さ 1 の比率で表示されます。1200×1200 の画像を、この比率で中央から切り取るとどうなるか。数字にしておきます。

元の画像残る高さ失う行数失う場所
1200×1200628 行572 行上と下の 286 行ずつ
1200×630628 行2 行上と下の 1 行ずつ

正方形のまま渡すと、高さのほぼ半分(47.7%)が消えます。下から 286 行といえば、サイト名を置く帯のちょうど真ん中です。プラットフォームごとの切り取り方は、細部が違うかもしれません。それでも「下端が安全ではない」という点は、どこでも変わらないと考えています。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦og:image の宣言(幅と高さ)ではなく実ファイルのピクセルを読む検査を、自分のサイトのビルド前に入れられるようになる
✦横長カードに切り取られたとき、どの行が失われ、そこに文字が載っていないかを、画像を目で見る前にスクリプトで判定できるようになる
✦同じ画像が後から元の寸法へ戻る事故を、共有して初めて気づく前に、ビルドの段階で止める仕掛けを組めるようになる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

◈ Cowork2026-10-29
サブフォルダの CLAUDE.md の後半だけが効かないとき、数えるのは容量ではなく文字数でした
Claude Code 2.1.309 から、サブフォルダの CLAUDE.md と path 指定のルールには文字数の上限がかかり、超えた分は先頭しか渡されません。手元のファイルで測った数え方の落とし穴と、走査スクリプト、コミット前の守り、rules への分け方をまとめた記録です。
◈ Cowork2026-10-26
無人実行のプロンプト 36 ファイルを点検したら、「使う指示」と疑った 7 件はどれも禁止文でした
夜間に無人で走るタスクは、許可ダイアログが一度出るだけで誰にも押されず止まります。プロンプトに「使う指示」が紛れていないかを数える点検スクリプトと、禁止語 grep が 7 件も空振りした理由、判定を語幹に直した経緯をまとめました。
◈ Cowork2026-10-25
ビルドが「リソース重複」で止まった朝、競合コピー80個の出どころは同期フォルダの生成物でした
Dropbox 配下の Android プロジェクトで、ビルドが「リソース重複」で止まりました。原因の競合コピーを数える走査スクリプト、ビルド前に生成物だけを掃除する守り、同期から外す属性の付け方をまとめた記録です。