OGPタグ一覧|Facebook・Twitter・LINEで正しく表示させる設定と画像サイズの最適解

記事内に広告が含まれています。

WebサイトをSNSで魅力的にシェアするために欠かせないのが「OGPタグ」の適切な設定です。しかし、OGPタグには多くの種類があり、どのタグをどのように設定すればよいのか戸惑う方も多いのではないでしょうか。特に、「必須のOGPタグ一覧」や「og:typeの使い分け」「SNSごとの表示仕様」など、知っておきたい基礎から応用まで押さえておく必要があります。

この記事では、初心者の方でもわかりやすいように以下の内容を丁寧に解説します。正しいOGPタグの書き方やHTMLのheadタグへの記述方法のほか、FacebookやTwitter、LINEなどの主要SNSに最適化された設定例も紹介します。さらに、SEOへの影響や設定後のトラブルを避けるためのチェックリスト、WordPressを使った手軽なOGP設定方法も網羅しています。

この記事を読んでわかること

  • 必須のOGPタグ(og:title、og:description、og:image、og:type、og:url)とそれぞれの役割
  • htmlのhead内にOGPタグを正しく記述する書き方と位置
  • SNS横断で使えるOGPタグの基本テンプレート
  • og:typeの種類別使い分けと具体例(article、website、videoなど)
  • og:imageの最適推奨サイズや表示トラブルの原因と対策
  • Facebook DebuggerやTwitter Card Validatorによる動作確認の方法
  • OGPタグがSEOに与える影響と効果的な運用ポイント
  • WordPressなどCMSでの簡単OGP設定手順とおすすめプラグイン
  • OGP設定の抜け漏れを防ぐ公開前チェックリスト

これらを理解すれば、SNSでのシェア時に魅力的な表示を実現し、Webサイトのクリック率や認知度アップに繋げられます。ぜひ最後までご覧ください。

必須のOGPタグ一覧と基本の書き方

必須のOGPタグ一覧とそれぞれの役割

OGP(Open Graph Protocol)を正しく機能させるために設定すべき基本タグは以下の5つです。これらを適切に設定することで、Facebook、Twitter、LINEなどの主要SNSでページ情報が正確に表示されます。

プロパティ名役割設定内容
og:titleページタイトルSNSでシェアされた際に表示されるタイトル。通常は<title>タグと同じ内容を設定
og:descriptionページ説明文シェア時に表示される説明テキスト。120文字程度が推奨。必須ではないが、SNS表示上必ず設定すべき
og:imageサムネイル画像URLシェア時に表示される画像の絶対URL。推奨サイズは1200×630px
og:typeページタイプwebsite(トップページ)またはarticle(記事ページ)を指定
og:url正規URLページの正規URL(パーマリンク)。相対パスではなく絶対URLで記述必須
og:locale言語・地域設定日本語の場合はja_JPを指定。多言語サイトでは必須

重要なポイント

  • og:urlは必ず正規URL(パーマリンク)を設定してください。パラメータ付きURLや相対パスではSNS側でページが正しく認識されません。
  • og:descriptionは仕様上任意ですが、実務上は必須です。設定しない場合、SNSが本文から自動抽出した不適切なテキストが表示される可能性があります。

OGPタグの正しい書き方とHTMLのhead内での記述位置

OGPタグは<meta>タグのproperty属性を使用して記述します。name属性ではなくproperty属性を使うことが正式な仕様です。

基本の記述形式

<meta property="og:title" content="ページタイトル" />
<meta property="og:description" content="ページの説明文" />
<meta property="og:image" content="https://example.com/image.jpg" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://example.com/" />

記述位置の推奨

OGPタグは<head>セクション内のできるだけ上部に配置することが推奨されます。具体的には、以下の順序が理想的です。

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <!-- OGPタグはこの位置に記述 -->
  <meta property="og:title" content="..." />
  <meta property="og:description" content="..." />
  <!-- 以下OGPタグ -->

  <title>ページタイトル</title>
  <meta name="description" content="..." />
  <!-- その他のmetaタグやCSS読み込み -->
</head>

技術的理由: SNSのクローラーは<head>内を上から順に解析します。OGPタグが後方にあると、解析がタイムアウトして正しく取得されない可能性があります。特にJavaScriptやCSSの読み込みより前に配置することで、確実な情報取得が保証されます。

SNS横断で使える!OGPタグ設定の基本テンプレート

以下は、Facebook、Twitter、LINEなど主要SNSすべてで正しく表示されるOGP設定の汎用テンプレートです。このコードをコピーして、content属性の値を自サイトの情報に書き換えてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <!-- 基本OGPタグ -->
  <meta property="og:title" content="あなたのページタイトル" />
  <meta property="og:description" content="ページの説明文を120文字程度で記述してください" />
  <meta property="og:image" content="https://example.com/ogp-image.jpg" />
  <meta property="og:type" content="website" />
  <meta property="og:url" content="https://example.com/" />
  <meta property="og:site_name" content="サイト名" />
  <meta property="og:locale" content="ja_JP" />
  <meta property="og:image:alt" content="記事のメインビジュアル画像の説明" />
  
  <!-- Twitter Card設定 -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:site" content="@your_twitter_account" />
  <meta name="twitter:title" content="あなたのページタイトル" />
  <meta name="twitter:description" content="ページの説明文を120文字程度で記述してください" />
  <meta name="twitter:image" content="https://example.com/ogp-image.jpg" />
  <meta name="twitter:image:alt" content="記事のメインビジュアル画像の説明" />

  <title>あなたのページタイトル</title>
  <meta name="description" content="ページの説明文を120文字程度で記述してください" />
</head>
<body>
  <!-- コンテンツ -->
</body>
</html>

