6日でできる 新HTML&CSS入門|SNS対応の基本

SNSでシェアされた瞬間の見え方まで、Webページの一部。
OGPを設定して、タイトル・説明・画像が伝わるリンクカードを作ろう。

Webサイトへのアクセスは、検索エンジンだけから生まれるものではありません。X、Facebook、LINE、チャットツールなどでページのURLが共有され、そこから多くの人に見てもらえることもあります。そのため、Webページを作るときは、ページを開いた後の見た目だけでなく、SNSでシェアされたときの見え方も意識することが大切です。

SNSでURLを共有すると、リンクだけでなく、ページタイトル、説明文、サムネイル画像などがカードのように表示されることがあります。この表示が分かりやすく魅力的であれば、ユーザーは内容を理解しやすくなり、クリックしてもらえる可能性も高まります。反対に、画像が表示されなかったり、説明文が不自然だったりすると、せっかく共有されても内容が伝わりにくくなります。

このSNSシェア時の見え方を整えるために使うのが、OGPです。OGPはOpen Graph Protocolの略で、ページのタイトル、種類、説明、URL、画像などをmetaタグで指定する仕組みです。Open Graph Protocolでは、og:title、og:type、og:image、og:urlなどの基本プロパティが定義されています。

この記事では、SNS対応の基本として、OGPの役割、主要なmetaタグ、og:imageの指定方法、X向けのTwitterカード用タグ、HTMLでの実装例、確認時の注意点まで、サンプルコードを使いながら分かりやすく解説していきます。

素材のダウンロード

以下のリンクから使用する素材をダウンロードできます。
※ウイルス対策ソフト ESET でチェックしておりますが、ダウンロードは自己責任でお願いします。

ogp_bread_class.png

SNS対応とは何か

SNS対応とは、WebページがSNSで共有されたときに、分かりやすく魅力的に表示されるように準備しておくことです。ページそのもののデザインとは別に、シェアされたときのタイトル、説明文、画像、URLの見え方を整えます。

たとえば、パン教室のページがSNSで共有されたときに、ただURLだけが表示されるよりも、「初心者向け手作りパン教室」「焼きたてパンの写真」「講座内容の短い説明」が表示されたほうが、どのようなページなのか伝わりやすくなります。

SNS対応で整えるもの役割
タイトルシェアされたページの内容を短く伝える
説明文ページの魅力や概要を補足する
画像視覚的に内容を伝え、目に留まりやすくする
URLどのページを共有しているかを示す
サイト名どのWebサイトのページかを伝える

SNS対応では、ユーザーがリンクを見た瞬間に「何のページか」「読む価値がありそうか」を判断できるようにすることが大切です。

図1:SNSシェア時の見え方を整える

この図から分かること

SNS対応では、ページが共有されたときに表示されるリンクカードの内容を整えます。OGPを設定すると、タイトル、説明文、画像、URLなどを指定でき、SNS上でページの内容が伝わりやすくなります。URLだけを表示するよりも、画像付きのカード表示にすることで印象が強くなります。

OGPとは何か

OGPは、Open Graph Protocolの略です。WebページをSNSなどで共有したときに、そのページをどのような情報として扱うかを伝えるための仕組みです。

OGPでは、HTMLのhead内にmetaタグを書きます。たとえば、og:titleではSNS上で表示したいタイトルを指定し、og:descriptionでは説明文を指定し、og:imageではサムネイル画像を指定します。

<meta property="og:title" content="ページのタイトル">
<meta property="og:description" content="ページの説明文">
<meta property="og:image" content="https://example.com/images/ogp-image.png">

OGPを設定しておくと、SNSやチャットツールがページ情報を読み取るときに、どのタイトルや画像を使えばよいか判断しやすくなります。

OGPの目的内容
ページ内容を伝えるタイトルや説明文を指定する
見た目を整えるシェア画像を指定する
URLを明確にする正規のページURLを指定する
サイト名を伝えるどのサイトのページかを示す

OGPは、SNSでの見栄えを整えるための基本設定です。ページごとに内容に合ったOGPを設定すると、共有されたときの印象がより良くなります。

