[Shopify]メタフィールドを使って各ページごとにシェアした時のサムネイル画像を指定する(Dawn)43/100
こんにちは。Shopify専門エンジニアのまりん(@crowd37cord)です。
最近メタフィールドを使用できる範囲が増えましたね♪メタフィールドを使って何かできないかなぁと思い、今回はページをシェアした時のシェア画像を指定できるようにしてみました。
各商品やブログ記事はSNSにシェアすると、個別のサムネが表示されますよね。ページはサムネを指定するところがないので、サイト全体のOGPが表示されてしまいます><
別ページなのにシェアすると同じサムネがズラっと並んでしまう。。。
なので、メタフィールドのページを使って画像指定してみることにしてみました♪
✔️今回のゴール
Facebookシェアした時
Twitterシェアした時
✔️設置方法
Step1 設定>メタフィールド>ページ
Step2 「定義を追加する」ボタンをクリック
Step3 メタフィールドの定義
ページの詳細を見てみると追加されました♪
あとはコードの編集をするだけです。
Step4 管理画面>テーマ>コード編集>Snipetts
スニペットのフォルダ内にある、meta-tags.liquidを開く
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' }}">
下記にメタフィールドのタグをコピペ
あとはサムネのサイズ指定しておきます。
<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 -%}
以上で完了です!
✔️コピペで簡単!フルコード
上記の内容で上手くいくと思いますが、念の為、フルコードご紹介しておきます。
コピペで上書きでご使用いただけますが、バックアップとっておくのをお勧めします。
ここから先は
2,278字
/
1画像
この記事が気に入ったらチップで応援してみませんか?