OGPを設定する必要があるけど、どうすればいいんだろう。HTMLとWordPressで違いそうだし、簡単に表示を確認できるツールとか無いかな。
こんな疑問に答えます。
OGP設定を覚えるのは至難の技で、私も毎回コピペしたりどこかのブログ記事を読んで設定をしていたりするので、今回は「HTML,WordPress両サイトを網羅したOGP設定方法」を解説します。
WordPressではプラグインで一番便利な「SEO SIMPLE PACK」を用いた場合、プラグインを用いない方法もそれぞれ解説します。
この記事を書いたのは
しょーご(@samurabrass)
当ブログ「しょーごログ」の運営者。2018年からWeb制作・フロントエンドエンジニアとして主にWordPressでのサイト制作やシステム開発のフロントエンドを担当。同時にブログとYouTubeで情報発信を行っている。駆け出しエンジニアのコーディング課題添削も行い、スクール講師を4年以上している経験を活かした分かりやすい記事制作を心がけている。
\現役エンジニアのレビュー付き/
実践レベルのコーディング課題公開中
- デザインカンプからのコーディングを経験したい
- 現役エンジニアのレビューを受けてみたい
- 即戦力級のポートフォリオを用意したい
2024年にデザインを完全リニューアルしています!
コーディングに自身をつけるにはプロからのレビューを貰うのが必須なため、制作会社も利用するレビューツールで添削をしています。
Web制作学習ロードマップにも取り入れているため、学習終了まで迷わず進むことが可能です。コーディングを本気で仕事したい方はぜひご活用ください!
\無料の入門編から本格企業サイトまで/
OGPとは何か?
OGP(Open Graph Protocol)は、SNSでシェアされる際に、タイトル・URL・説明文・イメージ画像等のシェア情報を伝えるための仕組みです。
例えば以下はFacebookにブログ記事をシェアした際のカード表示ですが、これはOGP設定のおかげです。
OGP画像の作成とおすすめサイズについて
OGP画像はCanvaでの作成がおすすめで、このブログの9割のサムネがCanva製です。
その時に、サイズを1200×630pxにすると、あらゆるメディアでいい感じに切り取られるようになります。
- サイズは1200×630px
- JPGまたはPNG
- 端に重要な要素を置かない(切り取られる)
サムネ画像は記事にそのまま使えるCanvaデザインテンプレ116選を用いるのがおすすめです。
私も最近はここの素材をそのまま改変してサムネを作っています。
サムネ画像作成の労力が1/4になってかなり楽になりました!
ここから具体的にOGP設定方法を解説します。
OGPの設定方法(HTMLの場合)
<!-- headタグの記述 -->
<head prefix="og: https://ogp.me/ns#">
<!-- ここからmetaタグの記述 -->
<meta property="og:url" content=" ページのURL" />
<meta property="og:type" content=" ページの種類" />
<meta property="og:title" content=" ページのタイトル" />
<meta property="og:description" content=" ページの説明文" />
<meta property="og:site_name" content="サイト名" />
<meta property="og:image" content=" サムネイル画像のURL" />
<!-- ここからTwitterカードの記述 -->
<meta name="twitter:card" content="Twitterカードの種類" />
<meta name="twitter:site" content="@Twitterユーザー名" />
<!-- ここからFacebookカードの記述 -->
<meta property="fb:app_id" content="FacebookアプリID" />
prefix | OGP利用宣言 |
og:url | ページのURL(各ページのURL) |
og:type | トップページなら『website』、トップページ以外なら『article』 |
og:title | ページのタイトル(各ページのタイトル) |
og:description | ページの概要(90字以内) |
og:site_name | サイト名(全ページ共通) |
og:image | 1200 × 630px(推奨)で絶対パスで記述 |
twitter:card | 『summary』か『summary_large_image』 |
twitter:site | サイト管理者のTwitterユーザー名(@exampleなど) |
fb:app_id | facebook用設定(idはMeta for Developersで取得) |
この中からかいつまんで解説します。
og:url,title,descriptionは各ページごとに設定する
めんどうかもしれませんが、これらは各ページごとに違うものになるはずなので、HTMLサイトに置いては各ページごとに設定は必要です。
og:typeはトップページとそれ以外で記述が違う
og:typeはトップページではwebsite、下層ではarticleに変更します。
もっと細かい話をすると、以下の分類に分かれており、私のブログはどのページもblogになっていますね…
website: WebサイトのTOPページ
blog: ブログのトップページ
article: 記事ページなど、WebサイトのTOP以外のページ
product: 製品の紹介ページ
og:imageは絶対パス
相対パスでは動かないので、サーバーに上げた状態の画像までの絶対パスが必要です。
例えば私のWordPressブログでは画像URLは以下のようになっています。
<meta property="og:image" content="https://shogo-log.com/wp-content/uploads/2021/02/f5640a2798f296c729d70ee9a4276f28.png">
HTMLサイトの場合は以下の感じ
<meta property="og:image" content="https://tokyofreelance.jp/simplelp/dist/images/ogp.png">
絶対パスが必要なので、HTMLサイトの場合、本番環境に上げるまで正確に設定できません。
WordPressの場合は動的に取得できるので、ローカルの段階で設定はできます。
twitter:cardはsummary_large_imageでOK
twitter:cardにはいくつか種類ありますが、『summary_large_image』で良いと思います。サムネ画像を大きく見せるタイプで、ほとんどの場合これを採択します。
<meta name="twitter:card" content="summary" />
<!-- もしくは -->
<meta name="twitter:card" content="summary_large_image" />
fb:app_idは申請必要あり
facebookのアプリID(app_id)は別途申請が必要です。
以下の記事で解説しています。
OGPの設定方法(WordPressプラグイン無しの場合)
WordPressの場合は動的に情報を取得してこれるので、まず値を取得して変数に格納し、各タグにechoさせて埋め込んでいます。
デフォルトの画像URLはサムネ画像が設定されていないときに出す画像で、設定してください。
<head prefix="og: http://ogp.me/ns#">
<?php
// ここからmetaタグの記述
$og_url = get_permalink(); // ページのURLを取得
$og_type = is_front_page() || is_home() ? 'website' : 'article'; // ページの種類を判定
$og_title = get_the_title(); // ページのタイトルを取得
$og_description = get_the_excerpt(); // ページの説明文を取得(要設定)
// アイキャッチ画像が設定されている場合はそのURLを取得
if (has_post_thumbnail()) {
$og_image_array = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large');
$og_image = $og_image_array[0];
} else {
$og_image = 'デフォルトの画像URL'; // アイキャッチがない場合のデフォルトの画像URL
}
$site_name = get_bloginfo('name'); // サイト名を取得
?>
<meta property="og:url" content="<?php echo esc_url($og_url); ?>" />
<meta property="og:type" content="<?php echo esc_attr($og_type); ?>" />
<meta property="og:title" content="<?php echo esc_attr($og_title); ?>" />
<meta property="og:description" content="<?php echo esc_attr($og_description); ?>" />
<meta property="og:site_name" content="<?php echo esc_attr($site_name); ?>" />
<meta property="og:image" content="<?php echo esc_url($og_image); ?>" />
<!-- ここからTwitterカードの記述 -->
<meta name="twitter:card" content="summary_large_image" /> <!-- 例: summary_large_image -->
<meta name="twitter:site" content="@Twitterユーザー名" />
<!-- ここからFacebookカードの記述 -->
<meta property="fb:app_id" content="FacebookアプリID" />
</head>
個人的にはプラグインを使ったほうが楽かなと思いますね。
OGPの設定方法(WordPressプラグインありの場合)
WordPressプラグインであれば、「SEO SIMPLE PACK」がおすすめです!!
設定方法は以下の記事で解説していますが、「SEO PACK→OGP」から簡単に設定できます。
OGP画像の確認方法(ツール使用)
OGPの確認はツールを使えばOKです。
「ラッコツールズ OGP確認」で各種SNSやメディアの検証ができます。
当たり前ですが、サーバーに上がってないと確認できません。
またBASIC認証などかかっているとクロールできないので、取得できません。
BASIC認証をかけている場合はどうするの?
これってBASIC認証をかけている場合は確認できないのかな?
本番環境で認証外してリリースしてから確認するしか方法が無いの?
確かに、認証下でOGPを確認することは通常できないですね。
ただ、拡張機能を使えば確認できるので、以下の記事を御覧ください。
OGP設定を適切に行なってSNSシェアしてもらおう!
今回は「HTML,WordPress両サイトを網羅したOGP設定方法」を解説しました。
ところで皆さん、実際にSNSでサイトがシェアされたときに知ることができていますか?
実はメンションがない、SNSの通知で知り得ない場所でシェアされていたりします。
YAHOOリアルタイム検索するとそれらが全て分かります。
個別の投稿を見てると、しっかりブログカードが機能しているのがわかりますね。
意図してかわかりませんが、結構お硬い系のサイトだと未設定のところが多いですが、本当にもったいないなと思いますね…
OGPと合わせて確認したい事項
Favicon確認
OGP同様に適当になりがちな部分ですが、適当ではいけません。きちんと設定しておきましょう。
HTML初心者からWordPress実案件レベルまでのコーディング演習課題を「専用ページ」にて公開しています。
- Figma,Photoshopデザインからのコーディング
- サーバーアップロードでサイト公開
- プロによる最大3回の表示確認特典
- レビュー返しは爆速
- 2024年にデザイン刷新!被らないポートフォリオ
「初級編」は初めてデザインからコーディングする方向け
「中級編」はJavaScriptやjQueryの練習
「上級編」はWordPressの実案件を模擬体験できるレベル感にしています。
中級者の方には高難易度課題を詰め合わせた「即戦力セット」も出しています。
全課題で「実務レベルの、プロの厳しいレビュー」を受けられるようにしています。
また、2024年には随時デザインの刷新をしており、完全リニューアル!!
他者と差をつけられるポートフォリオが準備できます!
制作会社も使用する専用レビューツールで分かりやすく添削していきます!
基本的に「まとめて購入」していただくとかなりお得になります↓
コーディングは書籍だけではなかなか実力がつかないので、実務レベルのレビューを受けて自身をつけたい人は是非挑戦してみてください!
\課題の購入はこちらから/
ご寄付を頂けると今後の更新の励みになります!