テンプレート使用時の注意点

  • 画像URL(og:image)は必ず絶対URLで記述してください(https://から始まるフルパス)
  • og:urlはパラメータを含まない正規URLを設定してください
  • Twitter Cardはsummary_large_imageを指定することで、大きな画像付きカードとして表示されます
  • twitter:siteにはTwitterアカウント(@付き)を設定します。アカウントがない場合は省略可能です

全OGPタグの種類と役割、正しい使い方

全OGPプロパティ一覧と記述例

基本タグ以外にも、Open Graph Protocolは多様なプロパティを定義しています。以下は実務で使用頻度の高い主要なOGPタグの完全一覧です。

プロパティ名用途記述例
og:site_nameサイト全体の名称<meta property="og:site_name" content="サイト名" />
og:locale言語・地域設定<meta property="og:locale" content="ja_JP" />
og:locale:alternate代替言語設定<meta property="og:locale:alternate" content="en_US" />
fb:app_idFacebook App ID<meta property="fb:app_id" content="1234567890" />
og:video動画コンテンツのURL<meta property="og:video" content="https://example.com/video.mp4" />
og:video:secure_urlHTTPS動画URL<meta property="og:video:secure_url" content="https://example.com/video.mp4" />
og:video:type動画のMIMEタイプ<meta property="og:video:type" content="video/mp4" />
og:video:width動画の幅(ピクセル)<meta property="og:video:width" content="1280" />
og:video:height動画の高さ(ピクセル)<meta property="og:video:height" content="720" />
og:audio音声コンテンツのURL<meta property="og:audio" content="https://example.com/audio.mp3" />
og:audio:secure_urlHTTPS音声URL<meta property="og:audio:secure_url" content="https://example.com/audio.mp3" />
og:audio:type音声のMIMEタイプ<meta property="og:audio:type" content="audio/mpeg" />
og:image:secure_urlHTTPS画像URL<meta property="og:image:secure_url" content="https://example.com/image.jpg" />
og:image:type画像のMIMEタイプ<meta property="og:image:type" content="image/jpeg" />
og:image:width画像の幅(ピクセル)<meta property="og:image:width" content="1200" />
og:image:height画像の高さ(ピクセル)<meta property="og:image:height" content="630" />
og:image:alt画像の代替テキスト<meta property="og:image:alt" content="画像の説明" />

実装例:動画コンテンツを含むページ

<meta property="og:type" content="video.movie" />
<meta property="og:title" content="動画タイトル" />
<meta property="og:description" content="動画の説明文" />
<meta property="og:url" content="https://example.com/video-page" />
<meta property="og:image" content="https://example.com/video-thumbnail.jpg" />
<meta property="og:video" content="https://example.com/video.mp4" />
<meta property="og:video:secure_url" content="https://example.com/video.mp4" />
<meta property="og:video:type" content="video/mp4" />
<meta property="og:video:width" content="1280" />
<meta property="og:video:height" content="720" />

実装例:画像の詳細情報を含む設定

<meta property="og:image" content="https://example.com/ogp-image.jpg" />
<meta property="og:image:secure_url" content="https://example.com/ogp-image.jpg" />
<meta property="og:image:type" content="image/jpeg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="記事のメインビジュアル画像" />

og:type="article"使用時に必須の追加タグ

og:typearticleに設定した場合、記事の詳細情報を提供する追加タグの設定が推奨されます。これらのタグはFacebookなどのSNSが記事コンテンツを正しく理解し、適切に表示するために使用されます。

プロパティ名役割記述形式
article:published_time記事公開日時ISO 8601形式(YYYY-MM-DDTHH:MM:SSZ
article:modified_time記事更新日時ISO 8601形式(YYYY-MM-DDTHH:MM:SSZ
article:expiration_time記事有効期限ISO 8601形式(YYYY-MM-DDTHH:MM:SSZ
article:author記事著者のプロフィールURLFacebookプロフィールまたは外部URL
article:section記事カテゴリカテゴリ名を文字列で指定
article:tag記事タグタグを文字列で指定(複数設定可)

ISO 8601形式での正しい記述例

<meta property="og:type" content="article" />
<meta property="article:published_time" content="2025-11-14T09:00:00+09:00" />
<meta property="article:modified_time" content="2025-11-14T15:30:00+09:00" />
<meta property="article:author" content="<https://www.facebook.com/authorname>" />
<meta property="article:section" content="テクノロジー" />
<meta property="article:tag" content="OGP" />
<meta property="article:tag" content="SEO" />
<meta property="article:tag" content="Web制作" />

ISO 8601形式とは

日付や時刻を「世界共通のわかりやすい順序」で表す国際標準規格です。主にコンピューター処理やデータ交換でよく使われます。

ISO 8601形式の書き方

  • 基本形式: YYYY-MM-DDTHH:MM:SS+09:00
  • UTC基準: YYYY-MM-DDTHH:MM:SSZ(Zは協定世界時を示す)
  • 日本時間の場合: タイムゾーン+09:00を末尾に追加

推奨理由: これらの追加タグを設定することで、SNS側が記事の鮮度や関連性を判断できるようになり、ニュースフィードでの表示優先度が向上する可能性があります。また、Facebookインサイトでより詳細な分析データが取得可能になります。

記事ページの完全な実装例

<meta property="og:type" content="article" />
<meta property="og:title" content="OGPタグ完全ガイド" />
<meta property="og:description" content="OGPタグの設定方法を網羅的に解説" />
<meta property="og:url" content="<https://example.com/article/ogp-guide>" />
<meta property="og:image" content="<https://example.com/images/ogp-guide.jpg>" />
<meta property="og:site_name" content="Web制作ブログ" />

<meta property="article:published_time" content="2025-11-14T09:00:00+09:00" />
<meta property="article:modified_time" content="2025-11-14T15:30:00+09:00" />
<meta property="article:author" content="<https://www.facebook.com/webauthor>" />
<meta property="article:section" content="Web制作" />
<meta property="article:tag" content="OGP" />
<meta property="article:tag" content="HTML" />
<meta property="article:tag" content="SNS" />

複数ページのOGPを自動生成する際のタイプ設定のベストプラクティス

og:typeの設定は、ページの性質によって明確に使い分ける必要があります。間違ったタイプを設定すると、SNS側での表示が最適化されず、ユーザーエンゲージメントが低下する可能性があります。

ページタイプごとの使い分け指針

ページ種類推奨されるog:type理由
トップページwebsiteサイト全体を代表するページとして認識される
会社概要・サービス紹介website静的な情報ページとして適切
カテゴリ一覧websiteコンテンツの集合ページとして機能
ブログ記事article時系列コンテンツとして最適化
ニュース記事articleニュースフィード表示が最適化される
製品ページproductECサイトの商品詳細ページ用(Facebook Shop連携時)
動画ページvideo.movieまたはvideo.other動画コンテンツとして認識
音楽ページmusic.song音楽コンテンツとして認識
プロフィールページprofile人物情報として最適化

タイプ設定を間違えた場合のSNS表示挙動

ケース1: ブログ記事にwebsiteを設定した場合

  • 公開日時が表示されない
  • ニュースフィードでの優先度が低下
  • 「古い記事」として扱われる可能性

ケース2: トップページにarticleを設定した場合

  • 不要な「公開日時」が表示される
  • サイト全体の代表ページとして認識されない
  • Facebook Insightsのデータが不正確になる

WordPressなど動的サイトでの実装パターン

<?php
// 条件分岐によるog:type自動設定例(WordPress)
if ( is_front_page() || is_home() ) {
    $og_type = 'website';
} elseif ( is_singular('post') || is_singular('news') ) {
    $og_type = 'article';
} elseif ( is_singular('product') ) {
    $og_type = 'product';
} else {
    $og_type = 'website';
}
?>
<meta property="og:type" content="<?php echo esc_attr($og_type); ?>" />

推奨設定フロー

  1. サイト構造を明確にする – どのページが「記事」で、どのページが「静的ページ」か整理
  2. デフォルトはwebsite – 判断に迷う場合はwebsiteを設定
  3. 時系列コンテンツはarticle – ブログ、ニュース、更新情報は必ずarticle
  4. ECサイトはproduct – 商品詳細ページにはFacebook Shop連携用にproductを推奨

この使い分けを徹底することで、各SNSでの表示が最適化され、シェア時のクリック率(CTR)向上が期待できます。

SNSごとの表示仕様と最適化テクニック

Twitter Card(twitter:card、twitter:siteなど)の完全対応ガイド

TwitterはOGPタグを基本的にサポートしていますが、独自の「Twitter Card」タグを設定することで、より最適化された表示が可能になります。Twitter Card専用タグを設定しない場合でも、OGPタグから情報を自動取得しますが、明示的な設定が推奨されます。

Twitter Cardの4種類と推奨用途

カードタイプ表示形式推奨画像サイズ用途
summary小さな正方形画像120×120px(最小)144×144px(推奨)シンプルな情報表示、プロフィールリンク
summary_large_image大きな横長画像1200×630px(推奨)
最小300×157px
最大4096×4096px
ブログ記事、ニュース記事、視覚的訴求が必要なコンテンツ
appアプリ情報表示対応プラットフォームによるモバイルアプリのダウンロード促進
player動画/音声プレーヤー動画サイズに依存動画・音声コンテンツの埋め込み再生

実務での推奨: ほとんどのWebサイトではsummary_large_imageを使用してください。視覚的なインパクトが大きく、クリック率が最も高い傾向にあります。

基本的なTwitter Card設定コード

<!-- Twitter Card: summary_large_image(最も一般的) -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@your_account" />
<meta name="twitter:creator" content="@author_account" />
<meta name="twitter:title" content="ページタイトル" />
<meta name="twitter:description" content="ページの説明文120文字程度" />
<meta name="twitter:image" content="<https://example.com/twitter-image.jpg>" />

Twitter Card: summaryの設定例

<!-- Twitter Card: summary(小さな正方形画像) -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@your_account" />
<meta name="twitter:title" content="ページタイトル" />
<meta name="twitter:description" content="ページの説明文" />
<meta name="twitter:image" content="<https://example.com/square-image.jpg>" />

Twitter Cardタグの詳細

タグ名必須/任意説明
twitter:card必須カードタイプを指定(summarysummary_large_imageなど)
twitter:site推奨サイトのTwitterアカウント(@付き)。設定するとアカウントへのリンクが表示される
twitter:creator任意コンテンツ作成者のTwitterアカウント。記事の著者が異なる場合に使用
twitter:title任意タイトル。未設定時はog:titleを使用
twitter:description任意説明文。未設定時はog:descriptionを使用
twitter:image任意画像URL。未設定時はog:imageを使用
twitter:image:alt推奨画像の代替テキスト。アクセシビリティ向上のため設定推奨

Twitter Card Validatorでの確認方法

Twitter Cardが正しく設定されているかを確認するには、公式の検証ツールを使用します。

Twitter Card Validator URL:
https://cards-dev.twitter.com/validator

使用手順:

  1. 上記URLにアクセス
  2. 確認したいページのURLを入力
  3. 「Preview card」ボタンをクリック
  4. カードのプレビューが表示され、エラーがあれば警告が表示される

キャッシュをクリアする方法

Twitter Cardの情報は一度取得されるとキャッシュされます。OGP情報を更新した後に反映させるには、以下の手順でキャッシュをクリアします。

キャッシュクリア手順:

  1. Twitter Card Validatorに該当URLを入力
  2. 自動的に最新情報を再取得してキャッシュが更新される
  3. プレビューで更新内容を確認

注意: Twitter Card Validatorでプレビューを実行するだけでキャッシュがクリアされます。特別な「キャッシュクリア」ボタンは存在しません。

Facebook特有の要素(fb:app_id、シェアデバッガーでの確認方法)

Facebookでは、基本的なOGPタグに加えて、Facebook独自のタグを設定することで、より詳細な分析やインサイトが利用可能になります。

fb:app_idの役割と設定

fb:app_idは、Facebook App IDを指定するタグです。このタグを設定することで、Facebook Insightsでページのシェア状況やエンゲージメント数を詳細に分析できます。

<meta property="fb:app_id" content="1234567890123456" />

重要: fb:app_id設定がなくてもOGP自体は正常に機能します。このタグはあくまで分析用であり、シェア時の表示には影響しません。

Facebook App IDの取得方法:

  1. Facebook for Developers(https://developers.facebook.com/)にアクセス
  2. 「マイアプリ」から新しいアプリを作成
  3. アプリダッシュボードに表示される「アプリID」をコピー
  4. fb:app_idのcontent属性に設定

その他のFacebook独自タグ

<!-- Facebook管理者IDの指定(個人アカウント) -->
<meta property="fb:admins" content="1234567890" />

<!-- 複数の管理者を指定する場合 -->
<meta property="fb:admins" content="1234567890,0987654321" />

fb:adminsとは: Facebook個人アカウントのユーザーIDを指定することで、fb:app_idと同様にInsightsへのアクセス権限が付与されます。小規模サイトではfb:app_idよりも設定が簡単です。

Facebookシェアデバッガー(Sharing Debugger)の使い方

Facebookが正しくOGP情報を取得できているかを確認するには、公式の「シェアデバッガー」を使用します。

Sharing Debugger URL:
https://developers.facebook.com/tools/debug/

使用手順:

  1. 上記URLにアクセス(Facebookアカウントでのログインが必要)
  2. 確認したいページのURLを入力
  3. 「デバッグ」ボタンをクリック
  4. OGPタグの取得状況とプレビューが表示される

エラー表示が出た場合のチェックポイント

シェアデバッガーでエラーや警告が表示された場合、以下の項目を確認してください。

エラー内容原因解決方法
「画像を取得できません」画像URLが相対パスまたはアクセス不可絶対URL(https://から始まる完全なURL)に修正
「推奨サイズではありません」画像サイズが小さすぎる1200×630px以上の画像を使用
「og:urlが見つかりません」og:urlタグが未設定正規URLをog:urlに設定
「プロパティが重複しています」同じOGPタグが複数存在重複タグを削除し、1つのみ残す
「robots.txtでブロックされています」クローラーがアクセス不可robots.txtでFacebookbotを許可

キャッシュをクリアして最新情報を取得する方法

Facebookは一度取得したOGP情報を長期間キャッシュします。OGP情報を更新した後、すぐに反映させるには以下の手順を実行してください。

キャッシュクリア手順:

  1. Sharing DebuggerにURLを入力
  2. 「もう一度スクレイピング」ボタンをクリック
  3. Facebookが強制的に最新情報を再取得
  4. プレビューで更新内容を確認

注意: 「もう一度スクレイピング」は短時間に何度も実行できません。レート制限があるため、エラーが解決してから実行してください。

LINEで正しく表示させるための注意点とOGP仕様のポイント

LINEは独自のOGPタグを持たず、基本的にFacebookのOGP仕様に準拠しています。そのため、前述の基本OGPタグを正しく設定していれば、LINEでも問題なく表示されます。

LINEでのOGP表示の基本仕様

LINEでURLをシェアした際、以下の情報が自動取得されて表示されます。

  • サムネイル画像: og:imageで指定した画像
  • タイトル: og:titleで指定したテキスト
  • 説明文: og:descriptionで指定したテキスト
<!-- LINE表示に必要な基本OGP設定 -->
<meta property="og:title" content="ページタイトル" />
<meta property="og:description" content="ページの説明文" />
<meta property="og:image" content="<https://example.com/line-image.jpg>" />
<meta property="og:url" content="<https://example.com/page>" />
<meta property="og:type" content="website" />

LINEに最適な画像サイズ

LINEはFacebookと同じ1200×630pxの画像を推奨していますが、モバイル表示が中心のため、以下の点に注意が必要です。

推奨画像サイズ:

  • 最適サイズ: 1200×630px(Facebookと共通)
  • 最小サイズ: 200×200px(これ以下は表示されない可能性)
  • アスペクト比: 1.91:1(横長)または1:1(正方形)

モバイル最適化のポイント:

  • 文字を含む場合は、小さな画面でも読める大きさのフォントを使用
  • 重要な要素は画像の中央付近に配置(LINEのトリミングに対応)
  • 背景とのコントラストを明確にする

LINE特有の表示挙動と注意点

LINEは他のSNSと異なる表示特性があります。以下の点に注意してください。

1. 画像のトリミング
LINEはサムネイル表示時に画像を自動でトリミングする場合があります。重要な情報は画像の端に配置しないようにしてください。

2. 説明文の文字数制限
LINEでは説明文が約80文字程度で省略されます。重要な情報は前半に記述してください。

3. キャッシュの持続時間
LINEは一度取得したOGP情報を長期間キャッシュします。キャッシュをクリアする公式ツールは存在しないため、URLにパラメータを付与する(例: ?v=2)ことで強制的に再取得させることができます。

LINE公式アカウントからのメッセージ配信時の注意点

LINE公式アカウントの「メッセージ配信」機能でURLを含める場合、以下の特殊な仕様があります。

配信時のOGP表示:

  • リッチメッセージ内にURLを含めた場合、OGP情報は自動取得されない
  • カードタイプメッセージを使用する場合、管理画面で画像とテキストを個別設定
  • 通常のテキストメッセージ内のURLは、タップ後のプレビューでOGPが表示される

LINEでの表示確認方法

LINEには公式のOGP検証ツールがありません。実際の表示を確認するには、以下の方法を使用してください。

確認手順:

  1. 自分宛てにLINEでURLを送信
  2. トーク画面で表示プレビューを確認
  3. 画像、タイトル、説明文が正しく表示されているか検証

テスト用アカウント活用: 社内やチーム内でテスト用LINEグループを作成し、本番公開前に必ず表示確認を行うことを推奨します。

LINE表示の完全な実装例

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <!-- LINE表示に最適化されたOGP設定 -->
  <meta property="og:title" content="【最新版】OGPタグ完全ガイド" />
  <meta property="og:description" content="LINEでも美しく表示されるOGP設定の方法を徹底解説。モバイル最適化のポイントも網羅。" />
  <meta property="og:image" content="<https://example.com/images/line-optimized.jpg>" />
  <meta property="og:image:width" content="1200" />
  <meta property="og:image:height" content="630" />
  <meta property="og:url" content="<https://example.com/ogp-guide>" />
  <meta property="og:type" content="article" />
  <meta property="og:site_name" content="Web制作の教科書" />

  <title>【最新版】OGPタグ完全ガイド</title>
</head>
<body>
  <!-- コンテンツ -->
</body>
</html>

この設定により、LINE、Facebook、Twitterすべてで最適な表示が実現できます。

OGPとSEO・運用のポイント

OGPタグのSEO効果と検索結果でのメリットの正しい理解

OGPタグはGoogleなどの検索エンジンの順位決定要因には含まれません。これは明確に断言できる事実です。OGPタグを設定しても、検索結果での表示順位が直接的に上昇することはありません。

OGPタグとSEOの関係性

項目影響の有無詳細
検索順位への直接的影響なしGoogleはランキング要因としてOGPタグを使用していない
検索結果での表示なし検索結果のスニペットにはOGP情報は使われない
クリック率(CTR)への影響あり(間接的)SNSでの魅力的な表示がトラフィック増加につながる
被リンク獲得あり(間接的)シェアされやすくなることで自然な被リンクが増える可能性
ブランド認知ありSNS上での一貫した表示がブランド価値を向上させる

間接的なSEOメリット

OGPタグは以下のような間接的なSEO効果をもたらします。

1. SNS経由のトラフィック増加

  • 魅力的なOGP画像とタイトルにより、SNSでのクリック率が向上
  • サイト訪問者数の増加はGoogleが評価するシグナルの一つ
  • ダイレクトトラフィックの増加は、サイトの権威性向上に貢献

2. エンゲージメント指標の改善

  • 適切なOGP設定により、訪問者が期待通りのコンテンツにたどり着く
  • 直帰率の低下、滞在時間の増加につながる
  • これらの行動指標はGoogleの品質評価に影響する可能性

3. 自然な被リンク獲得

  • SNSでシェアされやすいコンテンツは、他サイトからの言及も増える
  • 結果として自然な被リンクが獲得できる可能性が高まる

4. ブランド検索の増加

  • SNSで一貫した表示により、ブランド認知度が向上
  • ブランド名での検索が増え、サイト全体の評価が上昇

SEOとOGPの正しい関係図

OGP設定 → SNS表示最適化 → CTR向上
                          ↓
                    トラフィック増加
                          ↓
                  エンゲージメント改善
                          ↓
                  間接的なSEO効果

結論: OGPタグは「SEO対策」ではなく「SNSマーケティング施策」として位置づけるべきです。ただし、適切に設定することで、結果的にサイト全体のパフォーマンスが向上し、間接的なSEO効果が期待できます。

OGPタグをHTML <head>内に記述する際の「優先順位」と注意点

複数のmetaタグが存在する場合、SNS側がどの情報を優先的に取得するかを理解することが重要です。

既存metaタグとOGPタグの関係

metaタグOGPタグSNS側の優先順位
<meta name="description"><meta property="og:description">OGPタグが優先
<title><meta property="og:title">OGPタグが優先
<link rel="canonical"><meta property="og:url">それぞれ独立(両方設定推奨)
<meta name="robots">なしrobots設定が優先(クローラー制御)

SNSクローラーの情報取得優先順位

Facebook、Twitter、LINEなどのSNSクローラーは、以下の優先順位で情報を取得します。

タイトルの優先順位:

  1. <meta property="og:title"> または <meta name="twitter:title">
  2. <title>タグ
  3. <h1>タグ

説明文の優先順位:

  1. <meta property="og:description"> または <meta name="twitter:description">
  2. <meta name="description">
  3. ページ本文の最初のテキスト

画像の優先順位:

  1. <meta property="og:image"> または <meta name="twitter:image">
  2. ページ内の最初の<img>タグ
  3. デフォルト画像なし(SNSによってはロゴを表示)

OGPタグが複数存在する場合の挙動

同じプロパティのOGPタグが複数記述されている場合、SNS側の挙動は以下のようになります。

<!-- 悪い例:同じプロパティが重複 -->
<meta property="og:title" content="タイトル1" />
<meta property="og:title" content="タイトル2" />
<meta property="og:image" content="<https://example.com/image1.jpg>" />
<meta property="og:image" content="<https://example.com/image2.jpg>" />

SNS側の処理:

  • Facebook: 最初に記述されたタグを優先
  • Twitter: 最初に記述されたタグを優先
  • LINE: 最初に記述されたタグを優先

例外: 複数画像の設定og:imageのみ、複数設定が仕様上許可されています。Facebookでは複数画像からユーザーが選択できるようになります。

<!-- 正しい例:複数画像の設定 -->
<meta property="og:image" content="<https://example.com/image1.jpg>" />
<meta property="og:image" content="<https://example.com/image2.jpg>" />
<meta property="og:image" content="<https://example.com/image3.jpg>" />

canonical URLとog:urlの関係

<link rel="canonical"><meta property="og:url">は、それぞれ異なる目的を持ちます。

<!-- 両方設定することが推奨 -->
<link rel="canonical" href="https://example.com/page" />
<meta property="og:url" content="https://example.com/page" />
タグ目的対象
<link rel="canonical">検索エンジンに正規URLを伝えるGoogle、Bingなどの検索エンジン
<meta property="og:url">SNSに正規URLを伝えるFacebook、Twitter、LINE

重要: 両方のURLは一致させることが推奨されます。異なるURLを設定すると、SNSと検索エンジンで異なるページが正規ページとして認識されてしまいます。

記述順序のベストプラクティス

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <!-- 1. 基本メタ情報 -->
  <title>ページタイトル</title>
  <meta name="description" content="ページ説明" />
  <link rel="canonical" href="<https://example.com/page>" />

  <!-- 2. OGPタグ(基本メタ情報の直後) -->
  <meta property="og:title" content="ページタイトル" />
  <meta property="og:description" content="ページ説明" />
  <meta property="og:image" content="<https://example.com/image.jpg>" />
  <meta property="og:url" content="<https://example.com/page>" />
  <meta property="og:type" content="article" />

  <!-- 3. Twitter Card -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:title" content="ページタイトル" />
  <meta name="twitter:description" content="ページ説明" />
  <meta name="twitter:image" content="<https://example.com/image.jpg>" />

  <!-- 4. その他のメタタグ、CSS、JSなど -->
  <link rel="stylesheet" href="style.css" />
</head>

この順序により、SNSクローラーが効率的に情報を取得でき、タイムアウトのリスクが最小化されます。

OGP設定の「反映・キャッシュ問題」解決:デバッガーツールの使い方

SNSは一度取得したOGP情報をキャッシュ(一時保存)する仕組みを持っています。これは、SNS側のサーバー負荷を軽減するための措置ですが、OGP情報を更新してもすぐに反映されない原因となります。

SNSのキャッシュ保持期間

SNSキャッシュ保持期間備考
Facebook約30日間定期的に自動更新されるが、タイミングは不定
Twitter約7日間比較的短期間で自動更新
LINE不定(長期間)公式の情報なし。1ヶ月以上保持される場合も

キャッシュが原因で発生する問題

よくある症状:

  • OGP画像を変更したのに、古い画像が表示され続ける
  • タイトルや説明文を修正したのに、SNSでは古い情報が表示される
  • 新規公開ページなのに、「画像が見つかりません」と表示される

各SNSのデバッガーツールでキャッシュをクリアする方法

Facebookのキャッシュクリア

使用ツール: Sharing Debugger(シェアデバッガー)

URL: https://developers.facebook.com/tools/debug/

手順:

  1. Sharing Debuggerにアクセス(Facebookログインが必要)
  2. 対象ページのURLを入力フィールドに貼り付け
  3. 「デバッグ」ボタンをクリック
  4. 現在のキャッシュ情報が表示される
  5. 「もう一度スクレイピング」ボタンをクリック
  6. Facebookが強制的に最新情報を取得
  7. 更新されたプレビューを確認

注意事項:

  • 「もう一度スクレイピング」は短時間に連続実行できない(レート制限あり)
  • エラーが表示される場合は、まずHTMLを修正してから再実行

Twitterのキャッシュクリア

使用ツール: Twitter Card Validator

URL: https://cards-dev.twitter.com/validator

手順:

  1. Twitter Card Validatorにアクセス(Twitterログイン推奨)
  2. 対象ページのURLを入力
  3. 「Preview card」ボタンをクリック
  4. 自動的に最新情報を取得し、キャッシュが更新される
  5. カードプレビューで更新内容を確認

注意事項:

  • Twitterはプレビュー表示時に自動でキャッシュを更新
  • 特別な「キャッシュクリア」ボタンは存在しない
  • ログインなしでも利用可能だが、ログイン推奨

LINEのキャッシュクリア

使用ツール: なし(公式デバッガーツールは存在しない)

代替手段:

  1. URLパラメータ追加方式
元のURL: <https://example.com/article>
新しいURL: <https://example.com/article?v=2>

パラメータ(?v=2など)を追加することで、LINEは別のURLとして認識し、新たにOGP情報を取得します。

  1. リダイレクト方式 サーバー側で301リダイレクトを設定し、新しいURLに転送することでキャッシュをバイパスできます。
  2. 時間経過による自動更新を待つ LINEのキャッシュは時間経過で自動更新されますが、期間は不定です。

キャッシュ問題を予防する運用テクニック

1. 公開前に必ずデバッガーで確認 ページを公開する前に、各SNSのデバッガーツールで表示確認を行い、キャッシュを事前に作成しておきます。

2. OGP画像のファイル名を変更 画像を更新する際は、ファイル名自体を変更することで、確実に新しい画像が取得されます。

<!-- 変更前 -->
<meta property="og:image" content="https://example.com/ogp.jpg" />

<!-- 変更後(ファイル名を変更) -->
<meta property="og:image" content="https://example.com/ogp-v2.jpg" />

3. クエリパラメータを付与 OGP画像のURLにクエリパラメータ(バージョン番号など)を付与することで、強制的に新しい画像として認識させます。

<meta property="og:image" content="https://example.com/ogp.jpg?v=20251114" />

4. 画像のキャッシュ制御ヘッダー設定 サーバー側で画像のCache-Controlヘッダーを適切に設定し、キャッシュ期間をコントロールします。

Cache-Control: public, max-age=604800

キャッシュクリアの完全フロー

1. HTMLを修正
   ↓
2. サーバーにアップロード
   ↓
3. Facebook Sharing Debuggerで「もう一度スクレイピング」
   ↓
4. Twitter Card Validatorでプレビュー実行
   ↓
5. LINE(自分宛てに送信して表示確認)
   ↓
6. すべてのSNSで正しい表示を確認

この手順を必ず実施することで、OGP情報更新後のトラブルを最小限に抑えられます。


よくある質問(FAQ)

OGP画像が表示されない場合のチェックリストを教えてください

OGP画像が正しく表示されない問題は、最も頻繁に発生するトラブルの一つです。以下のチェックリストを上から順に確認してください。

1. 画像URLが絶対パスで記述されているか

問題: 相対パスで記述されている

<!-- ❌ 間違い:相対パス -->
<meta property="og:image" content="/images/ogp.jpg" />
<meta property="og:image" content="images/ogp.jpg" />

解決策: 必ずhttps://から始まる絶対URLで記述

<!-- ✅ 正しい:絶対パス -->
<meta property="og:image" content="https://example.com/images/ogp.jpg" />

2. 画像ファイルが実際にアクセス可能か

確認方法:

  1. ブラウザのアドレスバーに画像URLを直接入力
  2. 画像が正常に表示されればOK
  3. 404エラーやアクセス拒否が表示される場合は、ファイルパスやサーバー設定を確認

よくある原因:

  • ファイル名のスペルミス(大文字小文字の違いも含む)
  • ファイルがサーバーにアップロードされていない
  • Basic認証やIP制限で画像へのアクセスがブロックされている

3. 画像サイズが推奨範囲内か

各SNSの推奨画像サイズ:

SNS最小サイズ推奨サイズ最大サイズ
Facebook200×200px1200×630px8192×8192px
Twitter(summary_large_image)300×157px1200×630px4096×4096px
Twitter(summary)120×120px144×144px
LINE200×200px1200×630px

注意: 最小サイズ未満の画像は表示されない可能性があります。

4. 画像ファイル形式が対応しているか

対応形式:

  • 推奨: JPEG(.jpg.jpeg)、PNG(.png
  • 一部対応: WebP(.webp) – Facebookは対応、Twitter/LINEも対応が進んでいるが、確実性を求める場合はJPEG/PNGを推奨
  • 非対応: GIF(アニメーション)、SVG、BMP

解決策: JPEGまたはPNG形式の画像を使用してください。

5. 画像ファイルサイズが大きすぎないか

推奨ファイルサイズ: 1MB以下

大きすぎる画像ファイルは、SNSクローラーのタイムアウトにより取得できない場合があります。画像圧縮ツールで最適化してください。

6. robots.txtやmetaタグでクローラーをブロックしていないか

確認項目:

# robots.txtで画像ディレクトリをブロックしていないか
User-agent: *
Disallow: /images/  # これがあると画像が取得できない

<!-- metaタグでクローラーをブロックしていないか -->
<meta name="robots" content="noindex, nofollow" />

解決策: OGP画像のディレクトリはクローラーがアクセスできるように設定してください。

7. HTTPSで配信されているか

問題: HTTP(非SSL)で画像を配信している

<!-- ❌ 間違い:HTTP -->
<meta property="og:image" content="http://example.com/ogp.jpg" />

解決策: HTTPSで配信

<!-- ✅ 正しい:HTTPS -->
<meta property="og:image" content="https://example.com/ogp.jpg" />

FacebookやTwitterは、セキュリティ上の理由からHTTP画像の表示を制限する場合があります。

8. キャッシュが原因で古い情報が表示されている

解決策:

  • Facebook: Sharing Debuggerで「もう一度スクレイピング」を実行
  • Twitter: Card Validatorでプレビューを実行
  • LINE: URLにパラメータ(?v=2など)を追加

完全なチェックリスト表

チェック項目確認内容解決方法
✓ 絶対パスhttps://から始まっているか相対パスを絶対パスに修正
✓ アクセス可能ブラウザで画像が開けるかファイルパス、サーバー設定を確認
✓ 画像サイズ1200×630px以上か推奨サイズの画像を用意
✓ ファイル形式JPEGまたはPNGか対応形式に変換
✓ ファイルサイズ1MB以下か画像を圧縮
✓ クローラー許可robots.txtでブロックしていないか画像ディレクトリを許可
✓ HTTPS配信HTTPSで配信されているかSSL証明書をインストール
✓ キャッシュクリアデバッガーで最新情報を取得したか各SNSのデバッガーを実行

WordPress(Yoast SEO / All in One SEO)での設定の概要は?

WordPressを使用している場合、OGPタグの設定を手動で行う必要はありません。主要なSEOプラグインが自動生成機能を提供しています。

Yoast SEOでのOGP設定

プラグイン情報:

  • プラグイン名: Yoast SEO
  • 提供元: Yoast
  • 無料版でOGP対応: はい

設定手順:

  1. WordPressダッシュボードから「SEO」→「ソーシャル」をクリック
  2. 「Facebook」タブでOGP機能を有効化
  3. デフォルトのOGP画像をアップロード(サイト全体の代替画像)
  4. 「Twitter」タブでTwitter Card機能を有効化
  5. Twitterアカウント名(@付き)を入力

投稿ごとの個別設定:

  1. 投稿編集画面の下部にある「Yoast SEO」メタボックスを開く
  2. 「ソーシャル」タブをクリック
  3. FacebookとTwitterそれぞれの以下の項目を設定:
    • タイトル: SNS表示用のタイトル(未設定時は投稿タイトルが使用される)
    • 説明: SNS表示用の説明文(未設定時は抜粋が使用される)
    • 画像: OGP画像をアップロードまたはメディアライブラリから選択

自動生成されるタグ:

<meta property="og:locale" content="ja_JP" />
<meta property="og:type" content="article" />
<meta property="og:title" content="投稿タイトル" />
<meta property="og:description" content="投稿の抜粋" />
<meta property="og:url" content="https://example.com/post-url/" />
<meta property="og:site_name" content="サイト名" />
<meta property="article:published_time" content="2025-11-14T09:00:00+09:00" />
<meta property="og:image" content="https://example.com/image.jpg" />
<meta name="twitter:card" content="summary_large_image" />

All in One SEOでのOGP設定

プラグイン情報:

  • プラグイン名: All in One SEO Pack(AIOSEO)
  • 提供元: All in One SEO Team
  • 無料版でOGP対応: はい

設定手順:

  1. WordPressダッシュボードから「All in One SEO」→「ソーシャルネットワーク」をクリック
  2. 「Facebook」セクションで「Open Graphマークアップを有効化」にチェック
  3. デフォルトの投稿画像ソースを選択(アイキャッチ画像、最初の画像など)
  4. デフォルトのOGP画像をアップロード
  5. 「Twitter」セクションで「Twitterカードを有効化」にチェック
  6. デフォルトのTwitterカードタイプを選択(推奨: summary_large_image)

投稿ごとの個別設定:

  1. 投稿編集画面の「AIOSEO設定」メタボックスを開く
  2. 「ソーシャル」タブをクリック
  3. 「Facebook」セクション:
    • タイトル: 独自タイトルを入力(任意)
    • 説明: 独自説明文を入力(任意)
    • 画像: OGP画像を選択
  4. 「Twitter」セクション:
    • カードタイプを選択
    • タイトル・説明・画像を個別設定(任意)

自動生成されるタグ:

<meta property="og:type" content="article" />
<meta property="og:title" content="投稿タイトル" />
<meta property="og:description" content="投稿の説明" />
<meta property="og:url" content="https://example.com/post-url/" />
<meta property="og:site_name" content="サイト名" />
<meta property="og:image" content="https://example.com/image.jpg" />
<meta property="article:published_time" content="2025-11-14T09:00:00+09:00" />
<meta property="article:modified_time" content="2025-11-14T15:30:00+09:00" />
<meta name="twitter:card" content="summary_large_image" />

プラグイン比較表

機能Yoast SEOAll in One SEO
OGP自動生成
Twitter Card対応
投稿ごとの個別設定
デフォルト画像設定
Facebook App ID設定
article:タグ自動生成
無料版での機能制限なしなし(OGP機能は完全無料)

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

テーマのheader.phpに直接記述することも可能です。

<!-- header.php内に記述 -->
<head>
  <?php if ( is_single() ) : ?>
    <!-- 投稿ページの場合 -->
    <meta property="og:type" content="article" />
    <meta property="og:title" content="<?php the_title(); ?>" />
    <meta property="og:description" content="<?php echo get_the_excerpt(); ?>" />
    <meta property="og:url" content="<?php the_permalink(); ?>" />
    <meta property="og:image" content="<?php echo get_the_post_thumbnail_url(get_the_ID(), 'full'); ?>" />
  <?php else : ?>
    <!-- トップページの場合 -->
    <meta property="og:type" content="website" />
    <meta property="og:title" content="<?php bloginfo('name'); ?>" />
    <meta property="og:description" content="<?php bloginfo('description'); ?>" />
    <meta property="og:url" content="<?php echo home_url('/'); ?>" />
    <meta property="og:image" content="<?php echo get_template_directory_uri(); ?>/images/ogp.jpg" />
  <?php endif; ?>
  <meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
</head>

記事公開後にOGPを変更した場合の反映タイミングは?

OGP情報を変更しても、SNS側にすぐには反映されません。これは各SNSがキャッシュを保持しているためです。

SNS別の自動反映タイミング

SNS自動反映までの期間手動での即時反映方法
Facebook約30日後Sharing Debuggerで「もう一度スクレイピング」
Twitter約7日後Card Validatorでプレビュー実行
LINE不定(1ヶ月以上の場合も)URLパラメータ追加(?v=2など)

変更内容別の反映難易度

変更内容反映の容易さ推奨対応
タイトル変更やや容易デバッガーでキャッシュクリア
説明文変更やや容易デバッガーでキャッシュクリア
画像変更(URLそのまま)困難画像ファイル名を変更
画像変更(URL変更)容易デバッガーでキャッシュクリア

画像変更時の確実な反映方法

方法1: 画像ファイル名を変更(最も確実)

<!-- 変更前 -->
<meta property="og:image" content="<https://example.com/ogp.jpg>" />

<!-- 変更後 -->
<meta property="og:image" content="<https://example.com/ogp-v2.jpg>" />

方法2: クエリパラメータを追加

<!-- 変更前 -->
<meta property="og:image" content="<https://example.com/ogp.jpg>" />

<!-- 変更後 -->
<meta property="og:image" content="<https://example.com/ogp.jpg?v=20251114>" />

既にシェアされた投稿の表示は変更されるか

重要: SNSに既に投稿(シェア)された内容は、OGP情報を変更しても過去の投稿は更新されません

状況表示内容
変更前にシェアされた投稿変更前のOGP情報のまま表示され続ける
変更後に新たにシェアされる投稿変更後の最新OGP情報が表示される

対応策:

  • 重要な情報変更の場合は、改めて新しい投稿としてシェアし直す
  • SNS投稿に「情報を更新しました」などの補足コメントを追加

反映確認の完全フロー

1. OGP情報を変更(HTMLまたはCMS)
   ↓
2. 変更内容をサーバーにアップロード
   ↓
3. Facebook Sharing Debuggerで「もう一度スクレイピング」実行
   ↓
4. Twitter Card Validatorでプレビュー実行
   ↓
5. LINE(自分宛てにテスト送信)
   ↓
6. 各SNSで最新情報が表示されることを確認
   ↓
7. 確認後、正式にシェア

緊急時の対応

公開直後に重大な誤りを発見した場合:

  1. すぐにHTML/CMSを修正
  2. 各SNSのデバッガーで即座にキャッシュクリア
  3. 既にシェアされた投稿には訂正コメントを追加
  4. 可能であれば投稿を削除し、正しい情報で再投稿

予防策: 本番公開前に必ずステージング環境でOGP表示を確認し、デバッガーでテストしてください。

まとめ

ここまでOGPタグの設定方法から運用のポイントまで、実務で必要な情報をすべて解説してきました。

OGP設定は一見複雑に見えますが、実際には基本の5タグを正しく設定し、デバッガーで確認するだけで完璧に機能します。特別な知識は必要ありません。この記事で紹介したテンプレートをコピペして、あなたのサイト情報に書き換えれば、今すぐFacebook、Twitter、LINEすべてで最適な表示が実現できます。

重要ポイント

  • 必須タグは5つ: og:titleog:descriptionog:imageog:typeog:urlを必ず設定
  • 画像は絶対URLで: https://から始まる完全なURLで記述し、推奨サイズは1200×630px
  • デバッガーは必須ツール: 設定後は必ずFacebook Sharing DebuggerとTwitter Card Validatorで確認
  • キャッシュ問題は即解決: 各デバッガーで「もう一度スクレイピング」を実行すれば最新情報に更新
  • SEO効果は間接的: 直接的な順位向上はないが、SNS経由のトラフィック増加で間接的な効果が期待できる

OGPタグを正しく設定することで、SNSでシェアされた際の見栄えが劇的に改善され、クリック率が大きく向上します。これは単なる見た目の問題ではなく、サイトへの訪問者数やエンゲージメントに直結する重要な施策です。

設定で迷ったら、この記事のテンプレートに戻ってきてください。コピペと各SNSのデバッガーツールがあれば、誰でも完璧なOGP設定ができます。

あなたのWebサイトが、SNSで美しく表示され、より多くの人に届くことを願っています。最後まで読んでいただき、ありがとうございました。設定が完了したら、ぜひ実際にシェアしてその効果を実感してみてください。

タイトルとURLをコピーしました