シェアされた時の見え方を確認。SNSで目を引くOGP設定の基本とコツ
開発

シェアされた時の見え方を確認。SNSで目を引くOGP設定の基本とコツ

X(旧Twitter)やFacebookなどでURLがシェアされた際の表示品質(OGP)は、CTRを大きく左右します。本記事ではOGPの基礎から、魅力的な画像サイズ、設定ミスを防ぐプレビュー確認方法まで徹底解説。

シェアされても「画像なし」では損している

苦労して作成した記事やサービスを、X(旧Twitter)やSlackでシェアしてもらったのに、テキストURLだけが表示されてクリックされない——そんな経験はありませんか?

URLが展開して画像・タイトル・説明が表示される「リッチカード」の仕組みが OGP (Open Graph Protocol) です。Facebookが2010年頃に提案したこのプロトコルは、現在ではX・LINE・Slack・Discord・Twitterなど、ほぼすべてのSNS・チャットツールで採用されています。

OGP画像シミュレーターURLや画像からSNS(X, Facebook, LINE)シェア時の表示をプレビュー

1. なぜOGPの最適化が重要なのか?

クリック率(CTR)への影響は数倍です。MozのA/Bテストデータによると、適切なOGP画像とキャッチーなタイトルをセットで設定したURLは、テキストのみのURLと比べてクリック率が2〜3倍以上増加することが報告されています。

コンテンツマーケティングの投資回収を最大化するには、「書く」だけでなく「シェアされたときに魅力的に見える」設計が不可欠です。


2. 必須のOGPタグ一覧

HTMLの <head> セクションに以下のmetaタグを追加することでOGPが機能します。

OGPタグ役割推奨値・制限
og:title表示タイトル60文字以内推奨
og:description説明文100〜160文字推奨
og:imageサムネイル画像URL1200×630px推奨(最小600×315px)
og:urlページの正規URL絶対URL指定が必須
og:typeコンテンツタイプwebsite または article
og:site_nameサイト名サービス名を記載

HTMLでの記述例:

<head>  <meta property="og:title" content="ページのタイトル | サイト名" />  <meta property="og:description" content="このページは〇〇について説明しています。" />  <meta property="og:image" content="https://example.com/og-image.png" />  <meta property="og:url" content="https://example.com/page" />  <meta property="og:type" content="article" /></head>

3. Twitter/Xカードとの違い

OGPとは別に、Twitter(現X)では独自の twitter:card メタタグも確認します。これが設定されていないと、Xで正しくカード表示されない場合があります。

<meta name="twitter:card" content="summary_large_image" /><meta name="twitter:site" content="@your_twitter_handle" />
twitter:card の値表示スタイル
summary小さいサムネイル(左)+テキスト(右)
summary_large_image大きな画像(上)+テキスト(下)← 推奨
appアプリのダウンロードカード

4. よくある問題と原因別の解決策

問題1: 画像が表示されない

原因と対処:

  • 画像URLが相対パス: og:imagehttps:// から始まる絶対URLが必須です
  • 画像が小さすぎる: 最低600×315px以上。Xでは600×314px未満だと表示されない場合あり
  • サイズが大きすぎる: Facebookでは5MBの上限がある(通常1MB以下にすることを推奨)
  • HTTPS非対応: http:// の画像は多くのSNSでブロックされます
  • キャッシュ問題: 過去に誤ったOGPが読み込まれた場合、SNS側のキャッシュをクリアする必要があります

問題2: タイトルが切れる

X(Twitter)では og:title が70文字を超えると省略されます。Facebookは約60文字。説明文(og:description)もXでは200文字、Facebookでは160文字を目安にしましょう。

問題3: ページを更新したのに古い情報が表示される

各SNSはOGP情報をキャッシュします。強制更新するには:

  • X (Twitter): Card Validator でURLを入力してプレビューを実行
  • Facebook: Sharing Debugger でURLを入力してキャッシュをクリア
  • LINE: LINEのシェアキャッシュはユーザーが解消するのは困難なため、新しいURLを使うのが現実的

5. Next.jsでのOGP設定(メタデータAPI)

Next.js 13以降では、App Routerの metadata オブジェクトでOGPを簡単に設定できます。

// app/blog/[slug]/page.tsxexport async function generateMetadata({ params }) {  return {    title: "記事タイトル",    description: "記事の説明",    openGraph: {      title: "記事タイトル",      description: "記事の説明",      images: [{ url: "https://example.com/og.png", width: 1200, height: 630 }],      type: "article",    },    twitter: {      card: "summary_large_image",    },  };}

6. OGP画像デザインのポイント

サイズと比率

  • 推奨サイズ: 1200×630px(比率1.91:1)
  • 最小サイズ: 600×315px
  • テキスト安全領域: 画像の端から4%以内は各SNSのUIに隠れる可能性があるため、重要なテキストは中央寄りに配置

デザインのベストプラクティス

  • テキスト少なめ・画像多め: SNSのタイムラインでは3秒以内に判断される。パッと見て内容が分かる画像を
  • ブランドカラーを使用: 一貫したブランドカラーで、自社コンテンツと認識されやすくする
  • 文字は大きく・コントラスト強く: 小さいサムネイルでも読めるフォントサイズ(30px以上相当)を使用

よくある質問(FAQ)

Q1. OGPはSEOに影響しますか?

直接のランキング要因ではありませんが、間接的に大きく影響します。適切なOGPによってSNSでのクリック率が上がり→トラフィックが増加し→被リンクやエンゲージメントシグナルが積み上がり、結果的にSEOに寄与します。

Q2. 動的OGP画像(コンテンツをもとに自動生成)はできますか?

はい。Next.js 13以降では ImageResponse API(next/og)を使い、JSXからOGP画像を動的生成できます。ブログ記事のタイトルや著者名を画像に組み込む実装が容易になっています。

Q3. OGPプレビューツールとSNS公式デバッガー、どちらが正確ですか?

SNS公式デバッガーが最も正確です(実際の読み込み処理を再現するため)。ただし、一般的な確認にはJeneeのOGPプレビューツールで概ね確認でき、Facebookデバッガー・X Card Validatorで正式確認するフローが効率的です。

Q4. OGP画像の生成を外部サービスに任せるメリットはありますか?

Cloudinaryなどの画像CDNでは、URLパラメーターを変えるだけでOGP画像をオンデマンド生成できます(例: テキストオーバーレイ、フォント指定)。開発コストを下げながら動的OGPが実現できる方法として人気があります。


まとめ

OGPの設定は、コンテンツへの投資効果を最大化するための、最もコストパフォーマンスが高い施策の一つです。設定したら必ずJeneeのOGPプレビューツールで検証し、主要SNSでの表示を確認しましょう。

OGP画像シミュレーターURLや画像からSNS(X, Facebook, LINE)シェア時の表示をプレビュー

関連記事