2026年版 ToolShare Lab / Guide

OGP設定の完全ガイド
【コピペで使えるテンプレート付き】

SNSでURLをシェアしたとき、意図しないタイトルや画像が表示されてしまった経験はないだろうか。それはOGP(Open Graph Protocol)が未設定、または設定に不備があるのが原因だ。この記事では、Facebook・X(旧Twitter)・LINEに対応したOGPメタタグの設定方法を、コピペで使えるテンプレート付きで解説する。設定後の確認方法やよくあるトラブルの解決法まで網羅しているので、ぜひ最後まで読んでほしい。

読了時間: 約12分 更新日: 2026年3月16日

メタタグを今すぐ自動生成

テンプレートを読む前に試したい方はこちら。OGPタグを含むメタタグをフォーム入力だけで一括生成。登録不要・完全無料。

OGPとは?なぜ設定が必要なのか

OGP(Open Graph Protocol)は、Webページの内容をSNSやメッセージアプリに正しく伝えるための仕組みだ。HTMLの<head>内に専用のmetaタグを記述することで、Facebook・X(旧Twitter)・LINE・Slackなどでリンクをシェアした際に表示されるタイトル・説明文・画像を制御できる。

OGPを設定しないとどうなるか

OGPが未設定の場合、SNS側がページ内のテキストや画像を自動的に取得しようとする。しかし自動取得の精度は低く、意図しない画像がサムネイルに表示されたり、タイトルが途中で切れたり、説明文がまったく見当違いな内容になったりする。特にECサイトやブログでは、シェアされた時の見た目がクリック率に直結するため、機会損失は大きい。

OGPを設定するメリット

Point

OGPは「設定しなくても動くが、設定しないと損をする」タイプの施策だ。特にSNS経由の流入を増やしたい場合、OGPの最適化はSEOと同じくらい重要な基本施策になる。

OGP基本タグ一覧

OGPのmetaタグはproperty属性とcontent属性のペアで記述する。以下が基本となる7つのプロパティだ。

プロパティ 説明 記述例
og:title ページのタイトル。SNSに表示される見出し <meta property="og:title" content="記事タイトル">
og:description ページの説明文。80文字以内が推奨 <meta property="og:description" content="ページの概要">
og:type コンテンツの種類 <meta property="og:type" content="article">
og:url ページの正規URL(canonical URL) <meta property="og:url" content="https://example.com/page/">
og:image OG画像のURL。SNSのサムネイルに使用される <meta property="og:image" content="https://example.com/ogp.png">
og:site_name サイト名 <meta property="og:site_name" content="サイト名">
og:locale 言語・地域 <meta property="og:locale" content="ja_JP">

Point

og:typeにはトップページではwebsite、個別記事ページではarticleを設定するのが一般的だ。プロフィールページならprofileも使える。

プラットフォーム別テンプレート(コピペ可能)

ここからは、実際にHTMLの<head>内にコピペで貼れるテンプレートを紹介する。自分のサイト情報に書き換えてそのまま使ってほしい。

基本テンプレート(全プラットフォーム共通)

まずはすべてのSNSで使われる基本のOGPタグだ。この7行は必ず設定しておきたい。

<!-- OGP基本タグ --> <meta property="og:title" content="ページタイトル"> <meta property="og:description" content="ページの説明文(80文字以内推奨)"> <meta property="og:type" content="article"> <meta property="og:url" content="https://example.com/page/"> <meta property="og:image" content="https://example.com/images/ogp.png"> <meta property="og:site_name" content="サイト名"> <meta property="og:locale" content="ja_JP">

X(Twitter)カード用追加タグ

X(旧Twitter)では、OGPの基本タグに加えてTwitter Card専用のmetaタグを記述することで、より大きなカード表示が可能になる。twitter:cardの値をsummary_large_imageにすると、横長の大きな画像付きカードが表示される。

