ACFでOGP画像を記事ごとに設定する方法【WordPress初心者向け】

OGP(Open Graph Protocol)画像を記事ごとに設定することで、SNSでシェアされたときに見た目をぐっと引き立てることができます。
本記事では、**Advanced Custom Fields(ACF)**を使って、記事ごとにOGP画像を自由に設定する方法をわかりやすく解説します。
Contents
1. OGPとは?設定の重要性
OGPとは、SNSでリンクを共有したときに表示される「タイトル・説明・サムネイル画像」などの情報を制御する仕組みです。
特に画像(OGP画像)はクリック率に直結する重要要素です。
✅ 例えば、以下のような効果があります:
- SNSシェア時にアイキャッチ画像とは別の画像を設定可能
- ブランドイメージを統一できる
- 投稿内容に合わせて訴求力を高められる
🔗 関連記事:【初心者向け】構造化データ(schema.org)とは?
2. 事前準備:ACFプラグインの導入
まず、ACF(Advanced Custom Fields)をインストールして有効化しましょう。
手順:
- 管理画面 →「プラグイン」→「新規追加」
- 「Advanced Custom Fields」で検索
- インストール → 有効化
👉 詳しくは:WordPressでカスタムフィールドを使う方法(ACF入門)
3. フィールドグループの作成
- 管理画面 →「カスタムフィールド」→「新規追加」
- フィールドグループ名を「OGP設定」などにします
- 「画像」フィールドを追加し、下記のように設定します:
| 項目 | 設定内容 |
|---|---|
| フィールドラベル | OGP画像 |
| フィールド名 | ogp_image |
| フィールドタイプ | 画像 |
| 返り値の形式 | 画像URL |
| 表示する投稿タイプ | 投稿(post) |
設定後、「公開」ボタンをクリック。
4. 投稿画面でOGP画像を登録する
投稿編集画面に「OGP画像」フィールドが追加されているはずです。
各記事ごとに好きな画像を設定しましょう。
5. テーマファイルへのコード追加
次に、ACFで登録したOGP画像をmetaタグとして出力します。header.phpまたはfunctions.phpに以下を追記します。
<?php
// ACFで設定したOGP画像を出力
function my_custom_ogp_image() {
if (is_single()) {
$ogp_image = get_field('ogp_image'); // ACFのフィールド名
if ($ogp_image) {
echo '<meta property="og:image" content="' . esc_url($ogp_image) . '">' . "\n";
} else {
// OGP画像未設定時はアイキャッチ画像を使用
if (has_post_thumbnail()) {
$thumbnail = get_the_post_thumbnail_url(null, 'full');
echo '<meta property="og:image" content="' . esc_url($thumbnail) . '">' . "\n";
} else {
// デフォルトの画像
echo '<meta property="og:image" content="' . get_template_directory_uri() . '/img/common/default-ogp.jpg">' . "\n";
}
}
}
}
add_action('wp_head', 'my_custom_ogp_image');
?>💡 ポイント:
- 投稿にOGP画像を設定 → ACF画像を出力
- 未設定 → アイキャッチ画像を出力
- どちらもない → デフォルトOGP画像を出力
これで、SNSシェア時に記事ごとに異なるOGP画像が反映されます。
6. OGPが正しく反映されているか確認
FacebookやX(旧Twitter)に投稿する前に、OGPの内容をチェックしましょう。
🔍 チェッカーサイト:
👉 ここで設定したOGP画像が正しく表示されていれば成功です!
💡 7. よくあるトラブルと対処法
| トラブル | 原因 | 対処法 |
|---|---|---|
| OGP画像が更新されない | SNS側のキャッシュ | Debuggerで再取得 |
| 画像が表示されない | フィールド名のミス | get_field('ogp_image')の確認 |
| 一部記事だけ反映されない | 条件分岐の漏れ | is_single()を正しく指定 |
8. さらに便利な応用例
ACFを使えば、OGP画像以外にも以下のような設定が可能です👇
- OGPタイトル・OGP説明を個別設定
- Twitterカード用画像を別に指定
- Facebook専用のシェア画像を設定
🔗 関連記事:
まとめ:ACFで柔軟なOGP設定を実現しよう
| 内容 | 説明 |
|---|---|
| ACF導入 | カスタムフィールドを追加できる |
| OGPフィールド作成 | 記事ごとに画像を設定可能 |
| meta出力コード | wp_headフックで制御 |
| 確認方法 | Facebook Debugger・Twitter Validator |
ACFを使うことで、プラグインに頼らず記事ごとに自由なOGP画像設定が可能になります。
SNSシェア時の印象を高めて、あなたのブログをもっと魅力的に見せましょう!