OGPで使う主要プロパティ

OGPにはさまざまなプロパティがありますが、まずは基本となるものを押さえておきましょう。

プロパティ内容・用途
og:titleSNSで表示するページタイトル
og:typeページの種類。Webサイトならwebsite、記事ならarticleなど
og:descriptionページの説明文
og:urlページの正規URL
og:site_nameサイト名
og:imageSNSシェア時に表示する画像

Open Graph Protocolの基本メタデータでは、og:title、og:type、og:image、og:urlが主要なプロパティとして示されています。(Open Graph) 実際のWeb制作では、これに加えてog:descriptionやog:site_nameもよく使います。

OGPはページごとに内容を変えることが大切です。トップページ、記事ページ、商品ページ、イベントページでは、それぞれ伝えたい内容が違うため、タイトルや説明文、画像もページ内容に合わせて設定します。

og:titleはSNS上のタイトルを指定する

og:titleは、SNSでページが共有されたときに表示されるタイトルを指定します。titleタグと同じ内容にすることもありますが、SNSで見たときに分かりやすい表現に調整してもかまいません。

<meta property="og:title" content="週末に楽しむ手作りパン教室|ベーカリースクール大阪">

og:titleでは、ページの内容が短く伝わることが大切です。長すぎるタイトルは途中で省略される場合があるため、重要な言葉を前半に入れると分かりやすくなります。

og:titleで意識することポイント
ページ内容と一致させる実際の内容と違うタイトルにしない
重要な言葉を前半に置くSNS上で省略されても伝わりやすくする
不自然なキーワード羅列を避けるユーザーに読みやすい文にする
ページごとに変えるすべて同じタイトルにしない

SNSでは流し読みされることが多いため、og:titleは短く分かりやすく書くことが大切です。

og:descriptionはページの魅力を短く伝える

og:descriptionは、SNSカードに表示される説明文を指定します。ページの内容や魅力を短くまとめ、ユーザーがクリックする前に概要を理解できるようにします。

<meta property="og:description" content=
"初心者でも楽しく学べる大阪の手作りパン教室です。基本の生地作りから焼き上げまで、少人数で丁寧に学べます。">

descriptionは、長すぎると途中で切れることがあります。最初の1文でページの内容が伝わるように書くと、SNSでも分かりやすくなります。

og:descriptionで意識することポイント
内容を具体的に書く何のページか分かるようにする
魅力を短く伝える読む理由や参加する理由を示す
本文と一致させるページにない内容を書かない
自然な文章にする単語の羅列にしない

SNSでの説明文は、ページへの入口になる文章です。ユーザーが知りたい情報を想像しながら、短く丁寧に書きましょう。

og:imageはシェア時のサムネイル画像

og:imageは、SNSでページが共有されたときに表示される画像を指定します。SNS上では画像がとても目立つため、og:imageはクリックされるかどうかに関わる重要な要素です。

<meta property="og:image" content=
"https://bakery-osaka.example.com/images/ogp_bread_lesson.png">

og:imageには、ページ内容を分かりやすく表す画像を指定します。イベントページならイベントの雰囲気が分かる画像、商品ページなら商品写真、記事ページなら記事テーマを表す画像が向いています。

og:imageで意識することポイント
ページ内容と関係する画像にする共有されたときに内容が伝わる
文字を入れる場合は大きくする小さな画面でも読めるようにする
重要な情報を端に置きすぎないSNS側でトリミングされる場合に備える
絶対URLで指定するSNSが画像を取得しやすくする
ページごとに画像を変えるすべて同じ画像にしない

よく使われるOGP画像の目安として、横1200px、縦630px程度の画像が使われます。ページ内の表示画像と同じ画像を使うこともできますが、SNSカード用に文字や構図を調整した専用画像を用意すると、より伝わりやすくなります。

図2:OGP画像はSNSカードの印象を大きく左右する

この図から分かること

og:imageは、SNSで共有されたときに表示されるサムネイル画像です。画像があると、ページの内容や雰囲気が視覚的に伝わりやすくなります。SNS上では画像が大きく表示されることもあるため、ページの内容に合った分かりやすい画像を用意することが大切です。