<!-- X(Twitter)カード用タグ --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@アカウント名"> <meta name="twitter:title" content="ページタイトル"> <meta name="twitter:description" content="説明文"> <meta name="twitter:image" content="https://example.com/images/ogp.png">
twitter:card の値 表示形式 画像サイズ
summary 小さい正方形の画像 + テキスト 240×240px以上
summary_large_image 横長の大きな画像 + テキスト 1200×628px推奨

LINE向け最適化

LINEはOGPのog:imageを直接使用してプレビューを生成する。Twitter Card専用のタグは参照しないため、og:imageが正しく設定されていれば特別な追加タグは不要だ。ただし、以下の点に注意が必要になる。

全部入りテンプレート(コピペ推奨)

Facebook・X・LINE・Slackのすべてに対応する完全版テンプレートだ。以下をHTMLの<head>内に貼り付け、各値を自分のサイト情報に書き換えればOGP設定は完了する。

<!-- OGP基本タグ --> <meta property="og:title" content="ページタイトル"> <meta property="og:description" content="ページの説明文(80文字以内推奨)"> <meta property="og:type" content="article"> <meta property="og:url" content="https://example.com/page/"> <meta property="og:image" content="https://example.com/images/ogp.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:site_name" content="サイト名"> <meta property="og:locale" content="ja_JP"> <!-- X(Twitter)カード用タグ --> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@アカウント名"> <meta name="twitter:title" content="ページタイトル"> <meta name="twitter:description" content="説明文"> <meta name="twitter:image" content="https://example.com/images/ogp.png">

ツール紹介

上記のタグを手動で書くのが面倒な場合は、メタタグジェネレーターを使えばフォーム入力だけで一括生成できる。OGPタグだけでなく、SEO用のmeta descriptionやcanonicalタグもまとめて出力されるので効率的だ。

OG画像の推奨サイズと作り方

OG画像はSNSシェア時の「顔」になる要素だ。画像のサイズや形式を間違えると、せっかく設定しても意図通りに表示されない。各プラットフォームの推奨仕様を押さえておこう。

プラットフォーム 推奨サイズ アスペクト比
Facebook 1200×630px 1.91:1
X(Twitter)summary_large_image 1200×628px 1.91:1
X(Twitter)summary 240×240px以上 1:1
LINE 1200×630px 1.91:1
Slack 1200×630px 1.91:1

OG画像を作る際のポイント

Point

全プラットフォーム共通で使うなら1200×630pxが最も安全なサイズだ。1枚のOG画像をすべてのSNSで使い回せるため、運用コストを最小化できる。

ツール紹介

OG画像がSNS上でどのように表示されるかを事前に確認したい場合は、OGイメージプレビューツールが便利だ。画像URLを入力するだけで、Facebook・X・LINEでの表示をシミュレーションできる。

OGP設定の確認方法

