Domain 162 / 225

OGP / og:image はソーシャル拡散時の表示を決める SNS SEO の要

OGP の要点

OGP(Open Graph Protocol)は SNS でリンクをシェアした時の表示を制御する標準。og:image(1200x630px 推奨)/ og:title / og:description で表示が決まる。X / Facebook / LINE / Slack ですべて使われる SNS SEO の中核

なぜこれを学ぶか

OGP の品質は SNS 拡散時の CTR を 2-3 倍変える。 記事品質が同じでも、OG 画像の見栄え次第で広がるかどうかが決まる。

SNS 流入を狙うすべての担当者で必須。

学ばないと起きること

よくある事故被害
OGP 未実装URL のみ表示、CTR 低
og:image サイズ不適切クロップで読めない
動的生成なし全記事が同じ画像

学ぶメリット

  • SNS 拡散の最大化
  • ブランド一貫性
  • 商談で「OGP 4 要素」を即答

仕組み

必須プロパティ

<meta property="og:type" content="article">
<meta property="og:url" content="https://example.com/article">
<meta property="og:title" content="記事タイトル">
<meta property="og:description" content="記事の概要">
<meta property="og:image" content="https://example.com/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:site_name" content="spotyou">
<meta property="og:locale" content="ja_JP">

og:image の仕様

項目推奨
サイズ1200 × 630 px
アスペクト比1.91:1
ファイルサイズ8MB 以下
形式JPG / PNG / WebP
URL絶対 URL + HTTPS

Twitter Card

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@spotyou">
<meta name="twitter:creator" content="@author">

summary_large_image で大画像表示、summary で小画像。

キー概念

動的 OG 画像生成

各記事ごとに自動で OG 画像を生成:

方法特徴
Vercel OGNext.js 統合
Cloudinary画像変換サービス
Open Graph Image as a Serviceサードパーティ
自作 Lambdaカスタム実装

Vercel OG の例

import { ImageResponse } from 'next/og';

export default function OGImage({ title }) {
  return new ImageResponse(
    (
      <div style={{ display: 'flex', width: 1200, height: 630, ... }}>
        <h1>{title}</h1>
        <p>spotyou Study</p>
      </div>
    ),
    { width: 1200, height: 630 }
  );
}

LINE / Slack での扱い

LINE / Slack も OGP を読み取って表示:

  • LINE: og:image 必須、サムネイル表示
  • Slack: 自動展開、og:image / og:description 使用

検証ツール

ツール対象
Facebook Sharing DebuggerFacebook
Twitter Card ValidatorX
LinkedIn Post InspectorLinkedIn
LINE シェア デバッガLINE

よくある誤解

よくある誤解実際のところ出典
og:image は任意SNS 表示で実質必須OGP 仕様
1 画像で全記事流用動的生成で記事別が理想一般情報
Twitter Card なしOGP で代用されるが summary_large_image 必要一般情報

実務での適用

全記事への OGP 自動適用

  1. CMS / フレームワークでテンプレート化
  2. og:image は動的生成
  3. og:title / og:description は記事メタから自動取得
  4. 検証ツールで全種類確認

Vercel OG 統合パターン

// app/api/og/route.tsx
export const GET = (req) => {
  const title = req.searchParams.get('title');
  return new ImageResponse(<OGTemplate title={title} />);
};

// 各記事の <Head>
<meta property="og:image" content={`/api/og?title=${title}`} />

トラブル別の対処

症状確認すべきこと
OG 画像が表示されないサイズ / 絶対 URL / HTTPS / キャッシュ
キャッシュで古い画像Facebook Sharing Debugger でキャッシュクリア

公式ソース

自己テスト

Q1. og:image の推奨サイズは?

1200 × 630 px、アスペクト比 1.91:1

Q2. Twitter Card で大画像表示する設定は?

<meta name="twitter:card" content="summary_large_image">

Q3. 動的 OG 画像生成の主要手段は?

Vercel OG / Cloudinary / 自作 Lambda 等

これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。