og:urlとog:site_nameの役割

og:urlは、SNSで共有するページの正規URLを指定します。同じ内容のページに複数のURLがある場合でも、どのURLを代表として扱うかを示しやすくなります。

<meta property="og:url" content="https://bakery-osaka.example.com/lesson">

og:site_nameは、サイト名を指定するプロパティです。

<meta property="og:site_name" content="ベーカリースクール大阪">
プロパティ役割
og:urlページの正規URLを指定する
og:site_nameサイト名を指定する
og:typeページの種類を指定する

og:typeは、ページの種類を表します。サイト全体や固定ページならwebsite、記事ページならarticleを使うことがあります。ページの性質に合わせて指定するとよいでしょう。

OGP設定のサンプルHTML

ここでは、SNSでパン教室のページがシェアされたときに、タイトル、説明文、画像、URL、サイト名が表示されるようにOGPを設定します。

画像ファイルは、imagesフォルダーの中にogp_bread_class.pngとして保存している想定です。og:imageには、SNSが取得しやすいように絶対URLを指定します。

ファイル名: lesson47_1.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>週末の手作りパン教室 | ベーカリースクール大阪</title>

<meta property="og:title" content="週末の手作りパン教室 | ベーカリースクール大阪">
<meta property="og:type" content="website">
<meta property="og:description" content="初心者歓迎。大阪で開催する少人数制の手作りパン教室です。基本の生地作りから焼き上げまで、楽しく丁寧に学べます。">
<meta property="og:url" content="https://bakery-osaka.example.com/weekend-bread-class">
<meta property="og:site_name" content="ベーカリースクール大阪">
<meta property="og:image" content="https://bakery-osaka.example.com/images/ogp_bread_class.png">

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@bakery_osaka">

<style>
  body {
    font-family: sans-serif;
    margin: 36px;
    line-height: 1.7;
    color: #333333;
  }

  h1 {
    color: #b3702c;
    font-size: 2em;
  }

  .lead {
    background-color: #fff7ed;
    padding: 14px;
    border-left: 5px solid #d69a52;
  }

  img {
    width: 320px;
    max-width: 100%;
    margin-top: 14px;
    border-radius: 8px;
  }
</style>
</head>
<body>
  <h1>大阪で週末の手作りパン教室を開催中</h1>

  <p class="lead">焼きたてパンの香りを楽しみながら、初心者でも基本から学べる少人数制レッスンです。</p>

  <p>生地作り、発酵、成形、焼き上げまでを講師と一緒に体験できます。親子参加や友人同士での参加にもおすすめです。</p>

  <img src="images/ogp_bread_class.png" alt="焼きたてのパンが並ぶパン教室のイメージ">
</body>
</html>

ブラウザの表示例

ブラウザで表示すると、ページ本文には「大阪で週末の手作りパン教室を開催中」という見出し、教室の説明文、パン教室のイメージ画像が表示されます。

一方、head内のOGP設定は、ページ本文には直接表示されません。SNSやチャットツールがページURLを読み取ったときに、og:title、og:description、og:image、og:urlなどを参照し、リンクカードとして表示するために使われます。

このサンプルでは、本文に表示している画像とOGP画像を関連付けています。本文内のimgには相対パスを使っていますが、og:imageでは絶対URLを指定しています。SNSによっては相対パスの画像をうまく取得できない場合があるため、og:imageにはhttpsから始まる絶対URLを指定するのが基本です。

サンプルHTMLのOGPポイント

サンプルHTMLで設定しているOGPを整理すると、次のようになります。

設定役割
og:titleSNSカードに表示するタイトル
og:typeページの種類
og:descriptionSNSカードに表示する説明文
og:url共有対象となる正規URL
og:site_nameサイト名
og:imageSNSカードに表示する画像

OGPは、HTMLのhead内に記述します。body内に書いても、SNS側が正しく読み取れない場合があります。titleやdescriptionと同じように、ページ情報を伝えるmeta情報としてhead内にまとめて書きましょう。

Twitterカード用metaタグ

Xでは、Twitterカード用のmetaタグを追加することで、カード表示を調整できます。よく使われるのがtwitter:cardです。

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@your_account">

