OGPとTwitterカードの設定方法【HTML初心者向け】


1. はじめに|SNSでシェアしたときの「見た目」整ってますか?

「ブログ記事をSNSでシェアしたのに、サムネイルが出ない」「タイトルや説明文が変…」
こんな経験、ありませんか?

それ、OGPやTwitterカードの設定不足が原因かもしれません。

本記事では、Webサイト制作を始めたばかりの方向けに、OGP(Open Graph Protocol)とTwitterカードの基本的な設定方法を丁寧に解説します。コピペできるサンプルコード付きです。


2. OGPとは?|SNSに正しく情報を渡す仕組み

そもそもOGPってなに?

OGPとは Open Graph Protocol の略で、FacebookやX(旧Twitter)、LINEなどのSNSでリンクをシェアしたときに「どう表示するか」を決めるための仕組みです。

たとえば、次のような情報がSNS上で表示されます:

  • タイトル(og:title
  • 説明文(og:description
  • サムネイル画像(og:image
  • ページのURL(og:url
  • サイト名(og:site_name

これらをHTML内にメタタグとして記述することで、SNSが正しく読み取ってくれます。


3. Twitterカードとは?|Twitter(X)専用の設定も必要

TwitterはOGPに対応しつつ、独自にTwitterカードという形式も用意しています。

カードの種類は主に以下の2つ:

  • summary:テキスト中心(小さな画像)
  • summary_large_image:画像メイン(大きなサムネイル)

記事やブログでは後者の summary_large_image が一般的です。


4. 基本のOGP+Twitterカード設定|コピペOKのテンプレート

<!-- OGP設定 -->
<meta property="og:type" content="website" />
<meta property="og:title" content="記事のタイトル" />
<meta property="og:description" content="記事の説明文(120文字程度)" />
<meta property="og:url" content="https://example.com/記事のURL" />
<meta property="og:image" content="https://example.com/images/ogp-image.jpg" />
<meta property="og:site_name" content="サイト名" />

<!-- Twitterカード -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@Twitterユーザー名(任意)" />
<meta name="twitter:title" content="記事タイトル">
<meta name="twitter:description" content="記事の説明文">
<meta name="twitter:image" content="https://example.com/images/twitter-image.jpg">
<meta name="twitter:url" content="https://example.com/post-slug">

✅ 注意点

  • og:image には絶対パス(httpsから始まるURL)を指定すること。
  • twitter:site@から始まるTwitterアカウント名を指定(任意)

5. WordPressでの実装方法|functions.phpやプラグインの選択肢

WordPressを使っている場合、以下の方法でOGP/Twitterカードを導入できます。

方法①:functions.phpに直接書く

function add_ogp_meta_tags() {
  if (is_single() || is_page()) {
    global $post;
    setup_postdata($post);
    $title = get_the_title();
    $desc = get_the_excerpt();
    $url = get_permalink();
    $img = get_the_post_thumbnail_url($post, 'full') ?: 'https://example.com/default.jpg';

    echo '<meta property="og:title" content="'.esc_attr($title).'">'."\n";
    echo '<meta property="og:description" content="'.esc_attr($desc).'">'."\n";
    echo '<meta property="og:url" content="'.$url.'">'."\n";
    echo '<meta property="og:image" content="'.$img.'">'."\n";
    echo '<meta property="og:type" content="article">'."\n";
    echo '<meta property="og:site_name" content="'.get_bloginfo('name').'">'."\n";
    echo '<meta name="twitter:card" content="summary_large_image">'."\n";
  }
}
add_action('wp_head', 'add_ogp_meta_tags');

方法②:プラグインを使う(簡単)

以下のようなSEO系プラグインを使えば自動でOGPも対応してくれます。

  • All in One SEO
  • Yoast SEO
  • SEO SIMPLE PACK(日本語&軽量)

6. OGP画像の作り方・サイズの目安

画像が表示されない!
というときは画像サイズが原因かもしれません。

推奨サイズ

  • 最低:1200×630px
  • 形式:JPEGまたはPNG
  • ファイルサイズ:できれば5MB以下
  • アスペクト比:1.91:1

ツールが必要な場合は、CanvaやFigmaなどのテンプレートを活用するのがおすすめです。


7. OGP設定が反映されないときのチェックポイント

  • 画像URLが間違っていないか(相対パス✕)
  • キャッシュが残っていないか(SNS側 or サーバー)
  • SNSのクローラーがアクセスできない設定になっていないか(robots.txtなど)

8. おわりに|OGPは「信頼感」を生む名刺のようなもの

OGPやTwitterカードは、SEOのように直接検索順位に関わる要素ではありません。
しかし、SNSでシェアされたときに「このサイトはちゃんとしてるな」と思ってもらえる信頼感の第一印象を作る、とても大切な要素です。

コードで自分で書いてもよし、プラグインで補助してもよし。
自分のサイトが誰かに紹介されたとき、どんなふうに見えるのか?を意識して、ぜひ整えてみてください。

✪ 画像素材がないものはランダムで表示されるようになっています。フリー素材などでご用意ください。

おすすめChromeプラグイン一覧

プラグイン名特徴
GoFullPageウェブページ全体のスクリーンショットを簡単に取得できるブラウザ拡張機能です。
ColorZilla色を抽出するための拡張機能です。
WhatFontウェブページ上のフォントの情報を簡単に確認できるブラウザ拡張機能です。
PerfectPixelデザイナーが作成したデザインと実際にコーディングされたウェブページがどの程度一致しているかを確認・調整するためのブラウザ拡張機能です。

模写の手順

ステップ内容
ステップ 1構図を手書きか全画面スクショ(Go full page等)した後、ペイントツールで四角で囲い、大まかなclass,命名規則をあらかじめ決める。
ステップ 2HTMLの基本構造を作成する
ステップ 3CSSでレイアウトを模写する
ステップ 4 中級〜JavaScriptを追加して動きを再現する
ステップ 5最終調整を行い、検証ツールやPerfectPixel(chromeプラグイン)などで完成を確認する。