![見出し画像](https://assets.st-note.com/production/uploads/images/79277599/rectangle_large_type_2_1868abe5a21de28905c1af183da39db7.png?width=1200)
[Shopify]メタフィールドを使って各ページごとにシェアした時のサムネイル画像を指定する(Dawn)43/100
こんにちは。Shopify専門エンジニアのまりん(@crowd37cord)です。
最近メタフィールドを使用できる範囲が増えましたね♪メタフィールドを使って何かできないかなぁと思い、今回はページをシェアした時のシェア画像を指定できるようにしてみました。
各商品やブログ記事はSNSにシェアすると、個別のサムネが表示されますよね。ページはサムネを指定するところがないので、サイト全体のOGPが表示されてしまいます><
別ページなのにシェアすると同じサムネがズラっと並んでしまう。。。
なので、メタフィールドのページを使って画像指定してみることにしてみました♪
対象テーマ:Dawn
✔️今回のゴール
Facebookシェアした時
![](https://assets.st-note.com/img/1653605064509-Wv4QibzfZs.png?width=1200)
Twitterシェアした時
![](https://assets.st-note.com/img/1653605087235-jkYJhFd179.png?width=1200)
✔️設置方法
Step1 設定>メタフィールド>ページ
![](https://assets.st-note.com/img/1653605841293-MMeL5Y4g4v.png?width=1200)
Step2 「定義を追加する」ボタンをクリック
![](https://assets.st-note.com/img/1653605863253-7HXKMeLL8m.png)
Step3 メタフィールドの定義
![](https://assets.st-note.com/img/1653605937600-MirwQagubM.png?width=1200)
名前:なんでもOK
→今回はogpとしてみました
ネームスペースとキー:なんでもOK
→thumbnail.ogpとしてみました
コンテンツタイプ選択:ファイル
![](https://assets.st-note.com/img/1653606139136-qSwyzdP82e.png?width=1200)
画像のみにチェック
ページの詳細を見てみると追加されました♪
![](https://assets.st-note.com/img/1653606232634-3NrEzkmeND.png?width=1200)
![](https://assets.st-note.com/img/1653606277377-lHQG4OBz4v.png?width=1200)
あとはコードの編集をするだけです。
Step4 管理画面>テーマ>コード編集>Snipetts
スニペットのフォルダ内にある、meta-tags.liquidを開く
![](https://assets.st-note.com/img/1653605341639-2xYehMfYeY.png)
Step5 メタフィールドのタグを埋め込み
下記のメタタグと先ほど作成したメタフィールドを使います。
<meta property="og:image" content="http:{{ page.metafields.thumbnail.ogp | img_url: 'master' }}">
<meta property="og:image:secure_url" content="https:{{ page.metafields.thumbnail.ogp | img_url: 'master' }}">
下記にメタフィールドのタグをコピペ
{{ page.metafields.thumbnail.ogp | img_url: 'master' }}
→先ほど作ったメタフィールドのタグ「page.metafields.thumbnail.ogp」
あとはサムネのサイズ指定しておきます。
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
動画ではスキップしてましたが、下記のコードの後ろに
if request.page_type == 'product'
assign og_type = 'product'
elsif request.page_type == 'article'
assign og_type = 'article'
elsif request.page_type == 'collection'
assign og_type = 'product.group'
↓こちらを追加してます。
elsif request.page_type == 'page'assign
og_type = 'page'
{%- if page_image -%}{% else %}も追記しておきます。
{%- if page_image -%}
ここに上記のMeta4行を入れる
{% else %}
もとのMetaタグたち
{%- endif -%}
以上で完了です!
✔️コピペで簡単!フルコード
上記の内容で上手くいくと思いますが、念の為、フルコードご紹介しておきます。
【ご注意】
※返金&サポートはしておりません。
※動作確認はDawnテーマのみしています。他のテーマでも使用できると思いますが動かない場合もあるかもです。
※コードのみのご紹介で解説などはしておりません。
※2022.5.22時点のコードです。メンテナンスは今後する予定はありません。
コピペで上書きでご使用いただけますが、バックアップとっておくのをお勧めします。
ここから先は
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?