summary_large_imageを指定すると、大きな画像付きのカード表示を意識した設定になります。X向けにより細かく整えたい場合は、twitter:title、twitter:description、twitter:imageを追加することもあります。X Developer Communityでも、カード表示に関する話題ではsummary_large_imageが扱われています。

Twitterカード用meta役割
twitter:cardカードの種類を指定する
twitter:siteサイトや運営アカウントを指定する
twitter:titleX向けのタイトルを指定する
twitter:descriptionX向けの説明文を指定する
twitter:imageX向けの画像を指定する

OGPだけでも表示される場合がありますが、Xでの見え方を意識する場合は、Twitterカード用metaタグも追加しておくと調整しやすくなります。

図3:OGPとTwitterカードでSNS表示を整える

この図から分かること

SNS対応では、OGP用のmetaタグと、必要に応じてTwitterカード用のmetaタグをhead内に記述します。OGPではタイトル、説明文、画像、URLを指定し、X向けにはtwitter:cardなどを追加できます。metaタグを整えることで、SNSで共有されたときのリンクカードを分かりやすくできます。

titleとog:titleの違い

titleとog:titleは、どちらもページタイトルに関係しますが、主に使われる場面が違います。

タグ主な役割
titleブラウザタブや検索結果のタイトル候補として使われる
og:titleSNSで共有されたときのカードタイトルとして使われる

titleとog:titleは同じ内容にしても問題ありません。ただし、検索向けのtitleとSNS向けのog:titleで、少し表現を変えることもあります。

たとえば、titleでは「週末の手作りパン教室 | ベーカリースクール大阪」として、SNS向けのog:titleでは「初心者歓迎!週末の手作りパン教室」とするような調整が考えられます。どちらの場合も、ページ内容と一致していることが大切です。

descriptionとog:descriptionの違い

meta name="description"とog:descriptionも、どちらも説明文に関係します。

タグ主な役割
meta name="description"検索結果などでページ説明として使われることがある
og:descriptionSNSカードの説明文として使われる

検索向けのdescriptionとSNS向けのog:descriptionは、同じ文章でもよいです。ただし、SNSでは短い時間で読まれることが多いため、より分かりやすく魅力が伝わる表現にしてもよいでしょう。

大切なのは、ページ内容と違う説明を書かないことです。SNSでクリックしてもらうために誇張しすぎると、ページを開いたユーザーの期待と実際の内容がずれてしまいます。

og:imageは絶対URLで指定する

og:imageで指定する画像は、絶対URLにしておくのが基本です。

<meta property="og:image" content=
"https://bakery-osaka.example.com/images/ogp_bread_class.png">

本文中のimgでは、次のような相対パスも使えます。

<img src="images/ogp_bread_class.png" alt="焼きたてのパンが並ぶパン教室のイメージ">

しかし、SNS側がページを外部から読み取る場合、相対パスでは画像の場所を正しく判断できないことがあります。そのため、OGP画像にはhttpsから始まる絶対URLを指定しておくと安心です。

指定方法OGP画像での扱い
相対パスimages/ogp_bread_class.png本文画像では使いやすい
絶対URLhttps://example.com/images/ogp_bread_class.pngOGP画像で推奨される

OGP画像は、SNSカードの印象を決める大切な要素です。URL、サイズ、画像内容を確認してから公開しましょう。

OGP画像を作るときのポイント

SNSで表示される画像は、環境やSNSによってトリミングされる場合があります。そのため、重要な文字や人物、商品などを画像の端に置きすぎないことが大切です。

ポイント内容
画像の主役を中央付近に置くトリミングされても伝わりやすい
文字は大きくするスマートフォンでも読みやすい
ページ内容と一致させるクリック後の内容とずれないようにする
高解像度の画像を使うぼやけにくくする
各ページに合う画像を用意するどのページも同じ画像にしない

OGP画像は、Webページ内の装飾画像とは役割が少し違います。SNS上で単独で見られても、ページの内容が伝わる画像にすると効果的です。

SNS対応で使うタグと属性