OGPを設定した後は、必ず各プラットフォームのデバッグツールで表示を確認しておこう。設定ミスがあっても、デバッグツールを使えばすぐに問題箇所がわかる。

  1. ToolShare Lab OGイメージプレビュー

    OGイメージプレビューにURLを入力するだけで、各SNSでの表示イメージを即座に確認できる。og:titleやog:descriptionの長さチェックも同時に行える。

  2. Facebook シェアデバッガー

    Facebookの公式ツール「Sharing Debugger」(https://developers.facebook.com/tools/debug/)にURLを入力すると、Facebookが取得したOGP情報を確認できる。キャッシュのクリアもここから行える。

  3. X Card Validator

    X(旧Twitter)の「Card Validator」(https://cards-dev.twitter.com/validator)でTwitter Cardの表示を確認できる。summary_large_imageが正しく表示されるかをチェックしよう。

  4. 実際にSNSでシェアしてテスト

    最終確認として、実際にFacebook・X・LINEでURLをシェアしてみるのが確実だ。公開前のテストには非公開投稿や自分だけに送信する方法を使うとよい。

よくあるトラブルと解決方法

OGPの設定でよくあるトラブルとその解決方法をまとめた。ほとんどの問題は以下のどれかに該当する。

画像が表示されない

最も多いトラブルだ。原因のほとんどはog:imageのURLが相対パスになっていること。OGPの画像URLはhttps://から始まる絶対パスで指定する必要がある。また、画像ファイル自体が存在するかどうかもブラウザで直接URLを開いて確認しておこう。

NG: <meta property="og:image" content="/images/ogp.png"> OK: <meta property="og:image" content="https://example.com/images/ogp.png">

古い情報が表示される

OGPを更新したのに、SNSのプレビューが変わらないケースだ。これはSNS側のキャッシュが原因。Facebookは「Sharing Debugger」でURLを再スクレイピングすればキャッシュがクリアされる。Xも「Card Validator」で同様の操作が可能だ。LINEはキャッシュのクリア方法が提供されていないため、24時間程度で自動更新されるのを待つ必要がある。

意図しないページ情報が表示される

og:urlが間違っている、またはcanonicalタグとog:urlが異なるURLを指している場合に起きる。og:urlにはそのページの正規URLを設定し、<link rel="canonical">と同じURLに揃えておくのが基本だ。

日本語が文字化けする

HTMLファイルの文字エンコーディングが正しく設定されていない場合に起きる。<meta charset="utf-8">がOGPタグより前に記述されているか確認しよう。

<!-- charsetはOGPタグより前に記述する --> <meta charset="utf-8"> <meta property="og:title" content="日本語タイトル">

画像は表示されるがクロップ位置がおかしい

画像のアスペクト比が推奨値(1.91:1)と異なると、SNS側が自動的にクロップ(切り取り)して表示する。重要な情報が端に配置されていると切れてしまうため、テキストやロゴは画像の中央80%の領域に配置しよう。

注意

OGPの設定を変更した後は、必ず各SNSのデバッグツールでキャッシュをクリアすること。古いキャッシュが残っていると、正しく設定しても反映されないケースがある。特にFacebookのキャッシュは数日間残ることがあるので注意が必要だ。

WordPressでのOGP設定方法

WordPressの場合、OGPの設定にはプラグインを使う方法と、テーマファイルに直接記述する方法がある。

プラグインを使う場合(推奨)

最も手軽なのはSEOプラグインを使う方法だ。以下のプラグインはいずれもOGPタグの自動生成機能を備えている。

プラグイン OGP対応 特徴
Yoast SEO 標準搭載 投稿編集画面でOGP画像やタイトルを個別設定可能
All in One SEO 標準搭載 ソーシャルタブでFacebook・Xそれぞれを個別設定可能
Rank Math 標準搭載 SNSプレビュー機能付き。設定UIが直感的
FLAVOR(旧SEO SIMPLE PACK) 標準搭載 日本製プラグイン。SWELLテーマとの相性が良い

プラグインなしで設定する場合

プラグインを増やしたくない場合は、テーマのheader.phpに直接OGPタグを記述できる。以下はfunctions.phpにフックを追加する方法の例だ。

// functions.php に追加 function my_ogp_tags() { if (is_singular()) { global $post; $title = get_the_title(); $desc = mb_substr(get_the_excerpt(), 0, 80); $url = get_permalink(); $image = get_the_post_thumbnail_url($post->ID, 'full') ?: 'https://example.com/images/default-ogp.png'; echo '<meta property="og:title" content="' . esc_attr($title) . '">' . "\n"; echo '<meta property="og:description" content="' . esc_attr($desc) . '">' . "\n"; echo '<meta property="og:type" content="article">' . "\n"; echo '<meta property="og:url" content="' . esc_url($url) . '">' . "\n"; echo '<meta property="og:image" content="' . esc_url($image) . '">' . "\n"; echo '<meta property="og:site_name" content="' . get_bloginfo('name') . '">' . "\n"; echo '<meta property="og:locale" content="ja_JP">' . "\n"; } } add_action('wp_head', 'my_ogp_tags');

注意

SEOプラグインとテーマの両方がOGPタグを出力していると、タグが重複してSNS側が正しく解釈できなくなる。どちらか一方に統一すること。テーマにOGP機能が内蔵されている場合(Cocoon、SWELLなど)は、プラグイン側のOGP出力をオフにするか、テーマ側の機能を無効化するかを選択する。

静的サイト・Next.jsでのOGP設定

静的HTML

静的HTMLサイトの場合は、各ページの<head>内にmetaタグを直接記述する。ページごとにタイトルや画像を変えたい場合は、各ページのHTMLファイルを個別に編集する必要がある。テンプレートエンジン(EJS、Pug等)を使っている場合は、変数でページごとの値を差し込む形にすると管理が楽になる。

Next.js(App Router)

Next.js 14以降のApp Routerでは、metadata APIまたはgenerateMetadata関数を使ってOGPを設定する。

// app/page.tsx(静的メタデータ) export const metadata = { title: 'ページタイトル', description: 'ページの説明文', openGraph: { title: 'ページタイトル', description: 'ページの説明文', url: 'https://example.com/page/', siteName: 'サイト名', images: [ { url: 'https://example.com/images/ogp.png', width: 1200, height: 630, }, ], locale: 'ja_JP', type: 'article', }, twitter: { card: 'summary_large_image', title: 'ページタイトル', description: '説明文', images: ['https://example.com/images/ogp.png'], }, };

Nuxt.js

Nuxt 3ではuseHeadコンポーザブルまたはuseSeoMetaコンポーザブルを使用する。

// pages/index.vue useSeoMeta({ title: 'ページタイトル', ogTitle: 'ページタイトル', description: 'ページの説明文', ogDescription: 'ページの説明文', ogImage: 'https://example.com/images/ogp.png', ogUrl: 'https://example.com/', twitterCard: 'summary_large_image', });

OGPメタタグを一括生成する

フォームに入力するだけでOGPタグを含む全メタタグを自動生成。Facebook・X・LINE対応。登録不要・完全無料・データはブラウザ内のみで処理される。

よくある質問

OGPを設定しないとどうなりますか?
OGPが未設定の場合、SNSがページ内の情報を自動的に取得しようとするが、意図しないタイトルや画像が表示されるケースが多い。特にFacebookやLINEではページ内の最初の画像が使われることがあり、ロゴやアイコンなど見当違いの画像がサムネイルになってしまう。CTR(クリック率)の低下に直結するため、設定を強く推奨する。
og:imageは必須ですか?
OGPの仕様上、og:imageは必須プロパティではない。しかし設定しないとSNSのプレビューに画像が表示されず、テキストだけの味気ない表示になる。画像付きのシェアはCTRが2〜3倍になるというデータもあり、実質的には必須と考えてよい。
OGPはSEOに影響しますか?
OGPはGoogleの検索順位に直接影響するランキング要因ではない。しかし、OGPが正しく設定されているとSNSでのシェア時にCTRが向上し、結果として被リンクやトラフィック増加につながる。間接的にSEOに貢献する施策と位置づけるのが正確だ。
og:typeはwebsiteとarticleどちらを使いますか?
トップページにはwebsite、ブログ記事やニュースなどの個別コンテンツページにはarticleを設定するのが一般的だ。商品ページにはproduct、プロフィールページにはprofileも使えるが、多くの場合はwebsiteとarticleの使い分けで十分だ。
OGPの更新がSNSに反映されません。どうすればいいですか?
SNS側のキャッシュが原因だ。Facebookは「Sharing Debugger」でURLを再スクレイピングすればキャッシュがクリアされる。Xは「Card Validator」で同様の操作が可能だ。LINEはキャッシュクリアの手段が提供されていないため、24時間程度待つ必要がある。どのプラットフォームでも、OGPを更新したらデバッグツールでキャッシュをクリアする習慣をつけておこう。