見出し画像

最適なOGP画像を作るためにFigmaでコンポーネントを作った

皆さんは自身のメディアやポートフォリオ、サービスはお持ちでしょうか?
お持ちの方の中には、OGP画像について以下のような悩みを持った方は少なくないはずです。

🫠「埋め込み先のメディアによってプレビューに表示されるOGP画像のアスペクト比がバラバラなのに、1枚しか用意できないのマジ困る…」

私もまさに、その中の一人でした。
弊社サービスのMusubiteのOGP画像を用意するにあたり、マストで表示させたい情報があったのですが、メディアによって情報が切れてしまうという事象がありました。

そこで、埋め込み先として想定されるメディアのOGP画像のアスペクト比を調査し、figmaを用いてOGP画像を作成する際に利用するコンポーネントを作成しました。




今回対象としたメディア/SNSは

  • note

  • zenn

  • qiita

  • twitter

です。その他のメディアやSNSは、いくつかチェックをしたのですが、上記のサイトのデータである程度カバーできそうだったので、現時点では対象外としています。




調査

twitter

twitterでOGP情報を表示させるには、以下のようなメタタグをHTMLに追加する必要があります。

<meta name="twitter:card" content="summary"></meta>

カードの種類は4種類ありますが、今回はsummary_large_imageを利用することが決定していたので、OGP画像は

アスペクト比:1.91 : 1

で表示されます。

※ 公式の情報だと2:1と記載されているんですけど、実際に描画される画像を確認すると1.91:1なんですよね。。理由ご存知の方がいましたら教えてください!🙇‍♂️

Images for this Card support an aspect ratio of 2:1 with minimum dimensions of 300x157 or maximum of 4096x4096 pixels.

https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/summary-card-with-large-image


note・Qiita・Zenn

それぞれのメディアのOGP画像のアスペクト比を以下のようにまとめました。

■ note

  • デスクトップサイズ 22:15

  • モバイルサイズ 20:23 もしくは 1:1

■ Qiita

  • デスクトップサイズ 2:1

  • モバイルサイズ 1:1

■ Qiita

  • デスクトップサイズ 23:12

  • モバイルサイズ 1:1


…見事にバラバラ😇
この全てに対応させるのであれば、20:23(noteのモバイル)の領域にコンテンツが収まるように作成する必要があります。

では、ここからfigmaでコンポーネントを作成します。


FigmaでOGPコンポーネントの作成

まずは完成したものはこちらです

今回はnote用のOGP画像のテンプレートを用意しました。ベースはTwitterのOGP画像のサイズ(1200x630)で作成しています。

レイヤーを順番に紹介すると
(最下層のレイヤー)
 ↓
  OGPのベースのデザイン
 ↓
  スロット(=各OGPのコンポーネント)
 ↓
  それぞれのメディアの表示サイズ確認用ビュー(=上の例でいう赤い矩形の領域)
 ↓
(最上層のレイヤー)

となります。表示サイズ確認用ビューはvariantで表示/非表示を切り替えられるようになっています。

figmaのvariantのパネル


slotを作成するメリット

slotとは、任意のコンポーネントに置き換えることを目的としたコンポーネントを指します。
以下に、slotのtemplateがあるので、興味のある方はご覧ください👋


メリット1:表示サイズ確認用ビューを常に最上部に置くことができる

実際のOGP画像に表示サイズ確認用ビューを上から重ねることで、各メディアでどの部分が表示されるかを確認することができます。この際、必ず表示サイズ確認用ビューが最上部に来るように、slotを利用することで、レイヤーの順番を固定させます。



メリット2:記事ごとのコンテンツもコンポーネント化することで変更が柔軟にできる

実際の動きを見てもらえたらと思うのですが、コンテンツをコンポーネント化する最大のメリットは、プレビュー(右側)を見ながら、コンテンツ(左)を調整できるということです。

表示サイズ確認用ビューが最上部にあるので、右だけで直接編集しようとするとなかなか厄介だと思うのですが、これによってストレスフリーに作業ができます。

また、作成をしながら確認をすることで、時間ロスが減って作業効率がググググググッと上がります。


最後に

もう少し汎用的に作れたらFigma Communityに公開してみようかな
もっとこうしたらいいのに!という要望があればいつでもご連絡ください😊

以上です👋


この記事が気に入ったらサポートをしてみませんか?