SNS対応でよく使うタグや属性を整理しておきます。

タグ・属性解説・使い方
meta property="og:title"SNSカードのタイトルを指定する
meta property="og:type"ページの種類を指定する
meta property="og:description"SNSカードの説明文を指定する
meta property="og:url"ページの正規URLを指定する
meta property="og:site_name"サイト名を指定する
meta property="og:image"SNSカード用の画像を指定する
titleブラウザタブや検索結果向けのページタイトル
meta name="description"検索結果などに使われることがある説明文
meta name="twitter:card"X向けのカード種類を指定する
meta name="twitter:site"X向けのサイトアカウントを指定する
imgページ本文に画像を表示する
alt画像の代替テキストを指定する

OGPのmetaタグは、見た目としてページ上に表示されるものではありません。しかし、SNSに共有されたときの表示に関係するため、Webサイトの情報発信では重要な設定です。

ページごとにOGPを変えることが大切

SNS対応では、サイト全体で同じOGPを使い回すより、ページごとに内容を変えることが大切です。

たとえば、トップページ、パン教室ページ、料金ページ、お問い合わせページでは、それぞれ伝えたい内容が違います。すべて同じog:titleやog:imageにしてしまうと、SNSで共有されたときにどのページなのか分かりにくくなります。

ページOGP設定の考え方
トップページサイト全体の特徴を伝える
サービス紹介ページサービス内容やメリットを伝える
記事ページ記事タイトルと内容に合う画像を使う
イベントページ開催内容、日程、雰囲気が伝わる画像を使う
商品ページ商品名、特徴、商品画像を使う

ページごとにタイトル、説明文、画像を変えることで、SNSで共有されたときに内容が伝わりやすくなります。

SNS対応の確認方法

OGPを設定したら、実際にSNSや確認ツールで表示を確認することが大切です。metaタグを書いただけでは、画像が正しく取得されるか、説明文が意図どおり表示されるか分かりません。

確認することチェック内容
タイトルSNSカードで分かりやすく表示されるか
説明文長すぎず、内容が伝わるか
画像表示されるか、切れ方が不自然でないか
URL正しいページURLになっているか
サイト名意図したサイト名が表示されるか
キャッシュ変更後に古い表示が残っていないか

SNSでは、一度取得したOGP情報がキャッシュされることがあります。そのため、metaタグや画像を変更しても、すぐに反映されない場合があります。確認ツールを使って再取得したり、時間を置いて確認したりすることもあります。

SNS対応でよくある失敗

OGPを設定するときは、いくつかの失敗が起こりやすいです。代表的なものを確認しておきましょう。

よくある失敗原因対策
画像が表示されないog:imageのURLが相対パス、または画像にアクセスできない絶対URLで指定し、公開URLで画像を確認する
タイトルが古いSNS側にキャッシュが残っている確認ツールで再取得する
説明文が表示されないog:descriptionがない、または短すぎるページ内容に合う説明文を書く
画像が変な位置で切れる重要な情報が端にある中央付近に主役を配置する
全ページ同じカードになるOGPを共通設定のままにしているページごとにtitle、description、imageを変える

SNS対応では、設定しただけで安心せず、実際の表示を確認することが大切です。特にog:imageは表示の印象に大きく影響するため、画像のURLと見え方を必ず確認しましょう。

SNS対応を考えたHTML作成のポイント

SNS対応は、Webページの内容を外部に伝えるための準備です。ページ本文をしっかり作ることに加えて、head内のmetaタグでシェア時の情報を整えます。

まずは、titleとmeta descriptionでページの基本情報を整えます。次に、og:title、og:description、og:url、og:site_name、og:imageを設定します。Xでの表示も意識する場合は、twitter:cardやtwitter:siteなどを追加します。

特に大切なのは、ページ内容とOGP設定を一致させることです。SNSで表示されるタイトルや画像が魅力的でも、ページの内容とずれていると、ユーザーの信頼を失いやすくなります。

SNS対応は、検索エンジン対策とは別の入口を整える作業です。SNSでページが共有されたときに、どのように見えるかを意識しながら、タイトル、説明文、画像を丁寧に設定していきましょう。